
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void write_sections(Sized_relobj_file<64,_true> * this, Layout *
   layout, uchar * pshdrs, Output_file * of, Views * pviews) */

void __thiscall
gold::Sized_relobj_file<64,_true>::write_sections
          (Sized_relobj_file<64,_true> *this,Layout *layout,uchar *pshdrs,Output_file *of,
          Views *pviews)

{
  _Rb_tree_header *p_Var1;
  _Base_ptr *pp_Var2;
  int *piVar3;
  pointer puVar4;
  byte bVar5;
  Output_section *pOVar6;
  Compressed_section_map *pCVar7;
  _Base_ptr p_Var8;
  Input_file *pIVar9;
  Relocatable_relocs *pRVar10;
  Output_data *pOVar11;
  _func_int_varargs **pp_Var12;
  _func_int_varargs *p_Var13;
  uint64_t uVar14;
  pointer pRVar15;
  pointer pRVar16;
  undefined4 *******pppppppuVar17;
  General_options *pGVar18;
  uchar *puVar19;
  undefined4 uVar20;
  int iVar21;
  uint uVar22;
  _Base_ptr p_Var23;
  _Base_ptr p_Var24;
  int iVar25;
  uint uVar26;
  byte bVar27;
  char cVar28;
  int iVar29;
  undefined1 *puVar30;
  undefined1 *puVar31;
  undefined4 *puVar32;
  byte *pbVar33;
  undefined **ppuVar34;
  pointer pRVar35;
  bool bVar36;
  bool bVar37;
  bool bVar38;
  byte bVar39;
  ulong auStack_d0 [6];
  _Rb_tree_color a_Stack_b8 [2];
  uint uStack_b0;
  undefined1 auStack_ac [15];
  char local_9d;
  undefined4 ******local_9c;
  undefined4 local_98;
  uint local_94;
  undefined4 local_90;
  undefined4 ******local_8c;
  undefined4 local_88;
  undefined **local_84;
  uint local_80;
  uint local_7c;
  undefined4 ******local_78;
  Parameters **local_74;
  _Rb_tree_color local_70;
  uint local_6c;
  uint local_68;
  uint local_64;
  int local_60;
  uchar *local_5c;
  uchar *local_58;
  pointer local_54;
  _Rb_tree_color local_50;
  section_size_type len;
  Read_multiple rm;
  undefined4 ******local_34;
  uint local_30;
  undefined4 ******local_2c;
  uchar *local_28;
  
  bVar39 = 0;
  puVar32 = (undefined4 *)auStack_ac;
  local_84 = &_GLOBAL_OFFSET_TABLE_;
  rm.
  super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>
  ._M_impl._M_start = (pointer)0x0;
  local_70 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_;
  rm.
  super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>
  ._M_impl._M_finish = (pointer)0x0;
  rm.
  super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>
  ._M_impl._M_end_of_storage = (pointer)0x0;
  local_58 = pshdrs + 0x40;
  if (_S_black < local_70) {
    local_50 = _S_black;
    local_9d = '\x01';
    local_74 = &parameters;
    do {
      while( true ) {
        local_54 = (pviews->
                   super__Vector_base<gold::Sized_relobj_file<64,_true>::View_size,_std::allocator<gold::Sized_relobj_file<64,_true>::View_size>_>
                   )._M_impl._M_start + local_50;
        local_54->view = (uchar *)0x0;
        pOVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.
                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
                 _M_impl._M_start[local_50];
        if (pOVar6 != (Output_section *)0x0) break;
LAB_001574d0:
        local_50 = local_50 + _S_black;
        local_58 = local_58 + 0x40;
        if (local_50 == local_70) goto LAB_001574e4;
      }
      uVar22 = *(uint *)(local_58 + 4);
      uVar22 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18;
      if (uVar22 == 8) goto LAB_001574d0;
      pGVar18 = (*local_74)->options_;
      if (pGVar18 == (General_options *)0x0) {
        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;
        *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;
        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)puVar32 + -0x14) = 0x1579a3;
        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                            *(char **)((int)puVar32 + -8));
      }
      if (((((pGVar18->relocatable_).value == false) && ((pGVar18->emit_relocs_).value == false)) ||
          ((uVar22 != 4 && (uVar22 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {
        bVar5 = pOVar6->field_0x90;
        bVar27 = bVar5 >> 5;
        local_5c = (uchar *)(CONCAT31(local_5c._1_3_,bVar27) & 0xffffff01);
        if ((bVar27 & 1) == 0) {
          bVar27 = (pOVar6->super_Output_data).field_0x1c;
          if ((bVar27 & 4) == 0) {
            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;
            *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;
            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a99;
            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                                *(char **)((int)puVar32 + -8));
          }
          local_64 = (uint)(pOVar6->super_Output_data).offset_;
          local_60 = *(int *)((int)&(pOVar6->super_Output_data).offset_ + 4);
          if ((bVar27 & 2) == 0) goto LAB_001579e8;
          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;
          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);
        }
        else {
          local_64 = 0;
          local_60 = 0;
          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;
          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);
        }
        puVar4 = (this->super_Sized_relobj<64,_true>).section_offsets_.
                 super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                 ._M_impl._M_start + local_50;
        local_6c = (uint)*puVar4;
        local_68 = *(uint *)((int)puVar4 + 4);
        if ((local_68 & local_6c) == 0xffffffff) {
          local_88 = 0;
          local_8c = local_78;
          if (local_7c != 0) {
            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;
            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;
            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a3f;
            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                                *(char **)((int)puVar32 + -8));
          }
          if ((undefined4 *******)local_78 == (undefined4 *******)0x0) goto LAB_001574d0;
          pppppppuVar17 = (undefined4 *******)local_78;
          if ((char)local_5c != '\0') {
            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) goto LAB_00157b2c;
            local_54->view = pOVar6->postprocessing_buffer_ + local_64;
            if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;
            uVar14 = (pOVar6->super_Output_data).address_;
            *(undefined4 *)((int)&local_54->address + 4) =
                 *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);
            *(int *)&local_54->address = (int)uVar14;
            uVar22 = CONCAT31(local_5c._1_3_,bVar5 >> 5);
            pGVar18 = (*local_74)->options_;
            goto LAB_0015747d;
          }
          if (local_60 < 0) {
LAB_00157a06:
            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;
            *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;
            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a21;
            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                                *(char **)((int)puVar32 + -8));
          }
          local_6c = *(uint *)((int)&of->file_size_ + 4);
          iVar29 = local_60 + (uint)CARRY4((uint)local_78,local_64);
          uVar22 = (uint)(*(undefined1 **)&of->file_size_ < (undefined1 *)((int)local_78 + local_64)
                         );
          iVar21 = local_6c - iVar29;
          if ((SBORROW4(local_6c,iVar29) != SBORROW4(iVar21,uVar22)) != (int)(iVar21 - uVar22) < 0)
          goto LAB_00157a06;
          local_54->view = of->base_ + local_64;
          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;
          uVar20 = *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);
          *(int *)&local_54->address = (int)(pOVar6->super_Output_data).address_;
          *(undefined4 *)((int)&local_54->address + 4) = uVar20;
          *(int *)((int)&local_54->offset + 4) = local_60;
          *(uint *)&local_54->offset = local_64;
          local_54->view_size = (section_size_type)local_78;
          local_54->is_input_output_view = true;
          local_54->is_postprocessing_view = false;
        }
        else {
          uVar22 = *(uint *)(local_58 + 0x24);
          pppppppuVar17 =
               (undefined4 *******)
               (uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18)
          ;
          if (*(int *)(local_58 + 0x20) != 0) {
            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;
            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;
            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)puVar32 + -0x14) = 0x157988;
            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                                *(char **)((int)puVar32 + -8));
          }
          pCVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.
                   compressed_sections_;
          if (pCVar7 == (Compressed_section_map *)0x0) {
LAB_001577e0:
            local_80 = local_80 & 0xffffff00;
          }
          else {
            p_Var1 = &(pCVar7->_M_t)._M_impl.super__Rb_tree_header;
            p_Var8 = (pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;
            p_Var23 = &p_Var1->_M_header;
            if (p_Var8 == (_Base_ptr)0x0) goto LAB_001577e0;
            do {
              while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {
                pp_Var2 = &p_Var24->_M_right;
                p_Var8 = *pp_Var2;
                p_Var24 = p_Var23;
                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;
              }
              p_Var8 = p_Var24->_M_left;
              p_Var23 = p_Var24;
            } while (p_Var24->_M_left != (_Base_ptr)0x0);
LAB_00157368:
            local_80 = (uint)p_Var1 & 0xffffff00;
            if ((p_Var1 != (_Rb_tree_header *)p_Var24) &&
               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)) {
              local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);
              pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);
            }
          }
          if (pppppppuVar17 == (undefined4 *******)0x0) goto LAB_001574d0;
          local_9c = pppppppuVar17;
          local_98 = 0;
          uVar22 = local_68 + CARRY4(local_6c,(uint)pppppppuVar17);
          if (local_7c < uVar22 ||
              local_7c - uVar22 <
              (uint)(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17))) {
            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;
            *(undefined4 *)((int)puVar32 + -0xc) = 0x317;
            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)puVar32 + -0x14) = 0x157ab7;
            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                                *(char **)((int)puVar32 + -8));
          }
          bVar36 = CARRY4(local_64,local_6c);
          local_64 = local_64 + local_6c;
          local_60 = local_60 + local_68 + (uint)bVar36;
          if ((char)local_5c == '\0') {
            if ((local_60 < 0) ||
               (iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),
               iVar21 = *(int *)((int)&of->file_size_ + 4),
               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <
                              (undefined1 *)((int)pppppppuVar17 + local_64)),
               iVar29 = iVar21 - iVar25,
               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0))
            {
              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;
              *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;
              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
              *(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65;
              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                                  *(char **)((int)puVar32 + -8));
            }
            local_5c = of->base_ + local_64;
            if ((char)local_80 == '\0') goto LAB_001573e9;
LAB_0015772f:
            *(undefined4 *)((int)puVar32 + -4) = 0;
            *(section_size_type **)((int)puVar32 + -8) = &len;
            *(_Rb_tree_color *)((int)puVar32 + -0xc) = local_50;
            *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10) = this;
            *(undefined4 *)((int)puVar32 + -0x14) = 0x157743;
            puVar19 = Object::section_contents
                                (*(Object **)((int)puVar32 + -0x10),*(uint *)((int)puVar32 + -0xc),
                                 *(section_size_type **)((int)puVar32 + -8),
                                 *(bool *)((int)puVar32 + -4));
            local_78 = *(undefined4 *******)(local_58 + 8);
            uVar22 = *(uint *)(local_58 + 0xc);
            *(uint *)((int)puVar32 + -4) =
                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |
                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;
            *(uint *)((int)puVar32 + -8) =
                 uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18
            ;
            *(undefined4 *)((int)puVar32 + -0xc) = 1;
            *(undefined4 *)((int)puVar32 + -0x10) = 0x40;
            *(undefined4 ********)((int)puVar32 + -0x14) = pppppppuVar17;
            *(uchar **)((int)puVar32 + -0x18) = local_5c;
            *(section_size_type *)((int)puVar32 + -0x1c) = len;
            *(uchar **)((int)puVar32 + -0x20) = puVar19;
            *(undefined4 *)((int)puVar32 + -0x24) = 0x157773;
            bVar36 = decompress_input_section
                               (*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),
                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),
                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),
                                *(Elf_Xword *)((int)puVar32 + -8));
            puVar31 = (undefined1 *)puVar32;
            if (!bVar36) {
              pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object
              ;
              *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;
              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;
              *(undefined4 ********)((int)puVar32 + -0x10) = &local_34;
              p_Var13 = pp_Var12[0x10];
              *(undefined4 *)((int)puVar32 + -0x14) = 0x157793;
              (*p_Var13)();
              local_78 = local_34;
              *(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2;
              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8;
              uVar20 = gettext();
              *(undefined4 *******)((int)puVar32 + -0xc) = local_78;
              *(undefined4 *)((int)puVar32 + -0x10) = uVar20;
              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this;
                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */
              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb;
              Object::error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));
              puVar31 = (undefined1 *)((int)puVar32 + -4);
              if ((undefined4 *******)local_34 == &local_2c) goto LAB_0015743e;
              puVar30 = (undefined1 *)((int)puVar32 + -0x14);
              *(undefined4 *******)((int)puVar32 + -0x14) = local_34;
              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8;
              operator_delete(*(void **)((int)puVar32 + -0x14));
              goto LAB_0015743b;
            }
          }
          else {
            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) {
LAB_00157b2c:
              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;
              *(undefined4 *)((int)puVar32 + -0xc) = 0xe34;
              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;
              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                                  *(char **)((int)puVar32 + -8));
            }
            local_5c = pOVar6->postprocessing_buffer_ + local_64;
            if ((char)local_80 != '\0') goto LAB_0015772f;
LAB_001573e9:
            uVar22 = *(uint *)(local_58 + 0x18);
            uVar26 = *(uint *)(local_58 + 0x1c);
            local_30 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |
                       uVar22 << 0x18;
            local_78 = (undefined4 ******)
                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |
                       uVar26 << 0x18);
            if (rm.
                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>
                ._M_impl._M_finish !=
                rm.
                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>
                ._M_impl._M_start) {
              piVar3 = (int *)((int)&rm.
                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>
                                     ._M_impl._M_finish[-1].file_offset + 4);
              uVar22 = (uint)(local_78 <
                             *(undefined4 ********)
                              &rm.
                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>
                               ._M_impl._M_finish[-1].file_offset);
              iVar21 = local_30 - *piVar3;
              cVar28 = (char)local_80;
              if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==
                  (int)(iVar21 - uVar22) < 0) {
                cVar28 = local_9d;
              }
              local_9d = cVar28;
            }
            local_2c = pppppppuVar17;
            local_28 = local_5c;
            *(undefined4 ********)((int)puVar32 + -0xc) = &local_34;
            puVar30 = (undefined1 *)((int)puVar32 + -0x10);
            *(Read_multiple **)((int)puVar32 + -0x10) = &rm;
            local_34 = local_78;
                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */
            *(undefined4 *)((int)puVar32 + -0x14) = 0x15743b;
            std::
            vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>
            ::emplace_back<gold::File_read::Read_multiple_entry>
                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>
                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));
LAB_0015743b:
            puVar31 = puVar30 + 0x10;
          }
LAB_0015743e:
          local_54->view = local_5c;
          puVar32 = (undefined4 *)puVar31;
          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) {
LAB_0015794c:
            ppuVar34 = local_84;
            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;
            *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;
            *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)puVar32 + -0x14) = 0x15796a;
            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                                *(char **)((int)puVar32 + -8));
          }
          uVar26 = (uint)(pOVar6->super_Output_data).address_;
          iVar21 = *(int *)((int)&(pOVar6->super_Output_data).address_ + 4);
          pGVar18 = (*local_74)->options_;
          uVar22 = CONCAT31(local_5c._1_3_,(byte)pOVar6->field_0x90 >> 5);
          *(uint *)&local_54->address = uVar26 + local_6c;
          *(uint *)((int)&local_54->address + 4) = iVar21 + local_68 + (uint)CARRY4(uVar26,local_6c)
          ;
LAB_0015747d:
          local_5c = (uchar *)(uVar22 & 0xffffff01);
          *(uint *)&local_54->offset = local_64;
          *(int *)((int)&local_54->offset + 4) = local_60;
          local_54->view_size = (section_size_type)pppppppuVar17;
          local_54->is_input_output_view = (local_6c & local_68) == 0xffffffff;
          local_54->is_postprocessing_view = (bool)(char)local_5c;
          if (pGVar18 == (General_options *)0x0) {
            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;
            *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;
            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)((int)puVar32 + -0x14) = 0x1579be;
            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                                *(char **)((int)puVar32 + -8));
          }
        }
        bVar37 = false;
        bVar36 = (bool)(((pGVar18->relocatable_).value ^ 1U) & &DAT_00000008 < pppppppuVar17);
        bVar38 = bVar36 == false;
        if (!bVar38) {
          iVar21 = 0xc;
          pbVar33 = (byte *)pOVar6->name_;
          ppuVar34 = local_84 + -0x41295;
          do {
            if (iVar21 == 0) break;
            iVar21 = iVar21 + -1;
            bVar37 = *pbVar33 < *(byte *)ppuVar34;
            bVar38 = *pbVar33 == *(byte *)ppuVar34;
            pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;
            ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);
          } while (bVar38);
          bVar36 = false;
          bVar37 = (!bVar37 && !bVar38) == bVar37;
          if (!bVar37) {
            iVar21 = 0xc;
            pbVar33 = (byte *)pOVar6->name_;
            ppuVar34 = local_84 + -0x41292;
            do {
              if (iVar21 == 0) break;
              iVar21 = iVar21 + -1;
              bVar36 = *pbVar33 < *(byte *)ppuVar34;
              bVar37 = *pbVar33 == *(byte *)ppuVar34;
              pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;
              ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);
            } while (bVar37);
            if ((!bVar36 && !bVar37) != bVar36) {
              bVar36 = false;
              goto LAB_001574ca;
            }
          }
          *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;
          *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;
          *(Layout **)((int)puVar32 + -0x10) = layout;
                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */
          *(undefined4 *)((int)puVar32 + -0x14) = 0x1578cc;
          bVar36 = Layout::is_ctors_in_init_array
                             (*(Layout **)((int)puVar32 + -0x10),*(Relobj **)((int)puVar32 + -0xc),
                              *(uint *)((int)puVar32 + -8));
        }
LAB_001574ca:
        local_54->is_ctors_reverse_view = bVar36;
        goto LAB_001574d0;
      }
      if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= local_50) {
        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e04d;
        *(undefined4 *)((int)puVar32 + -0xc) = 0x549;
        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x10efe6;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)puVar32 + -0x14) = 0x1579dc;
        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                            *(char **)((int)puVar32 + -8));
      }
      pRVar10 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->
                super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>
                )._M_impl._M_start[local_50];
      if (pRVar10 == (Relocatable_relocs *)0x0) {
        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;
        *(undefined4 *)((int)puVar32 + -0xc) = 0x2ce;
        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a7b;
        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                            *(char **)((int)puVar32 + -8));
      }
      pOVar11 = pRVar10->posd_;
      if (pOVar11 == (Output_data *)0x0) {
        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;
        *(undefined4 *)((int)puVar32 + -0xc) = 0x2d0;
        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a5d;
        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                            *(char **)((int)puVar32 + -8));
      }
      bVar5 = pOVar11->field_0x1c;
      if ((bVar5 & 4) == 0) {
        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;
        *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;
        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)puVar32 + -0x14) = 0x157b2c;
        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                            *(char **)((int)puVar32 + -8));
      }
      uVar22 = (uint)pOVar11->offset_;
      iVar21 = *(int *)((int)&pOVar11->offset_ + 4);
      *(uint *)&local_54->offset = uVar22;
      *(int *)((int)&local_54->offset + 4) = iVar21;
      if ((bVar5 & 2) == 0) {
        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;
        *(undefined4 *)((int)puVar32 + -0xc) = 0xcf;
        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)puVar32 + -0x14) = 0x157b0e;
        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                            *(char **)((int)puVar32 + -8));
      }
      uVar26 = (uint)pOVar11->data_size_;
      local_54->view_size = uVar26;
      if (iVar21 < 0) {
LAB_00157ad5:
        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;
        *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;
        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)puVar32 + -0x14) = 0x157af0;
        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                            *(char **)((int)puVar32 + -8));
      }
      local_94 = uVar26;
      local_90 = 0;
      local_60 = iVar21 + (uint)CARRY4(uVar26,uVar22);
      local_64 = uVar26 + uVar22;
      local_6c = *(uint *)((int)&of->file_size_ + 4);
      uVar26 = (uint)((uint)of->file_size_ < uVar26 + uVar22);
      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar26)) !=
          (int)((local_6c - local_60) - uVar26) < 0) goto LAB_00157ad5;
      local_54->view = of->base_ + uVar22;
      if ((bVar5 & 1) == 0) {
        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;
        *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;
        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)puVar32 + -0x14) = 0x157ad5;
        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                            *(char **)((int)puVar32 + -8));
      }
      uVar14 = pOVar11->address_;
      local_50 = local_50 + _S_black;
      *(undefined4 *)((int)&local_54->address + 4) = *(undefined4 *)((int)&pOVar11->address_ + 4);
      *(int *)&local_54->address = (int)uVar14;
      local_54->is_input_output_view = false;
      local_54->is_postprocessing_view = false;
      local_54->is_ctors_reverse_view = false;
      local_58 = local_58 + 0x40;
    } while (local_50 != local_70);
LAB_001574e4:
    pRVar16 = rm.
              super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>
              ._M_impl._M_finish;
    pRVar15 = rm.
              super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>
              ._M_impl._M_start;
    if (rm.
        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>
        ._M_impl._M_finish !=
        rm.
        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>
        ._M_impl._M_start) {
      if (local_9d == '\0') {
        puVar32[-1] = 0;
        uVar26 = (int)pRVar16 - (int)pRVar15 >> 4;
        uVar22 = 0x1f;
        if (uVar26 != 0) {
          for (; uVar26 >> uVar22 == 0; uVar22 = uVar22 - 1) {
          }
        }
        puVar32[-2] = (0x1f - (uVar22 ^ 0x1f)) * 2;
        puVar32[-3] = pRVar16;
        puVar32[-4] = pRVar15;
        puVar32[-5] = 0x1578f6;
        std::
        __introsort_loop<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>
                  ();
        if ((int)pRVar16 - (int)pRVar15 < 0x101) {
          puVar32[-2] = 0;
          puVar32[-3] = pRVar16;
          puVar32[-4] = pRVar15;
          puVar32[-5] = 0x157944;
          std::
          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>
                    ();
        }
        else {
          pRVar35 = pRVar15 + 0x10;
          puVar32[-2] = 0;
          puVar32[-3] = pRVar35;
          puVar32[-4] = pRVar15;
          puVar32[-5] = 0x157913;
          std::
          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>
                    ();
          for (; pRVar16 != pRVar35; pRVar35 = pRVar35 + 1) {
            puVar32[-3] = 0;
            puVar32[-4] = pRVar35;
            puVar32[-5] = 0x15792c;
            std::
            __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Read_multiple_compare>_>
                      ();
          }
        }
      }
      pIVar9 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;
      if (pIVar9 == (Input_file *)0x0) {
        puVar32[-1] = 0x1579e1;
        Object::input_file((Object *)*puVar32);
LAB_001579e8:
        ppuVar34 = local_84;
        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;
        *(undefined4 *)((int)puVar32 + -0xc) = 0xcf;
        *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a06;
        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),
                            *(char **)((int)puVar32 + -8));
      }
      puVar32[-1] = &rm;
      puVar32[-2] = *(undefined4 *)
                     ((int)&(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_ +
                     4);
      puVar32[-3] = (int)(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_;
      puVar32[-4] = &pIVar9->file_;
      puVar32[-5] = 0x157522;
      File_read::read_multiple
                ((File_read *)puVar32[-4],*(off_t *)(puVar32 + -3),(Read_multiple *)puVar32[-1]);
    }
    if (rm.
        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>
        ._M_impl._M_start != (pointer)0x0) {
      puVar32[-4] = rm.
                    super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>
                    ._M_impl._M_start;
      puVar32[-5] = 0x157538;
      operator_delete((void *)puVar32[-4]);
    }
  }
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void FUN_001571d0(int *param_1,undefined4 param_2,int param_3,int param_4,int *param_5)

{
  uint *puVar1;
  int iVar2;
  code *pcVar3;
  byte bVar4;
  char cVar5;
  undefined4 *****pppppuVar6;
  undefined4 uVar7;
  int iVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  byte bVar13;
  int iVar14;
  undefined1 *puVar15;
  undefined1 *puVar16;
  undefined1 *puVar17;
  byte *pbVar18;
  undefined **ppuVar19;
  int iVar20;
  bool bVar21;
  bool bVar22;
  bool bVar23;
  byte bVar24;
  uint auStack_d0 [9];
  undefined1 auStack_ac [15];
  char local_9d;
  undefined4 ****local_9c;
  undefined4 local_98;
  uint local_94;
  undefined4 local_90;
  undefined4 ****local_8c;
  undefined4 local_88;
  undefined **local_84;
  uint local_80;
  uint local_7c;
  undefined4 ****local_78;
  int *local_74;
  uint local_70;
  uint local_6c;
  uint local_68;
  uint local_64;
  uint local_60;
  uint local_5c;
  int local_58;
  uint *local_54;
  uint local_50;
  undefined4 local_44;
  int local_40;
  int local_3c;
  undefined4 local_38;
  undefined4 ****local_34;
  uint local_30;
  undefined4 ****local_2c;
  uint local_28;
  
  bVar24 = 0;
  local_84 = &__DT_PLTGOT;
  puVar17 = auStack_ac;
  local_40 = 0;
  local_70 = param_1[10];
  local_58 = param_3 + 0x40;
  local_3c = 0;
  local_38 = 0;
  if (1 < local_70) {
    local_74 = &DAT_0038f378;
    local_50 = 1;
    local_9d = '\x01';
    do {
      while( true ) {
        local_54 = (uint *)(local_50 * 0x1c + *param_5);
        *local_54 = 0;
        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);
        if (iVar2 != 0) break;
LAB_001574d0:
        local_50 = local_50 + 1;
        local_58 = local_58 + 0x40;
        if (local_50 == local_70) goto LAB_001574e4;
      }
      uVar9 = *(uint *)(local_58 + 4);
      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;
      if (uVar9 == 8) goto LAB_001574d0;
      iVar8 = *(int *)(*local_74 + 8);
      if (iVar8 == 0) {
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;
        *(undefined4 *)(puVar17 + -0xc) = 0x5c;
        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;
        FUN_00069d00();
      }
      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||
          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {
        bVar4 = *(byte *)(iVar2 + 0x90);
        bVar13 = bVar4 >> 5;
        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;
        if ((bVar13 & 1) == 0) {
          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {
            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;
            *(undefined4 *)(puVar17 + -0xc) = 0xe3;
            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;
            FUN_00069d00();
          }
          local_64 = *(uint *)(iVar2 + 0x14);
          local_60 = *(uint *)(iVar2 + 0x18);
          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;
          local_78 = *(undefined4 *****)(iVar2 + 0xc);
          local_7c = *(uint *)(iVar2 + 0x10);
        }
        else {
          local_78 = *(undefined4 *****)(iVar2 + 0xc);
          local_7c = *(uint *)(iVar2 + 0x10);
          local_64 = 0;
          local_60 = 0;
        }
        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);
        local_6c = *puVar1;
        local_68 = puVar1[1];
        if ((local_68 & local_6c) == 0xffffffff) {
          local_8c = local_78;
          local_88 = 0;
          if (local_7c != 0) {
            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;
            *(undefined4 *)(puVar17 + -0xc) = 0xc0;
            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;
            FUN_00069d00();
          }
          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;
          pppppuVar6 = (undefined4 *****)local_78;
          if ((char)local_5c != '\0') {
            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;
            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;
            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;
            uVar9 = *(uint *)(iVar2 + 4);
            local_54[2] = *(uint *)(iVar2 + 8);
            local_54[1] = uVar9;
            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);
            iVar8 = *(int *)(*local_74 + 8);
            goto LAB_0015747d;
          }
          if (((int)local_60 < 0) ||
             (local_6c = *(uint *)(param_4 + 0xc),
             iVar14 = local_60 + CARRY4((uint)local_78,local_64),
             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)
                           ), iVar20 = local_6c - iVar14,
             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {
            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;
            *(undefined4 *)(puVar17 + -0xc) = 0x6f;
            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;
            FUN_00069d00();
          }
          *local_54 = local_64 + *(int *)(param_4 + 0x10);
          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;
          uVar9 = *(uint *)(iVar2 + 8);
          local_54[1] = *(uint *)(iVar2 + 4);
          local_54[2] = uVar9;
          local_54[4] = local_60;
          local_54[3] = local_64;
          local_54[5] = (uint)local_78;
          *(undefined2 *)(local_54 + 6) = 1;
        }
        else {
          uVar9 = *(uint *)(local_58 + 0x24);
          pppppuVar6 = (undefined4 *****)
                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                       uVar9 << 0x18);
          if (*(int *)(local_58 + 0x20) != 0) {
            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;
            *(undefined4 *)(puVar17 + -0xc) = 0xc0;
            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x157988;
            FUN_00069d00();
          }
          iVar8 = param_1[0xd];
          if (iVar8 == 0) {
LAB_001577e0:
            local_80 = local_80 & 0xffffff00;
          }
          else {
            uVar9 = iVar8 + 4;
            uVar12 = *(uint *)(iVar8 + 8);
            uVar10 = uVar9;
            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;
            do {
              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {
                puVar1 = (uint *)(uVar11 + 0xc);
                uVar12 = *puVar1;
                uVar11 = uVar10;
                if (*puVar1 == 0) goto LAB_00157368;
              }
              uVar12 = *(uint *)(uVar11 + 8);
              uVar10 = uVar11;
            } while (*(uint *)(uVar11 + 8) != 0);
LAB_00157368:
            local_80 = uVar9 & 0xffffff00;
            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {
              local_80 = CONCAT31((int3)(uVar9 >> 8),1);
              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);
            }
          }
          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;
          local_98 = 0;
          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);
          local_9c = pppppuVar6;
          if (local_7c < uVar9 ||
              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))
          {
            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;
            *(undefined4 *)(puVar17 + -0xc) = 0x317;
            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;
            FUN_00069d00();
          }
          bVar21 = CARRY4(local_64,local_6c);
          local_64 = local_64 + local_6c;
          local_60 = local_60 + local_68 + (uint)bVar21;
          if ((char)local_5c == '\0') {
            if (((int)local_60 < 0) ||
               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),
               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <
                             (undefined1 *)((int)pppppuVar6 + local_64)),
               iVar8 = *(int *)(param_4 + 0xc) - iVar20,
               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=
               (int)(iVar8 - uVar9) < 0)) {
              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;
              *(undefined4 *)(puVar17 + -0xc) = 0x6f;
              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;
              FUN_00069d00();
            }
            local_5c = local_64 + *(int *)(param_4 + 0x10);
            if ((char)local_80 == '\0') goto LAB_001573e9;
LAB_0015772f:
            *(undefined4 *)(puVar17 + -4) = 0;
            *(undefined4 **)(puVar17 + -8) = &local_44;
            *(uint *)(puVar17 + -0xc) = local_50;
            *(int **)(puVar17 + -0x10) = param_1;
            *(undefined4 *)(puVar17 + -0x14) = 0x157743;
            uVar7 = FUN_000b19a0();
            local_78 = *(undefined4 *****)(local_58 + 8);
            uVar9 = *(uint *)(local_58 + 0xc);
            *(uint *)(puVar17 + -4) =
                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |
                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;
            *(uint *)(puVar17 + -8) =
                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;
            *(undefined4 *)(puVar17 + -0xc) = 1;
            *(undefined4 *)(puVar17 + -0x10) = 0x40;
            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;
            *(uint *)(puVar17 + -0x18) = local_5c;
            *(undefined4 *)(puVar17 + -0x1c) = local_44;
            *(undefined4 *)(puVar17 + -0x20) = uVar7;
            *(undefined4 *)(puVar17 + -0x24) = 0x157773;
            cVar5 = FUN_0019ee80();
            puVar16 = puVar17;
            if (cVar5 == '\0') {
              iVar8 = *param_1;
              *(uint *)(puVar17 + -8) = local_50;
              *(int **)(puVar17 + -0xc) = param_1;
              *(undefined4 ******)(puVar17 + -0x10) = &local_34;
              pcVar3 = *(code **)(iVar8 + 0x40);
              *(undefined4 *)(puVar17 + -0x14) = 0x157793;
              (*pcVar3)();
              local_78 = local_34;
              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;
              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;
              uVar7 = gettext();
              *(undefined4 *****)(puVar17 + -0xc) = local_78;
              *(undefined4 *)(puVar17 + -0x10) = uVar7;
              *(int **)(puVar17 + -0x14) = param_1;
                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */
              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;
              FUN_000b1840();
              puVar16 = puVar17 + -4;
              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;
              puVar15 = puVar17 + -0x14;
              *(undefined4 *****)(puVar17 + -0x14) = local_34;
              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;
              FUN_001e6db0();
              goto LAB_0015743b;
            }
          }
          else {
            if (*(int *)(iVar2 + 0x8c) == 0) {
LAB_00157b2c:
              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;
              *(undefined4 *)(puVar17 + -0xc) = 0xe34;
              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;
              FUN_00069d00();
            }
            local_5c = *(int *)(iVar2 + 0x8c) + local_64;
            if ((char)local_80 != '\0') goto LAB_0015772f;
LAB_001573e9:
            uVar9 = *(uint *)(local_58 + 0x18);
            uVar12 = *(uint *)(local_58 + 0x1c);
            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                       uVar9 << 0x18;
            local_78 = (undefined4 ****)
                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |
                       uVar12 << 0x18);
            cVar5 = local_9d;
            if ((local_3c != local_40) &&
               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),
               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,
               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==
               (int)(iVar8 - uVar9) < 0)) {
              cVar5 = local_9d;
            }
            local_9d = cVar5;
            local_28 = local_5c;
            *(undefined4 ******)(puVar17 + -0xc) = &local_34;
            puVar15 = puVar17 + -0x10;
            *(int **)(puVar17 + -0x10) = &local_40;
                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */
            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;
            local_34 = local_78;
            local_2c = pppppuVar6;
            FUN_0014ebe0();
LAB_0015743b:
            puVar16 = puVar15 + 0x10;
          }
LAB_0015743e:
          *local_54 = local_5c;
          puVar17 = puVar16;
          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {
LAB_0015794c:
            ppuVar19 = local_84;
            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;
            *(undefined4 *)(puVar17 + -0xc) = 0xc5;
            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;
            FUN_00069d00();
          }
          uVar12 = *(uint *)(iVar2 + 4);
          iVar20 = *(int *)(iVar2 + 8);
          iVar8 = *(int *)(*local_74 + 8);
          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);
          local_54[1] = uVar12 + local_6c;
          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);
LAB_0015747d:
          local_5c = uVar9 & 0xffffff01;
          local_54[3] = local_64;
          local_54[4] = local_60;
          local_54[5] = (uint)pppppuVar6;
          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;
          *(char *)((int)local_54 + 0x19) = (char)local_5c;
          if (iVar8 == 0) {
            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;
            *(undefined4 *)(puVar17 + -0xc) = 0x5c;
            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;
            FUN_00069d00();
          }
        }
        bVar21 = false;
        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;
        bVar23 = bVar4 == 0;
        if (!bVar23) {
          iVar8 = 0xc;
          pbVar18 = *(byte **)(iVar2 + 0x20);
          ppuVar19 = local_84 + -0x41295;
          do {
            if (iVar8 == 0) break;
            iVar8 = iVar8 + -1;
            bVar21 = *pbVar18 < *(byte *)ppuVar19;
            bVar23 = *pbVar18 == *(byte *)ppuVar19;
            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;
            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);
          } while (bVar23);
          bVar22 = false;
          bVar21 = (!bVar21 && !bVar23) == bVar21;
          if (!bVar21) {
            iVar8 = 0xc;
            pbVar18 = *(byte **)(iVar2 + 0x20);
            ppuVar19 = local_84 + -0x41292;
            do {
              if (iVar8 == 0) break;
              iVar8 = iVar8 + -1;
              bVar22 = *pbVar18 < *(byte *)ppuVar19;
              bVar21 = *pbVar18 == *(byte *)ppuVar19;
              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;
              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);
            } while (bVar21);
            if ((!bVar22 && !bVar21) != bVar22) {
              bVar4 = 0;
              goto LAB_001574ca;
            }
          }
          *(uint *)(puVar17 + -8) = local_50;
          *(int **)(puVar17 + -0xc) = param_1;
          *(undefined4 *)(puVar17 + -0x10) = param_2;
                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */
          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;
          bVar4 = FUN_0009e8a0();
        }
LAB_001574ca:
        *(byte *)((int)local_54 + 0x1a) = bVar4;
        goto LAB_001574d0;
      }
      if ((uint)param_1[10] <= local_50) {
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;
        *(undefined4 *)(puVar17 + -0xc) = 0x549;
        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;
        FUN_00069d00();
      }
      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);
      if (iVar2 == 0) {
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;
        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;
        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;
        FUN_00069d00();
      }
      iVar2 = *(int *)(iVar2 + 0x10);
      if (iVar2 == 0) {
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;
        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;
        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;
        FUN_00069d00();
      }
      bVar4 = *(byte *)(iVar2 + 0x1c);
      if ((bVar4 & 4) == 0) {
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;
        *(undefined4 *)(puVar17 + -0xc) = 0xe3;
        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;
        FUN_00069d00();
      }
      uVar9 = *(uint *)(iVar2 + 0x14);
      uVar12 = *(uint *)(iVar2 + 0x18);
      local_54[3] = uVar9;
      local_54[4] = uVar12;
      if ((bVar4 & 2) == 0) {
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;
        *(undefined4 *)(puVar17 + -0xc) = 0xcf;
        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;
        FUN_00069d00();
      }
      uVar10 = *(uint *)(iVar2 + 0xc);
      local_54[5] = uVar10;
      if ((int)uVar12 < 0) {
LAB_00157ad5:
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;
        *(undefined4 *)(puVar17 + -0xc) = 0x6f;
        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;
        FUN_00069d00();
      }
      local_90 = 0;
      local_64 = uVar10 + uVar9;
      local_60 = uVar12 + CARRY4(uVar10,uVar9);
      local_6c = *(uint *)(param_4 + 0xc);
      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);
      local_94 = uVar10;
      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=
          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;
      *local_54 = *(int *)(param_4 + 0x10) + uVar9;
      if ((bVar4 & 1) == 0) {
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;
        *(undefined4 *)(puVar17 + -0xc) = 0xc5;
        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;
        FUN_00069d00();
      }
      uVar9 = *(uint *)(iVar2 + 4);
      local_50 = local_50 + 1;
      local_54[2] = *(uint *)(iVar2 + 8);
      local_54[1] = uVar9;
      *(undefined2 *)(local_54 + 6) = 0;
      *(undefined1 *)((int)local_54 + 0x1a) = 0;
      local_58 = local_58 + 0x40;
    } while (local_50 != local_70);
LAB_001574e4:
    iVar8 = local_3c;
    iVar2 = local_40;
    if (local_3c != local_40) {
      if (local_9d == '\0') {
        *(undefined4 *)(puVar17 + -4) = 0;
        uVar12 = iVar8 - iVar2 >> 4;
        uVar9 = 0x1f;
        if (uVar12 != 0) {
          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {
          }
        }
        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;
        *(int *)(puVar17 + -0xc) = iVar8;
        *(int *)(puVar17 + -0x10) = iVar2;
        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;
        FUN_00156f90();
        if (iVar8 - iVar2 < 0x101) {
          *(undefined4 *)(puVar17 + -8) = 0;
          *(int *)(puVar17 + -0xc) = iVar8;
          *(int *)(puVar17 + -0x10) = iVar2;
          *(undefined4 *)(puVar17 + -0x14) = 0x157944;
          FUN_00156d20();
        }
        else {
          iVar20 = iVar2 + 0x100;
          *(undefined4 *)(puVar17 + -8) = 0;
          *(int *)(puVar17 + -0xc) = iVar20;
          *(int *)(puVar17 + -0x10) = iVar2;
          *(undefined4 *)(puVar17 + -0x14) = 0x157913;
          FUN_00156d20();
          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {
            *(undefined4 *)(puVar17 + -0xc) = 0;
            *(int *)(puVar17 + -0x10) = iVar20;
            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;
            FUN_00156ca0();
          }
        }
      }
      iVar2 = param_1[7];
      if (iVar2 == 0) {
        *(undefined4 *)(puVar17 + -4) = 0x1579e1;
        FUN_00146790();
LAB_001579e8:
        ppuVar19 = local_84;
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;
        *(undefined4 *)(puVar17 + -0xc) = 0xcf;
        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;
        FUN_00069d00();
      }
      *(int **)(puVar17 + -4) = &local_40;
      *(int *)(puVar17 + -8) = param_1[9];
      *(int *)(puVar17 + -0xc) = param_1[8];
      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;
      *(undefined4 *)(puVar17 + -0x14) = 0x157522;
      FUN_00067070();
    }
    if (local_40 != 0) {
      *(int *)(puVar17 + -0x10) = local_40;
      *(undefined4 *)(puVar17 + -0x14) = 0x157538;
      FUN_001e6db0();
    }
  }
  return;
}


CALL 0x000559e6
ADD EAX,0x237e2b
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x9c
MOV ESI,dword ptr [EBP + 0x8]
MOV EDI,dword ptr [EBP + 0x10]
MOV dword ptr [EBP + -0x80],EAX
MOV dword ptr [EBP + -0x3c],0x0
MOV ESI,dword ptr [ESI + 0x28]
ADD EDI,0x40
MOV dword ptr [EBP + -0x38],0x0
MOV dword ptr [EBP + -0x34],0x0
MOV dword ptr [EBP + -0x6c],ESI
MOV dword ptr [EBP + -0x54],EDI
CMP ESI,0x1
JBE 0x0015753b
LEA EAX,[EAX + 0x378]
MOV dword ptr [EBP + -0x4c],0x1
MOV byte ptr [EBP + 0xffffff67],0x1
MOV dword ptr [EBP + -0x70],EAX
MOV EDI,dword ptr [EBP + -0x4c]
MOV ESI,dword ptr [EBP + 0x18]
IMUL EAX,EDI,0x1c
ADD EAX,dword ptr [ESI]
LEA ECX,[EDI*0x4 + 0x0]
MOV dword ptr [EBP + -0x50],EAX
MOV dword ptr [EAX],0x0
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x38]
MOV ESI,dword ptr [EAX + EDI*0x4]
TEST ESI,ESI
JZ 0x001574d0
MOV EAX,dword ptr [EBP + -0x54]
MOV EDX,dword ptr [EAX + 0x4]
BSWAP EDX
CMP EDX,0x8
JZ 0x001574d0
MOV EAX,dword ptr [EBP + -0x70]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x00157988
CMP byte ptr [EAX + 0x318d],0x0
JNZ 0x0015728f
CMP byte ptr [EAX + 0x3095],0x0
JZ 0x001572a1
CMP EDX,0x4
JZ 0x00157548
CMP EDX,0x9
JZ 0x00157548
MOVZX EDX,byte ptr [ESI + 0x90]
MOV EBX,EDX
SHR BL,0x5
AND EBX,0x1
MOV byte ptr [EBP + -0x58],BL
JNZ 0x00157650
MOVZX EDI,byte ptr [ESI + 0x1c]
TEST EDI,0x4
JZ 0x00157a7b
MOV ECX,dword ptr [ESI + 0x14]
MOV EBX,dword ptr [ESI + 0x18]
AND EDI,0x2
MOV dword ptr [EBP + -0x60],ECX
MOV dword ptr [EBP + -0x5c],EBX
JZ 0x001579e8
MOV EBX,dword ptr [ESI + 0xc]
MOV EDI,dword ptr [ESI + 0x10]
MOV dword ptr [EBP + -0x74],EBX
MOV dword ptr [EBP + -0x78],EDI
MOV EBX,dword ptr [EBP + 0x8]
MOV ECX,dword ptr [EBX + 0x84]
MOV EBX,dword ptr [EBP + -0x4c]
LEA EBX,[ECX + EBX*0x8]
MOV ECX,dword ptr [EBX]
MOV EBX,dword ptr [EBX + 0x4]
MOV EDI,EBX
MOV dword ptr [EBP + -0x68],ECX
AND EDI,ECX
MOV dword ptr [EBP + -0x64],EBX
CMP EDI,-0x1
JZ 0x00157670
MOV EBX,dword ptr [EBP + -0x54]
MOV EAX,dword ptr [EBX + 0x24]
MOV EBX,dword ptr [EBX + 0x20]
BSWAP EAX
MOV EDI,EAX
TEST EBX,EBX
JNZ 0x0015796a
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x34]
TEST EAX,EAX
JZ 0x001577e0
LEA ECX,[EAX + 0x4]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x001577e0
MOV EDX,ECX
MOVZX EBX,byte ptr [EBP + -0x58]
MOV dword ptr [EBP + -0x7c],ECX
JMP 0x00157359
MOV EDX,EAX
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x00157368
MOV ECX,dword ptr [EBP + -0x4c]
CMP ECX,dword ptr [EAX + 0x10]
JBE 0x00157350
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JNZ 0x00157359
MOV ECX,dword ptr [EBP + -0x7c]
MOV EAX,dword ptr [EBP + -0x4c]
MOV byte ptr [EBP + -0x58],BL
MOV byte ptr [EBP + -0x7c],0x0
CMP ECX,EDX
JZ 0x00157385
CMP EAX,dword ptr [EDX + 0x10]
JC 0x00157385
MOV byte ptr [EBP + -0x7c],0x1
MOV EDI,dword ptr [EDX + 0x14]
TEST EDI,EDI
JZ 0x001574d0
MOV ECX,dword ptr [EBP + -0x68]
MOV EBX,dword ptr [EBP + -0x64]
XOR EDX,EDX
MOV dword ptr [EBP + 0xffffff68],EDI
MOV EAX,dword ptr [EBP + -0x78]
MOV dword ptr [EBP + 0xffffff6c],EDX
ADD ECX,EDI
ADC EBX,EDX
CMP dword ptr [EBP + -0x74],ECX
SBB EAX,EBX
JC 0x00157a99
MOV ECX,dword ptr [EBP + -0x68]
MOV EBX,dword ptr [EBP + -0x64]
ADD dword ptr [EBP + -0x60],ECX
ADC dword ptr [EBP + -0x5c],EBX
CMP byte ptr [EBP + -0x58],0x0
JZ 0x001576f0
MOV EAX,dword ptr [ESI + 0x8c]
TEST EAX,EAX
JZ 0x00157b2c
MOVZX EBX,byte ptr [EBP + -0x7c]
ADD EAX,dword ptr [EBP + -0x60]
MOV dword ptr [EBP + -0x58],EAX
TEST BL,BL
JNZ 0x0015772f
MOV EDX,dword ptr [EBP + -0x54]
MOV ECX,dword ptr [EBP + -0x38]
MOV EAX,dword ptr [EDX + 0x18]
MOV EDX,dword ptr [EDX + 0x1c]
BSWAP EAX
BSWAP EDX
MOV dword ptr [EBP + -0x74],EDX
CMP ECX,dword ptr [EBP + -0x3c]
JZ 0x00157419
CMP EDX,dword ptr [ECX + -0x10]
MOV EDX,EAX
SBB EDX,dword ptr [ECX + -0xc]
MOVZX EDX,byte ptr [EBP + 0xffffff67]
CMOVGE EBX,EDX
MOV byte ptr [EBP + 0xffffff67],BL
MOV dword ptr [EBP + -0x2c],EAX
MOV EAX,dword ptr [EBP + -0x58]
SUB ESP,0x8
MOV EBX,dword ptr [EBP + -0x74]
MOV dword ptr [EBP + -0x28],EDI
MOV dword ptr [EBP + -0x24],EAX
LEA EAX,[EBP + -0x30]
PUSH EAX
LEA EAX,[EBP + -0x3c]
PUSH EAX
MOV dword ptr [EBP + -0x30],EBX
CALL 0x0014ebe0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x50]
MOV EDX,dword ptr [EBP + -0x58]
MOV dword ptr [EAX],EDX
TEST byte ptr [ESI + 0x1c],0x1
JZ 0x0015794c
MOVZX EDX,byte ptr [ESI + 0x90]
MOV EAX,dword ptr [EBP + -0x70]
MOV ECX,dword ptr [ESI + 0x4]
MOV EBX,dword ptr [ESI + 0x8]
SHR DL,0x5
MOV EAX,dword ptr [EAX]
AND EDX,0x1
ADD ECX,dword ptr [EBP + -0x68]
ADC EBX,dword ptr [EBP + -0x64]
MOV EAX,dword ptr [EAX + 0x8]
MOV byte ptr [EBP + -0x58],DL
MOV EDX,dword ptr [EBP + -0x50]
MOV dword ptr [EDX + 0x4],ECX
MOV dword ptr [EDX + 0x8],EBX
MOV EDX,dword ptr [EBP + -0x50]
MOV ECX,dword ptr [EBP + -0x60]
MOV EBX,dword ptr [EBP + -0x5c]
MOV dword ptr [EDX + 0xc],ECX
MOV ECX,dword ptr [EBP + -0x68]
MOV dword ptr [EDX + 0x10],EBX
MOV EBX,dword ptr [EBP + -0x64]
MOV dword ptr [EDX + 0x14],EDI
MOV EDX,ECX
AND EDX,EBX
MOVZX EBX,byte ptr [EBP + -0x58]
CMP EDX,-0x1
MOV EDX,dword ptr [EBP + -0x50]
SETZ byte ptr [EDX + 0x18]
MOV byte ptr [EDX + 0x19],BL
TEST EAX,EAX
JZ 0x001579a3
MOVZX EAX,byte ptr [EAX + 0x318d]
XOR EAX,0x1
CMP EDI,0x8
SETA DL
AND AL,DL
JNZ 0x001577f0
MOV ESI,dword ptr [EBP + -0x50]
MOV byte ptr [ESI + 0x1a],AL
ADD dword ptr [EBP + -0x4c],0x1
MOV EAX,dword ptr [EBP + -0x4c]
ADD dword ptr [EBP + -0x54],0x40
CMP EAX,dword ptr [EBP + -0x6c]
JNZ 0x00157230
MOV ESI,dword ptr [EBP + -0x38]
MOV EBX,dword ptr [EBP + -0x3c]
CMP ESI,EBX
JZ 0x00157528
CMP byte ptr [EBP + 0xffffff67],0x0
JZ 0x001578d4
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x1c]
TEST EAX,EAX
JZ 0x001579dc
MOV ESI,dword ptr [EBP + 0x8]
LEA EDX,[EBP + -0x3c]
ADD EAX,0x1c
MOV EBX,dword ptr [EBP + -0x80]
PUSH EDX
PUSH dword ptr [ESI + 0x24]
PUSH dword ptr [ESI + 0x20]
PUSH EAX
CALL 0x00067070
MOV EBX,dword ptr [EBP + -0x3c]
ADD ESP,0x10
TEST EBX,EBX
JZ 0x0015753b
SUB ESP,0xc
PUSH EBX
MOV EBX,dword ptr [EBP + -0x80]
CALL 0x001e6db0
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDI,dword ptr [EBP + -0x54]
MOV EDX,dword ptr [EDI + 0xc]
BSWAP EDX
AND EDX,0x2
JNZ 0x001572a1
MOV EAX,dword ptr [EBP + 0x8]
MOV ESI,dword ptr [EBP + -0x4c]
CMP ESI,dword ptr [EAX + 0x28]
JNC 0x001579be
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x44]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + ECX*0x1]
TEST EAX,EAX
JZ 0x00157a5d
MOV EAX,dword ptr [EAX + 0x10]
TEST EAX,EAX
JZ 0x00157a3f
MOVZX EDX,byte ptr [EAX + 0x1c]
TEST DL,0x4
JZ 0x00157b0e
MOV ESI,dword ptr [EAX + 0x14]
MOV EDI,dword ptr [EAX + 0x18]
MOV EBX,dword ptr [EBP + -0x50]
MOV dword ptr [EBX + 0xc],ESI
MOV dword ptr [EBX + 0x10],EDI
TEST DL,0x2
JZ 0x00157af0
MOV ECX,dword ptr [EAX + 0xc]
MOV EBX,dword ptr [EBP + -0x50]
MOV dword ptr [EBX + 0x14],ECX
TEST EDI,EDI
JS 0x00157ad5
MOV dword ptr [EBP + 0xffffff70],ECX
MOV ECX,dword ptr [EBP + 0xffffff70]
MOV dword ptr [EBP + 0xffffff74],0x0
MOV EBX,dword ptr [EBP + 0xffffff74]
ADD ECX,ESI
ADC EBX,EDI
MOV dword ptr [EBP + -0x60],ECX
MOV ECX,dword ptr [EBP + 0x14]
MOV dword ptr [EBP + -0x5c],EBX
MOV EBX,dword ptr [EBP + 0x14]
MOV EBX,dword ptr [EBX + 0xc]
MOV dword ptr [EBP + -0x68],EBX
MOV EBX,dword ptr [EBP + -0x60]
CMP dword ptr [ECX + 0x8],EBX
MOV EBX,dword ptr [EBP + -0x68]
SBB EBX,dword ptr [EBP + -0x5c]
JL 0x00157ad5
MOV EBX,dword ptr [EBP + 0x14]
MOV ECX,dword ptr [EBX + 0x10]
ADD ECX,ESI
MOV ESI,dword ptr [EBP + -0x50]
AND EDX,0x1
MOV dword ptr [ESI],ECX
JZ 0x00157ab7
MOV EDX,dword ptr [EAX + 0x8]
MOV ESI,dword ptr [EBP + -0x50]
XOR EDI,EDI
MOV EAX,dword ptr [EAX + 0x4]
ADD dword ptr [EBP + -0x4c],0x1
MOV dword ptr [ESI + 0x8],EDX
MOV dword ptr [ESI + 0x4],EAX
MOV EAX,dword ptr [EBP + -0x4c]
MOV word ptr [ESI + 0x18],DI
MOV byte ptr [ESI + 0x1a],0x0
ADD dword ptr [EBP + -0x54],0x40
CMP EAX,dword ptr [EBP + -0x6c]
JNZ 0x00157230
JMP 0x001574e4
MOV EBX,dword ptr [ESI + 0xc]
MOV EDI,dword ptr [ESI + 0x10]
MOV dword ptr [EBP + -0x60],0x0
MOV dword ptr [EBP + -0x5c],0x0
MOV dword ptr [EBP + -0x74],EBX
MOV dword ptr [EBP + -0x78],EDI
JMP 0x001572ea
MOV EDI,dword ptr [EBP + -0x74]
MOV EBX,dword ptr [EBP + -0x78]
MOV dword ptr [EBP + 0xffffff7c],0x0
MOV ECX,EDI
MOV dword ptr [EBP + 0xffffff78],EDI
XOR ECX,EDI
OR EBX,ECX
JNZ 0x00157a21
TEST EDI,EDI
JZ 0x001574d0
CMP byte ptr [EBP + -0x58],0x0
JZ 0x00157838
MOV EAX,dword ptr [ESI + 0x8c]
TEST EAX,EAX
JZ 0x00157b2c
MOV EBX,dword ptr [EBP + -0x50]
ADD EAX,dword ptr [EBP + -0x60]
MOV dword ptr [EBX],EAX
TEST byte ptr [ESI + 0x1c],0x1
JZ 0x0015794c
MOV EBX,dword ptr [ESI + 0x8]
MOV EAX,dword ptr [EBP + -0x50]
SHR DL,0x5
MOV ECX,dword ptr [ESI + 0x4]
MOV dword ptr [EAX + 0x8],EBX
MOV EBX,EDX
MOV dword ptr [EAX + 0x4],ECX
MOV EAX,dword ptr [EBP + -0x70]
AND EBX,0x1
MOV byte ptr [EBP + -0x58],BL
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
JMP 0x0015747d
MOV EBX,dword ptr [EBP + -0x5c]
MOV ECX,dword ptr [EBP + -0x60]
TEST EBX,EBX
JS 0x00157b4a
MOV EAX,EDI
XOR EDX,EDX
ADD EAX,ECX
ADC EDX,EBX
MOV EBX,dword ptr [EBP + 0x14]
MOV ECX,dword ptr [EBX + 0xc]
CMP dword ptr [EBX + 0x8],EAX
SBB ECX,EDX
JL 0x00157b4a
MOV EDX,dword ptr [EBP + 0x14]
MOVZX EBX,byte ptr [EBP + -0x7c]
MOV EAX,dword ptr [EBP + -0x60]
ADD EAX,dword ptr [EDX + 0x10]
MOV dword ptr [EBP + -0x58],EAX
TEST BL,BL
JZ 0x001573e9
LEA EAX,[EBP + -0x40]
PUSH 0x0
MOV EBX,dword ptr [EBP + -0x80]
PUSH EAX
PUSH dword ptr [EBP + -0x4c]
PUSH dword ptr [EBP + 0x8]
CALL 0x000b19a0
MOV ECX,dword ptr [EBP + -0x54]
ADD ESP,0x10
MOV EBX,dword ptr [ECX + 0x8]
MOV ECX,dword ptr [ECX + 0xc]
MOV EDX,ECX
MOV dword ptr [EBP + -0x74],EBX
MOV EBX,dword ptr [EBP + -0x80]
BSWAP EDX
MOV ECX,EDX
MOV EDX,dword ptr [EBP + -0x74]
BSWAP EDX
PUSH EDX
PUSH ECX
PUSH 0x1
PUSH 0x40
PUSH EDI
PUSH dword ptr [EBP + -0x58]
PUSH dword ptr [EBP + -0x40]
PUSH EAX
CALL 0x0019ee80
ADD ESP,0x20
TEST AL,AL
JNZ 0x0015743e
MOV EAX,dword ptr [EBP + 0x8]
SUB ESP,0x4
LEA EDX,[EBP + -0x30]
MOV EAX,dword ptr [EAX]
PUSH dword ptr [EBP + -0x4c]
PUSH dword ptr [EBP + 0x8]
PUSH EDX
CALL dword ptr [EAX + 0x40]
MOV EBX,dword ptr [EBP + -0x80]
MOV EDX,dword ptr [EBP + -0x30]
LEA EAX,[EBX + 0xffefd178]
MOV dword ptr [EBP + -0x74],EDX
PUSH EAX
CALL 0x000293b0
MOV EDX,dword ptr [EBP + -0x74]
ADD ESP,0xc
MOV EBX,dword ptr [EBP + -0x80]
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0x8]
CALL 0x000b1840
MOV EAX,dword ptr [EBP + -0x30]
LEA EDX,[EBP + -0x28]
ADD ESP,0x10
CMP EAX,EDX
JZ 0x0015743e
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x80]
PUSH EAX
CALL 0x001e6db0
JMP 0x0015743b
MOV byte ptr [EBP + -0x7c],0x0
JMP 0x00157385
MOV EDX,dword ptr [ESI + 0x20]
MOV EBX,dword ptr [EBP + -0x80]
MOV ECX,0xc
LEA EDI,[EBX + 0xffefb5ac]
MOV ESI,EDX
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x001578b8
MOV ECX,0xc
LEA EDI,[EBX + 0xffefb5b8]
MOV ESI,EDX
CMPSB.REPE ES:EDI,ESI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x001578b8
XOR EAX,EAX
JMP 0x001574ca
MOV ECX,dword ptr [EBP + -0x5c]
TEST ECX,ECX
JS 0x00157a06
MOV EDX,dword ptr [EBP + 0x14]
MOV ECX,dword ptr [EBP + 0xffffff78]
MOV EBX,dword ptr [EBP + 0xffffff7c]
ADD ECX,dword ptr [EBP + -0x60]
MOV EDX,dword ptr [EDX + 0xc]
ADC EBX,dword ptr [EBP + -0x5c]
MOV dword ptr [EBP + -0x68],EDX
MOV EDX,dword ptr [EBP + 0x14]
CMP dword ptr [EDX + 0x8],ECX
MOV EDX,dword ptr [EBP + -0x68]
SBB EDX,EBX
JL 0x00157a06
MOV EBX,dword ptr [EBP + 0x14]
MOV EDX,dword ptr [EBP + -0x60]
ADD EDX,dword ptr [EBX + 0x10]
MOV EBX,dword ptr [EBP + -0x50]
MOV dword ptr [EBX],EDX
TEST byte ptr [ESI + 0x1c],0x1
JZ 0x0015794c
MOV ECX,dword ptr [ESI + 0x4]
MOV EBX,dword ptr [ESI + 0x8]
MOV EDX,dword ptr [EBP + -0x50]
MOV dword ptr [EDX + 0x4],ECX
MOV ECX,dword ptr [EBP + -0x5c]
MOV dword ptr [EDX + 0x8],EBX
MOV EBX,EDX
MOV EDX,dword ptr [EBP + -0x60]
MOV dword ptr [EBX + 0x10],ECX
MOV dword ptr [EBX + 0xc],EDX
MOV EDX,0x1
MOV dword ptr [EBX + 0x14],EDI
MOV word ptr [EBX + 0x18],DX
JMP 0x001574b2
SUB ESP,0x4
PUSH dword ptr [EBP + -0x4c]
MOV EBX,dword ptr [EBP + -0x80]
PUSH dword ptr [EBP + 0x8]
PUSH dword ptr [EBP + 0xc]
CALL 0x0009e8a0
ADD ESP,0x10
JMP 0x001574ca
MOV EDI,ESI
MOV EAX,0x1f
PUSH 0x0
SUB EDI,EBX
MOV EDX,EDI
SAR EDX,0x4
BSR EDX,EDX
XOR EDX,0x1f
SUB EAX,EDX
ADD EAX,EAX
PUSH EAX
PUSH ESI
PUSH EBX
CALL 0x00156f90
ADD ESP,0x10
CMP EDI,0x100
JLE 0x00157938
SUB ESP,0x4
LEA EDI,[EBX + 0x100]
PUSH 0x0
PUSH EDI
PUSH EBX
CALL 0x00156d20
ADD ESP,0x10
CMP ESI,EDI
JZ 0x001574fb
SUB ESP,0x8
PUSH 0x0
PUSH EDI
ADD EDI,0x10
CALL 0x00156ca0
ADD ESP,0x10
CMP ESI,EDI
JNZ 0x0015791e
JMP 0x001574fb
SUB ESP,0x4
PUSH 0x0
PUSH ESI
PUSH EBX
CALL 0x00156d20
ADD ESP,0x10
JMP 0x001574fb
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07db4]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0xc5
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07d84]
PUSH EAX
LEA EAX,[EBX + 0xffef8419]
PUSH 0xc0
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07fd8]
PUSH EAX
LEA EAX,[EBX + 0xffef8210]
PUSH 0x5c
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07fd8]
PUSH EAX
LEA EAX,[EBX + 0xffef8210]
PUSH 0x5c
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07ecc]
PUSH EAX
LEA EAX,[EBX + 0xffef101a]
PUSH 0x549
PUSH EAX
CALL 0x00069d00
CALL 0x00146790
LEA ESI,[ESI]
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07df4]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0xcf
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07dbc]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0x6f
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07d84]
PUSH EAX
LEA EAX,[EBX + 0xffef8419]
PUSH 0xc0
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07d74]
PUSH EAX
LEA EAX,[EBX + 0xfff07407]
PUSH 0x2d0
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07d74]
PUSH EAX
LEA EAX,[EBX + 0xfff07407]
PUSH 0x2ce
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07e00]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0xe3
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07d74]
PUSH EAX
LEA EAX,[EBX + 0xfff07407]
PUSH 0x317
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07db4]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0xc5
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07dbc]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0x6f
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07df4]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0xcf
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07e00]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0xe3
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07dcc]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0xe34
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + -0x80]
SUB ESP,0x4
LEA EAX,[EBX + 0xfff07dbc]
PUSH EAX
LEA EAX,[EBX + 0xffef8eac]
PUSH 0x6f
PUSH EAX
CALL 0x00069d00
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_001571d0(int *param_1,undefined4 param_2,int param_3,int param_4,int *param_5)\n\n{\n  uint *puVar1;\n  int iVar2;\n  code *pcVar3;\n  byte bVar4;\n  char cVar5;\n  undefined4 *****pppppuVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  byte bVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  byte *pbVar18;\n  undefined **ppuVar19;\n  int iVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  byte bVar24;\n  uint auStack_d0 [9];\n  undefined1 auStack_ac [15];\n  char local_9d;\n  undefined4 ****local_9c;\n  undefined4 local_98;\n  uint local_94;\n  undefined4 local_90;\n  undefined4 ****local_8c;\n  undefined4 local_88;\n  undefined **local_84;\n  uint local_80;\n  uint local_7c;\n  undefined4 ****local_78;\n  int *local_74;\n  uint local_70;\n  uint local_6c;\n  uint local_68;\n  uint local_64;\n  uint local_60;\n  uint local_5c;\n  int local_58;\n  uint *local_54;\n  uint local_50;\n  undefined4 local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 ****local_34;\n  uint local_30;\n  undefined4 ****local_2c;\n  uint local_28;\n  \n  bVar24 = 0;\n  local_84 = &__DT_PLTGOT;\n  puVar17 = auStack_ac;\n  local_40 = 0;\n  local_70 = param_1[10];\n  local_58 = param_3 + 0x40;\n  local_3c = 0;\n  local_38 = 0;\n  if (1 < local_70) {\n    local_74 = &DAT_0038f378;\n    local_50 = 1;\n    local_9d = '\x01';\n    do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    iVar8 = local_3c;\n    iVar2 = local_40;\n    if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }\n    if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_001571d0(int *param_1,undefined4 param_2,int param_3,int param_4,int *param_5)\n\n{\n  uint *puVar1;\n  int iVar2;\n  code *pcVar3;\n  byte bVar4;\n  char cVar5;\n  undefined4 *****pppppuVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  byte bVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  byte *pbVar18;\n  undefined **ppuVar19;\n  int iVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  byte bVar24;\n  uint auStack_d0 [9];\n  undefined1 auStack_ac [15];\n  char local_9d;\n  undefined4 ****local_9c;\n  undefined4 local_98;\n  uint local_94;\n  undefined4 local_90;\n  undefined4 ****local_8c;\n  undefined4 local_88;\n  undefined **local_84;\n  uint local_80;\n  uint local_7c;\n  undefined4 ****local_78;\n  int *local_74;\n  uint local_70;\n  uint local_6c;\n  uint local_68;\n  uint local_64;\n  uint local_60;\n  uint local_5c;\n  int local_58;\n  uint *local_54;\n  uint local_50;\n  undefined4 local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 ****local_34;\n  uint local_30;\n  undefined4 ****local_2c;\n  uint local_28;\n  \n  bVar24 = 0;\n  local_84 = &__DT_PLTGOT;\n  puVar17 = auStack_ac;\n  local_40 = 0;\n  local_70 = param_1[10];\n  local_58 = param_3 + 0x40;\n  local_3c = 0;\n  local_38 = 0;\n  if (1 < local_70) {\n    local_74 = &DAT_0038f378;\n    local_50 = 1;\n    local_9d = '\x01';\n    do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    iVar8 = local_3c;\n    iVar2 = local_40;\n    if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }\n    if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_001571d0(int *param_1,undefined4 param_2,int param_3,int param_4,int *param_5)" identifier (parameter_list "(int *param_1,undefined4 param_2,int param_3,int param_4,int *param_5)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  int iVar2;\n  code *pcVar3;\n  byte bVar4;\n  char cVar5;\n  undefined4 *****pppppuVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  byte bVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  byte *pbVar18;\n  undefined **ppuVar19;\n  int iVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  byte bVar24;\n  uint auStack_d0 [9];\n  undefined1 auStack_ac [15];\n  char local_9d;\n  undefined4 ****local_9c;\n  undefined4 local_98;\n  uint local_94;\n  undefined4 local_90;\n  undefined4 ****local_8c;\n  undefined4 local_88;\n  undefined **local_84;\n  uint local_80;\n  uint local_7c;\n  undefined4 ****local_78;\n  int *local_74;\n  uint local_70;\n  uint local_6c;\n  uint local_68;\n  uint local_64;\n  uint local_60;\n  uint local_5c;\n  int local_58;\n  uint *local_54;\n  uint local_50;\n  undefined4 local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 ****local_34;\n  uint local_30;\n  undefined4 ****local_2c;\n  uint local_28;\n  \n  bVar24 = 0;\n  local_84 = &__DT_PLTGOT;\n  puVar17 = auStack_ac;\n  local_40 = 0;\n  local_70 = param_1[10];\n  local_58 = param_3 + 0x40;\n  local_3c = 0;\n  local_38 = 0;\n  if (1 < local_70) {\n    local_74 = &DAT_0038f378;\n    local_50 = 1;\n    local_9d = '\x01';\n    do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    iVar8 = local_3c;\n    iVar2 = local_40;\n    if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }\n    if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }\n  }\n  return;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "undefined4 *****pppppuVar6;" type_identifier (pointer_declarator "*****pppppuVar6" * (pointer_declarator "****pppppuVar6" * (pointer_declarator "***pppppuVar6" * (pointer_declarator "**pppppuVar6" * (pointer_declarator "*pppppuVar6" * identifier))))) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "undefined **ppuVar19;" type_identifier (pointer_declarator "**ppuVar19" * (pointer_declarator "*ppuVar19" * identifier)) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "byte bVar24;" type_identifier identifier ;) (declaration "uint auStack_d0 [9];" type_identifier (array_declarator "auStack_d0 [9]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_ac [15];" type_identifier (array_declarator "auStack_ac [15]" identifier [ number_literal ]) ;) (declaration "char local_9d;" primitive_type identifier ;) (declaration "undefined4 ****local_9c;" type_identifier (pointer_declarator "****local_9c" * (pointer_declarator "***local_9c" * (pointer_declarator "**local_9c" * (pointer_declarator "*local_9c" * identifier)))) ;) (declaration "undefined4 local_98;" type_identifier identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "undefined4 local_90;" type_identifier identifier ;) (declaration "undefined4 ****local_8c;" type_identifier (pointer_declarator "****local_8c" * (pointer_declarator "***local_8c" * (pointer_declarator "**local_8c" * (pointer_declarator "*local_8c" * identifier)))) ;) (declaration "undefined4 local_88;" type_identifier identifier ;) (declaration "undefined **local_84;" type_identifier (pointer_declarator "**local_84" * (pointer_declarator "*local_84" * identifier)) ;) (declaration "uint local_80;" type_identifier identifier ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "undefined4 ****local_78;" type_identifier (pointer_declarator "****local_78" * (pointer_declarator "***local_78" * (pointer_declarator "**local_78" * (pointer_declarator "*local_78" * identifier)))) ;) (declaration "int *local_74;" primitive_type (pointer_declarator "*local_74" * identifier) ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "uint local_60;" type_identifier identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "uint *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "uint local_50;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 ****local_34;" type_identifier (pointer_declarator "****local_34" * (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier)))) ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "undefined4 ****local_2c;" type_identifier (pointer_declarator "****local_2c" * (pointer_declarator "***local_2c" * (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier)))) ;) (declaration "uint local_28;" type_identifier identifier ;) (expression_statement "bVar24 = 0;" (assignment_expression "bVar24 = 0" identifier = number_literal) ;) (expression_statement "local_84 = &__DT_PLTGOT;" (assignment_expression "local_84 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "puVar17 = auStack_ac;" (assignment_expression "puVar17 = auStack_ac" identifier = identifier) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_70 = param_1[10];" (assignment_expression "local_70 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "local_58 = param_3 + 0x40;" (assignment_expression "local_58 = param_3 + 0x40" identifier = (binary_expression "param_3 + 0x40" identifier + number_literal)) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (if_statement "if (1 < local_70) {\n    local_74 = &DAT_0038f378;\n    local_50 = 1;\n    local_9d = '\x01';\n    do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    iVar8 = local_3c;\n    iVar2 = local_40;\n    if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }\n    if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }\n  }" if (parenthesized_expression "(1 < local_70)" ( (binary_expression "1 < local_70" number_literal < identifier) )) (compound_statement "{\n    local_74 = &DAT_0038f378;\n    local_50 = 1;\n    local_9d = '\x01';\n    do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    iVar8 = local_3c;\n    iVar2 = local_40;\n    if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }\n    if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }\n  }" { (expression_statement "local_74 = &DAT_0038f378;" (assignment_expression "local_74 = &DAT_0038f378" identifier = (pointer_expression "&DAT_0038f378" & identifier)) ;) (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (expression_statement "local_9d = '\x01';" (assignment_expression "local_9d = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (do_statement "do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);" do (compound_statement "{\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    }" { (while_statement "while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }" { (expression_statement "local_54 = (uint *)(local_50 * 0x1c + *param_5);" (assignment_expression "local_54 = (uint *)(local_50 * 0x1c + *param_5)" identifier = (cast_expression "(uint *)(local_50 * 0x1c + *param_5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_50 * 0x1c + *param_5)" ( (binary_expression "local_50 * 0x1c + *param_5" (binary_expression "local_50 * 0x1c" identifier * number_literal) + (pointer_expression "*param_5" * identifier)) )))) ;) (expression_statement "*local_54 = 0;" (assignment_expression "*local_54 = 0" (pointer_expression "*local_54" * identifier) = number_literal) ;) (expression_statement "iVar2 = *(int *)(param_1[0xe] + local_50 * 4);" (assignment_expression "iVar2 = *(int *)(param_1[0xe] + local_50 * 4)" identifier = (pointer_expression "*(int *)(param_1[0xe] + local_50 * 4)" * (cast_expression "(int *)(param_1[0xe] + local_50 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0xe] + local_50 * 4)" ( (binary_expression "param_1[0xe] + local_50 * 4" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) + (binary_expression "local_50 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar2 != 0) break;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_001574d0:\n        local_50 = local_50 + 1;" statement_identifier : (expression_statement "local_50 = local_50 + 1;" (assignment_expression "local_50 = local_50 + 1" identifier = (binary_expression "local_50 + 1" identifier + number_literal)) ;)) (expression_statement "local_58 = local_58 + 0x40;" (assignment_expression "local_58 = local_58 + 0x40" identifier = (binary_expression "local_58 + 0x40" identifier + number_literal)) ;) (if_statement "if (local_50 == local_70) goto LAB_001574e4;" if (parenthesized_expression "(local_50 == local_70)" ( (binary_expression "local_50 == local_70" identifier == identifier) )) (goto_statement "goto LAB_001574e4;" goto statement_identifier ;)) })) (expression_statement "uVar9 = *(uint *)(local_58 + 4);" (assignment_expression "uVar9 = *(uint *)(local_58 + 4)" identifier = (pointer_expression "*(uint *)(local_58 + 4)" * (cast_expression "(uint *)(local_58 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 4)" ( (binary_expression "local_58 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (if_statement "if (uVar9 == 8) goto LAB_001574d0;" if (parenthesized_expression "(uVar9 == 8)" ( (binary_expression "uVar9 == 8" identifier == number_literal) )) (goto_statement "goto LAB_001574d0;" goto statement_identifier ;)) (expression_statement "iVar8 = *(int *)(*local_74 + 8);" (assignment_expression "iVar8 = *(int *)(*local_74 + 8)" identifier = (pointer_expression "*(int *)(*local_74 + 8)" * (cast_expression "(int *)(*local_74 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_74 + 8)" ( (binary_expression "*local_74 + 8" (pointer_expression "*local_74" * identifier) + number_literal) ))))) ;) (if_statement "if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e00a" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41f7c" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1579a3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1579a3" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }" if (parenthesized_expression "((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0))" ( (binary_expression "(((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)" (parenthesized_expression "(((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9))))" ( (binary_expression "((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))" (parenthesized_expression "((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0'))" ( (binary_expression "(*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')" (parenthesized_expression "(*(char *)(iVar8 + 0x318d) == '\0')" ( (binary_expression "*(char *)(iVar8 + 0x318d) == '\0'" (pointer_expression "*(char *)(iVar8 + 0x318d)" * (cast_expression "(char *)(iVar8 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x318d)" ( (binary_expression "iVar8 + 0x318d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(iVar8 + 0x3095) == '\0')" ( (binary_expression "*(char *)(iVar8 + 0x3095) == '\0'" (pointer_expression "*(char *)(iVar8 + 0x3095)" * (cast_expression "(char *)(iVar8 + 0x3095)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x3095)" ( (binary_expression "iVar8 + 0x3095" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "((uVar9 != 4 && (uVar9 != 9)))" ( (parenthesized_expression "(uVar9 != 4 && (uVar9 != 9))" ( (binary_expression "uVar9 != 4 && (uVar9 != 9)" (binary_expression "uVar9 != 4" identifier != number_literal) && (parenthesized_expression "(uVar9 != 9)" ( (binary_expression "uVar9 != 9" identifier != number_literal) ))) )) ))) )) || (parenthesized_expression "((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)" ( (binary_expression "(*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0" (parenthesized_expression "(*(uint *)(local_58 + 0xc) >> 0x18 & 2)" ( (binary_expression "*(uint *)(local_58 + 0xc) >> 0x18 & 2" (binary_expression "*(uint *)(local_58 + 0xc) >> 0x18" (pointer_expression "*(uint *)(local_58 + 0xc)" * (cast_expression "(uint *)(local_58 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0xc)" ( (binary_expression "local_58 + 0xc" identifier + number_literal) )))) >> number_literal) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }" { (expression_statement "bVar4 = *(byte *)(iVar2 + 0x90);" (assignment_expression "bVar4 = *(byte *)(iVar2 + 0x90)" identifier = (pointer_expression "*(byte *)(iVar2 + 0x90)" * (cast_expression "(byte *)(iVar2 + 0x90)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x90)" ( (binary_expression "iVar2 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "bVar13 = bVar4 >> 5;" (assignment_expression "bVar13 = bVar4 >> 5" identifier = (binary_expression "bVar4 >> 5" identifier >> number_literal)) ;) (expression_statement "local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;" (assignment_expression "local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01" identifier = (binary_expression "CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01" (call_expression "CONCAT31(local_5c._1_3_,bVar13)" identifier (argument_list "(local_5c._1_3_,bVar13)" ( (field_expression "local_5c._1_3_" identifier . field_identifier) , identifier ))) & number_literal)) ;) (if_statement "if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }" if (parenthesized_expression "((bVar13 & 1) == 0)" ( (binary_expression "(bVar13 & 1) == 0" (parenthesized_expression "(bVar13 & 1)" ( (binary_expression "bVar13 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }" { (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }" if (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 4) == 0)" ( (binary_expression "(*(byte *)(iVar2 + 0x1c) & 4) == 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 4)" ( (binary_expression "*(byte *)(iVar2 + 0x1c) & 4" (pointer_expression "*(byte *)(iVar2 + 0x1c)" * (cast_expression "(byte *)(iVar2 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e080" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e080" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xe3;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xe3" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a99;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a99" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_64 = *(uint *)(iVar2 + 0x14);" (assignment_expression "local_64 = *(uint *)(iVar2 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x14)" * (cast_expression "(uint *)(iVar2 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_60 = *(uint *)(iVar2 + 0x18);" (assignment_expression "local_60 = *(uint *)(iVar2 + 0x18)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x18)" * (cast_expression "(uint *)(iVar2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;" if (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 2) == 0)" ( (binary_expression "(*(byte *)(iVar2 + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar2 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar2 + 0x1c)" * (cast_expression "(byte *)(iVar2 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001579e8;" goto statement_identifier ;)) (expression_statement "local_78 = *(undefined4 *****)(iVar2 + 0xc);" (assignment_expression "local_78 = *(undefined4 *****)(iVar2 + 0xc)" identifier = (pointer_expression "*(undefined4 *****)(iVar2 + 0xc)" * (cast_expression "(undefined4 *****)(iVar2 + 0xc)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "local_7c = *(uint *)(iVar2 + 0x10);" (assignment_expression "local_7c = *(uint *)(iVar2 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }" else (compound_statement "{\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }" { (expression_statement "local_78 = *(undefined4 *****)(iVar2 + 0xc);" (assignment_expression "local_78 = *(undefined4 *****)(iVar2 + 0xc)" identifier = (pointer_expression "*(undefined4 *****)(iVar2 + 0xc)" * (cast_expression "(undefined4 *****)(iVar2 + 0xc)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "local_7c = *(uint *)(iVar2 + 0x10);" (assignment_expression "local_7c = *(uint *)(iVar2 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) }))) (expression_statement "puVar1 = (uint *)(param_1[0x21] + local_50 * 8);" (assignment_expression "puVar1 = (uint *)(param_1[0x21] + local_50 * 8)" identifier = (cast_expression "(uint *)(param_1[0x21] + local_50 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x21] + local_50 * 8)" ( (binary_expression "param_1[0x21] + local_50 * 8" (subscript_expression "param_1[0x21]" identifier [ number_literal ]) + (binary_expression "local_50 * 8" identifier * number_literal)) )))) ;) (expression_statement "local_6c = *puVar1;" (assignment_expression "local_6c = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "local_68 = puVar1[1];" (assignment_expression "local_68 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (if_statement "if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }" if (parenthesized_expression "((local_68 & local_6c) == 0xffffffff)" ( (binary_expression "(local_68 & local_6c) == 0xffffffff" (parenthesized_expression "(local_68 & local_6c)" ( (binary_expression "local_68 & local_6c" identifier & identifier) )) == number_literal) )) (compound_statement "{\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }" { (expression_statement "local_8c = local_78;" (assignment_expression "local_8c = local_78" identifier = identifier) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (if_statement "if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }" if (parenthesized_expression "(local_7c != 0)" ( (binary_expression "local_7c != 0" identifier != number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e09f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_84 + -0x107be7" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a3f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a3f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;" if (parenthesized_expression "((undefined4 *****)local_78 == (undefined4 *****)0x0)" ( (binary_expression "(undefined4 *****)local_78 == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)local_78" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_001574d0;" goto statement_identifier ;)) (expression_statement "pppppuVar6 = (undefined4 *****)local_78;" (assignment_expression "pppppuVar6 = (undefined4 *****)local_78" identifier = (cast_expression "(undefined4 *****)local_78" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }" if (parenthesized_expression "((char)local_5c != '\0')" ( (binary_expression "(char)local_5c != '\0'" (cast_expression "(char)local_5c" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }" { (if_statement "if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;" if (parenthesized_expression "(*(int *)(iVar2 + 0x8c) == 0)" ( (binary_expression "*(int *)(iVar2 + 0x8c) == 0" (pointer_expression "*(int *)(iVar2 + 0x8c)" * (cast_expression "(int *)(iVar2 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x8c)" ( (binary_expression "iVar2 + 0x8c" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00157b2c;" goto statement_identifier ;)) (expression_statement "*local_54 = *(int *)(iVar2 + 0x8c) + local_64;" (assignment_expression "*local_54 = *(int *)(iVar2 + 0x8c) + local_64" (pointer_expression "*local_54" * identifier) = (binary_expression "*(int *)(iVar2 + 0x8c) + local_64" (pointer_expression "*(int *)(iVar2 + 0x8c)" * (cast_expression "(int *)(iVar2 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x8c)" ( (binary_expression "iVar2 + 0x8c" identifier + number_literal) )))) + identifier)) ;) (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;" if (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar2 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar2 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar2 + 0x1c)" * (cast_expression "(byte *)(iVar2 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0015794c;" goto statement_identifier ;)) (expression_statement "uVar9 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar9 = *(uint *)(iVar2 + 4)" identifier = (pointer_expression "*(uint *)(iVar2 + 4)" * (cast_expression "(uint *)(iVar2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_54[2] = *(uint *)(iVar2 + 8);" (assignment_expression "local_54[2] = *(uint *)(iVar2 + 8)" (subscript_expression "local_54[2]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(iVar2 + 8)" * (cast_expression "(uint *)(iVar2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_54[1] = uVar9;" (assignment_expression "local_54[1] = uVar9" (subscript_expression "local_54[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);" (assignment_expression "uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5)" identifier = (call_expression "CONCAT31(local_5c._1_3_,bVar4 >> 5)" identifier (argument_list "(local_5c._1_3_,bVar4 >> 5)" ( (field_expression "local_5c._1_3_" identifier . field_identifier) , (binary_expression "bVar4 >> 5" identifier >> number_literal) )))) ;) (expression_statement "iVar8 = *(int *)(*local_74 + 8);" (assignment_expression "iVar8 = *(int *)(*local_74 + 8)" identifier = (pointer_expression "*(int *)(*local_74 + 8)" * (cast_expression "(int *)(*local_74 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_74 + 8)" ( (binary_expression "*local_74 + 8" (pointer_expression "*local_74" * identifier) + number_literal) ))))) ;) (goto_statement "goto LAB_0015747d;" goto statement_identifier ;) })) (if_statement "if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }" if (parenthesized_expression "(((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0))" ( (binary_expression "((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)" (parenthesized_expression "((int)local_60 < 0)" ( (binary_expression "(int)local_60 < 0" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)" ( (comma_expression "local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0" (assignment_expression "local_6c = *(uint *)(param_4 + 0xc)" identifier = (pointer_expression "*(uint *)(param_4 + 0xc)" * (cast_expression "(uint *)(param_4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) , (comma_expression "iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0" (assignment_expression "iVar14 = local_60 + CARRY4((uint)local_78,local_64)" identifier = (binary_expression "local_60 + CARRY4((uint)local_78,local_64)" identifier + (call_expression "CARRY4((uint)local_78,local_64)" identifier (argument_list "((uint)local_78,local_64)" ( (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier ))))) , (comma_expression "uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0" (assignment_expression "uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           )" identifier = (call_expression "(uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           )" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           )" ( (binary_expression "*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)" (pointer_expression "*(undefined1 **)(param_4 + 8)" * (cast_expression "(undefined1 **)(param_4 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) )))) < (cast_expression "(undefined1 *)((int)local_78 + local_64)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_78 + local_64)" ( (binary_expression "(int)local_78 + local_64" (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )))) , (comma_expression "iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0" (assignment_expression "iVar20 = local_6c - iVar14" identifier = (binary_expression "local_6c - iVar14" identifier - identifier)) , (binary_expression "(SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0" (parenthesized_expression "(SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9))" ( (binary_expression "SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)" (call_expression "SBORROW4(local_6c,iVar14)" identifier (argument_list "(local_6c,iVar14)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar20,uVar9)" identifier (argument_list "(iVar20,uVar9)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar20 - uVar9) < 0" (cast_expression "(int)(iVar20 - uVar9)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar20 - uVar9)" ( (binary_expression "iVar20 - uVar9" identifier - identifier) ))) < number_literal)))))) ))) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e091" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x6f;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x6f" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a21;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a21" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*local_54 = local_64 + *(int *)(param_4 + 0x10);" (assignment_expression "*local_54 = local_64 + *(int *)(param_4 + 0x10)" (pointer_expression "*local_54" * identifier) = (binary_expression "local_64 + *(int *)(param_4 + 0x10)" identifier + (pointer_expression "*(int *)(param_4 + 0x10)" * (cast_expression "(int *)(param_4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) )))))) ;) (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;" if (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar2 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar2 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar2 + 0x1c)" * (cast_expression "(byte *)(iVar2 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0015794c;" goto statement_identifier ;)) (expression_statement "uVar9 = *(uint *)(iVar2 + 8);" (assignment_expression "uVar9 = *(uint *)(iVar2 + 8)" identifier = (pointer_expression "*(uint *)(iVar2 + 8)" * (cast_expression "(uint *)(iVar2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_54[1] = *(uint *)(iVar2 + 4);" (assignment_expression "local_54[1] = *(uint *)(iVar2 + 4)" (subscript_expression "local_54[1]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(iVar2 + 4)" * (cast_expression "(uint *)(iVar2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_54[2] = uVar9;" (assignment_expression "local_54[2] = uVar9" (subscript_expression "local_54[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_54[4] = local_60;" (assignment_expression "local_54[4] = local_60" (subscript_expression "local_54[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_54[3] = local_64;" (assignment_expression "local_54[3] = local_64" (subscript_expression "local_54[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_54[5] = (uint)local_78;" (assignment_expression "local_54[5] = (uint)local_78" (subscript_expression "local_54[5]" identifier [ number_literal ]) = (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(undefined2 *)(local_54 + 6) = 1;" (assignment_expression "*(undefined2 *)(local_54 + 6) = 1" (pointer_expression "*(undefined2 *)(local_54 + 6)" * (cast_expression "(undefined2 *)(local_54 + 6)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_54 + 6)" ( (binary_expression "local_54 + 6" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }" else (compound_statement "{\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }" { (expression_statement "uVar9 = *(uint *)(local_58 + 0x24);" (assignment_expression "uVar9 = *(uint *)(local_58 + 0x24)" identifier = (pointer_expression "*(uint *)(local_58 + 0x24)" * (cast_expression "(uint *)(local_58 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0x24)" ( (binary_expression "local_58 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);" (assignment_expression "pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18)" identifier = (cast_expression "(undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18)" ( (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }" if (parenthesized_expression "(*(int *)(local_58 + 0x20) != 0)" ( (binary_expression "*(int *)(local_58 + 0x20) != 0" (pointer_expression "*(int *)(local_58 + 0x20)" * (cast_expression "(int *)(local_58 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0x20)" ( (binary_expression "local_58 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e09f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_84 + -0x107be7" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157988;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157988" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar8 = param_1[0xd];" (assignment_expression "iVar8 = param_1[0xd]" identifier = (subscript_expression "param_1[0xd]" identifier [ number_literal ])) ;) (if_statement "if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }" { (labeled_statement "LAB_001577e0:\n            local_80 = local_80 & 0xffffff00;" statement_identifier : (expression_statement "local_80 = local_80 & 0xffffff00;" (assignment_expression "local_80 = local_80 & 0xffffff00" identifier = (binary_expression "local_80 & 0xffffff00" identifier & number_literal)) ;)) }) (else_clause "else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }" else (compound_statement "{\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }" { (expression_statement "uVar9 = iVar8 + 4;" (assignment_expression "uVar9 = iVar8 + 4" identifier = (binary_expression "iVar8 + 4" identifier + number_literal)) ;) (expression_statement "uVar12 = *(uint *)(iVar8 + 8);" (assignment_expression "uVar12 = *(uint *)(iVar8 + 8)" identifier = (pointer_expression "*(uint *)(iVar8 + 8)" * (cast_expression "(uint *)(iVar8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = uVar9;" (assignment_expression "uVar10 = uVar9" identifier = identifier) ;) (if_statement "if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;" if (parenthesized_expression "(*(uint *)(iVar8 + 8) == 0)" ( (binary_expression "*(uint *)(iVar8 + 8) == 0" (pointer_expression "*(uint *)(iVar8 + 8)" * (cast_expression "(uint *)(iVar8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_001577e0;" goto statement_identifier ;)) (do_statement "do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);" do (compound_statement "{\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            }" { (while_statement "while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }" while (parenthesized_expression "(uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50)" ( (comma_expression "uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50" (assignment_expression "uVar11 = uVar12" identifier = identifier) , (binary_expression "*(uint *)(uVar11 + 0x10) < local_50" (pointer_expression "*(uint *)(uVar11 + 0x10)" * (cast_expression "(uint *)(uVar11 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0x10)" ( (binary_expression "uVar11 + 0x10" identifier + number_literal) )))) < identifier)) )) (compound_statement "{\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }" { (expression_statement "puVar1 = (uint *)(uVar11 + 0xc);" (assignment_expression "puVar1 = (uint *)(uVar11 + 0xc)" identifier = (cast_expression "(uint *)(uVar11 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0xc)" ( (binary_expression "uVar11 + 0xc" identifier + number_literal) )))) ;) (expression_statement "uVar12 = *puVar1;" (assignment_expression "uVar12 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar11 = uVar10;" (assignment_expression "uVar11 = uVar10" identifier = identifier) ;) (if_statement "if (*puVar1 == 0) goto LAB_00157368;" if (parenthesized_expression "(*puVar1 == 0)" ( (binary_expression "*puVar1 == 0" (pointer_expression "*puVar1" * identifier) == number_literal) )) (goto_statement "goto LAB_00157368;" goto statement_identifier ;)) })) (expression_statement "uVar12 = *(uint *)(uVar11 + 8);" (assignment_expression "uVar12 = *(uint *)(uVar11 + 8)" identifier = (pointer_expression "*(uint *)(uVar11 + 8)" * (cast_expression "(uint *)(uVar11 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 8)" ( (binary_expression "uVar11 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = uVar11;" (assignment_expression "uVar10 = uVar11" identifier = identifier) ;) }) while (parenthesized_expression "(*(uint *)(uVar11 + 8) != 0)" ( (binary_expression "*(uint *)(uVar11 + 8) != 0" (pointer_expression "*(uint *)(uVar11 + 8)" * (cast_expression "(uint *)(uVar11 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 8)" ( (binary_expression "uVar11 + 8" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_00157368:\n            local_80 = uVar9 & 0xffffff00;" statement_identifier : (expression_statement "local_80 = uVar9 & 0xffffff00;" (assignment_expression "local_80 = uVar9 & 0xffffff00" identifier = (binary_expression "uVar9 & 0xffffff00" identifier & number_literal)) ;)) (if_statement "if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }" if (parenthesized_expression "((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50))" ( (binary_expression "(uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)" (parenthesized_expression "(uVar9 != uVar11)" ( (binary_expression "uVar9 != uVar11" identifier != identifier) )) && (parenthesized_expression "(*(uint *)(uVar11 + 0x10) <= local_50)" ( (binary_expression "*(uint *)(uVar11 + 0x10) <= local_50" (pointer_expression "*(uint *)(uVar11 + 0x10)" * (cast_expression "(uint *)(uVar11 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0x10)" ( (binary_expression "uVar11 + 0x10" identifier + number_literal) )))) <= identifier) ))) )) (compound_statement "{\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }" { (expression_statement "local_80 = CONCAT31((int3)(uVar9 >> 8),1);" (assignment_expression "local_80 = CONCAT31((int3)(uVar9 >> 8),1)" identifier = (call_expression "CONCAT31((int3)(uVar9 >> 8),1)" identifier (argument_list "((int3)(uVar9 >> 8),1)" ( (call_expression "(int3)(uVar9 >> 8)" (parenthesized_expression "(int3)" ( identifier )) (argument_list "(uVar9 >> 8)" ( (binary_expression "uVar9 >> 8" identifier >> number_literal) ))) , number_literal )))) ;) (expression_statement "pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);" (assignment_expression "pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14)" identifier = (pointer_expression "*(undefined4 ******)(uVar11 + 0x14)" * (cast_expression "(undefined4 ******)(uVar11 + 0x14)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(uVar11 + 0x14)" ( (binary_expression "uVar11 + 0x14" identifier + number_literal) ))))) ;) })) }))) (if_statement "if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;" if (parenthesized_expression "(pppppuVar6 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar6 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_001574d0;" goto statement_identifier ;)) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);" (assignment_expression "uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6)" identifier = (binary_expression "local_68 + CARRY4(local_6c,(uint)pppppuVar6)" identifier + (call_expression "CARRY4(local_6c,(uint)pppppuVar6)" identifier (argument_list "(local_6c,(uint)pppppuVar6)" ( identifier , (cast_expression "(uint)pppppuVar6" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) ;) (expression_statement "local_9c = pppppuVar6;" (assignment_expression "local_9c = pppppuVar6" identifier = identifier) ;) (if_statement "if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }" if (parenthesized_expression "(local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))" ( (binary_expression "local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6))" (binary_expression "local_7c < uVar9" identifier < identifier) || (binary_expression "local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6))" (binary_expression "local_7c - uVar9" identifier - identifier) < (call_expression "(uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6))" ( (binary_expression "local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)" identifier < (cast_expression "(undefined4 *****)(local_6c + (int)pppppuVar6)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(local_6c + (int)pppppuVar6)" ( (binary_expression "local_6c + (int)pppppuVar6" identifier + (cast_expression "(int)pppppuVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))))) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e0a3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x317;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x317" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_84 + -0xf8bf9" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157ab7;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157ab7" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar21 = CARRY4(local_64,local_6c);" (assignment_expression "bVar21 = CARRY4(local_64,local_6c)" identifier = (call_expression "CARRY4(local_64,local_6c)" identifier (argument_list "(local_64,local_6c)" ( identifier , identifier )))) ;) (expression_statement "local_64 = local_64 + local_6c;" (assignment_expression "local_64 = local_64 + local_6c" identifier = (binary_expression "local_64 + local_6c" identifier + identifier)) ;) (expression_statement "local_60 = local_60 + local_68 + (uint)bVar21;" (assignment_expression "local_60 = local_60 + local_68 + (uint)bVar21" identifier = (binary_expression "local_60 + local_68 + (uint)bVar21" (binary_expression "local_60 + local_68" identifier + identifier) + (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }" if (parenthesized_expression "((char)local_5c == '\0')" ( (binary_expression "(char)local_5c == '\0'" (cast_expression "(char)local_5c" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }" { (if_statement "if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }" if (parenthesized_expression "(((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0))" ( (binary_expression "((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)" (parenthesized_expression "((int)local_60 < 0)" ( (binary_expression "(int)local_60 < 0" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)" ( (comma_expression "iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64)" identifier = (binary_expression "local_60 + CARRY4((uint)pppppuVar6,local_64)" identifier + (call_expression "CARRY4((uint)pppppuVar6,local_64)" identifier (argument_list "((uint)pppppuVar6,local_64)" ( (cast_expression "(uint)pppppuVar6" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier ))))) , (comma_expression "uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64))" identifier = (call_expression "(uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64))" ( (binary_expression "*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)" (pointer_expression "*(undefined1 **)(param_4 + 8)" * (cast_expression "(undefined1 **)(param_4 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) )))) < (cast_expression "(undefined1 *)((int)pppppuVar6 + local_64)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar6 + local_64)" ( (binary_expression "(int)pppppuVar6 + local_64" (cast_expression "(int)pppppuVar6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )))) , (comma_expression "iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "iVar8 = *(int *)(param_4 + 0xc) - iVar20" identifier = (binary_expression "*(int *)(param_4 + 0xc) - iVar20" (pointer_expression "*(int *)(param_4 + 0xc)" * (cast_expression "(int *)(param_4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) )))) - identifier)) , (binary_expression "(SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9))" ( (binary_expression "SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)" (call_expression "SBORROW4(*(int *)(param_4 + 0xc),iVar20)" identifier (argument_list "(*(int *)(param_4 + 0xc),iVar20)" ( (pointer_expression "*(int *)(param_4 + 0xc)" * (cast_expression "(int *)(param_4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) )))) , identifier ))) != (call_expression "SBORROW4(iVar8,uVar9)" identifier (argument_list "(iVar8,uVar9)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar8 - uVar9) < 0" (cast_expression "(int)(iVar8 - uVar9)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar8 - uVar9)" ( (binary_expression "iVar8 - uVar9" identifier - identifier) ))) < number_literal))))) ))) )) (compound_statement "{\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e091" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x6f;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x6f" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" * (cast_expression "(undefined1 **)(puVar17 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_00157b65" & identifier)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_5c = local_64 + *(int *)(param_4 + 0x10);" (assignment_expression "local_5c = local_64 + *(int *)(param_4 + 0x10)" identifier = (binary_expression "local_64 + *(int *)(param_4 + 0x10)" identifier + (pointer_expression "*(int *)(param_4 + 0x10)" * (cast_expression "(int *)(param_4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) )))))) ;) (if_statement "if ((char)local_80 == '\0') goto LAB_001573e9;" if (parenthesized_expression "((char)local_80 == '\0')" ( (binary_expression "(char)local_80 == '\0'" (cast_expression "(char)local_80" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001573e9;" goto statement_identifier ;)) (labeled_statement "LAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(puVar17 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 **)(puVar17 + -8) = &local_44;" (assignment_expression "*(undefined4 **)(puVar17 + -8) = &local_44" (pointer_expression "*(undefined4 **)(puVar17 + -8)" * (cast_expression "(undefined4 **)(puVar17 + -8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (pointer_expression "&local_44" & identifier)) ;) (expression_statement "*(uint *)(puVar17 + -0xc) = local_50;" (assignment_expression "*(uint *)(puVar17 + -0xc) = local_50" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x10) = param_1;" (assignment_expression "*(int **)(puVar17 + -0x10) = param_1" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157743;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157743" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = FUN_000b19a0();" (assignment_expression "uVar7 = FUN_000b19a0()" identifier = (call_expression "FUN_000b19a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_78 = *(undefined4 *****)(local_58 + 8);" (assignment_expression "local_78 = *(undefined4 *****)(local_58 + 8)" identifier = (pointer_expression "*(undefined4 *****)(local_58 + 8)" * (cast_expression "(undefined4 *****)(local_58 + 8)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(local_58 + 8)" ( (binary_expression "local_58 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(uint *)(local_58 + 0xc);" (assignment_expression "uVar9 = *(uint *)(local_58 + 0xc)" identifier = (pointer_expression "*(uint *)(local_58 + 0xc)" * (cast_expression "(uint *)(local_58 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0xc)" ( (binary_expression "local_58 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;" (assignment_expression "*(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18" (pointer_expression "*(uint *)(puVar17 + -4)" * (cast_expression "(uint *)(puVar17 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = (binary_expression "(uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18" (binary_expression "(uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8" (binary_expression "(uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8" (binary_expression "(uint)local_78 >> 0x18" (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_78 & 0xff0000) >> 8" (parenthesized_expression "((uint)local_78 & 0xff0000)" ( (binary_expression "(uint)local_78 & 0xff0000" (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_78 & 0xff00) << 8" (parenthesized_expression "((uint)local_78 & 0xff00)" ( (binary_expression "(uint)local_78 & 0xff00" (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_78 << 0x18" (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal))) ;) (expression_statement "*(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "*(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (pointer_expression "*(uint *)(puVar17 + -8)" * (cast_expression "(uint *)(puVar17 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0x40;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0x40" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;" (assignment_expression "*(undefined4 ******)(puVar17 + -0x14) = pppppuVar6" (pointer_expression "*(undefined4 ******)(puVar17 + -0x14)" * (cast_expression "(undefined4 ******)(puVar17 + -0x14)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0x18) = local_5c;" (assignment_expression "*(uint *)(puVar17 + -0x18) = local_5c" (pointer_expression "*(uint *)(puVar17 + -0x18)" * (cast_expression "(uint *)(puVar17 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x1c) = local_44;" (assignment_expression "*(undefined4 *)(puVar17 + -0x1c) = local_44" (pointer_expression "*(undefined4 *)(puVar17 + -0x1c)" * (cast_expression "(undefined4 *)(puVar17 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x20) = uVar7;" (assignment_expression "*(undefined4 *)(puVar17 + -0x20) = uVar7" (pointer_expression "*(undefined4 *)(puVar17 + -0x20)" * (cast_expression "(undefined4 *)(puVar17 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x157773;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x157773" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar5 = FUN_0019ee80();" (assignment_expression "cVar5 = FUN_0019ee80()" identifier = (call_expression "FUN_0019ee80()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" identifier = identifier) ;) (if_statement "if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }" { (expression_statement "iVar8 = *param_1;" (assignment_expression "iVar8 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "*(uint *)(puVar17 + -8) = local_50;" (assignment_expression "*(uint *)(puVar17 + -8) = local_50" (pointer_expression "*(uint *)(puVar17 + -8)" * (cast_expression "(uint *)(puVar17 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0xc) = param_1;" (assignment_expression "*(int **)(puVar17 + -0xc) = param_1" (pointer_expression "*(int **)(puVar17 + -0xc)" * (cast_expression "(int **)(puVar17 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ******)(puVar17 + -0x10) = &local_34;" (assignment_expression "*(undefined4 ******)(puVar17 + -0x10) = &local_34" (pointer_expression "*(undefined4 ******)(puVar17 + -0x10)" * (cast_expression "(undefined4 ******)(puVar17 + -0x10)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "pcVar3 = *(code **)(iVar8 + 0x40);" (assignment_expression "pcVar3 = *(code **)(iVar8 + 0x40)" identifier = (pointer_expression "*(code **)(iVar8 + 0x40)" * (cast_expression "(code **)(iVar8 + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x40)" ( (binary_expression "iVar8 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157793;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157793" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "local_78 = local_34;" (assignment_expression "local_78 = local_34" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;" (assignment_expression "*(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2" (pointer_expression "*(undefined ***)(puVar17 + -0x14)" * (cast_expression "(undefined ***)(puVar17 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (binary_expression "local_84 + -0x40ba2" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0x1577a8;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0x1577a8" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = gettext();" (assignment_expression "uVar7 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *****)(puVar17 + -0xc) = local_78;" (assignment_expression "*(undefined4 *****)(puVar17 + -0xc) = local_78" (pointer_expression "*(undefined4 *****)(puVar17 + -0xc)" * (cast_expression "(undefined4 *****)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x14) = param_1;" (assignment_expression "*(int **)(puVar17 + -0x14) = param_1" (pointer_expression "*(int **)(puVar17 + -0x14)" * (cast_expression "(int **)(puVar17 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0x1577bb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0x1577bb" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000b1840();" (call_expression "FUN_000b1840()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar16 = puVar17 + -4;" (assignment_expression "puVar16 = puVar17 + -4" identifier = (binary_expression "puVar17 + -4" identifier + number_literal)) ;) (if_statement "if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;" if (parenthesized_expression "((undefined4 *****)local_34 == &local_2c)" ( (binary_expression "(undefined4 *****)local_34 == &local_2c" (cast_expression "(undefined4 *****)local_34" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (pointer_expression "&local_2c" & identifier)) )) (goto_statement "goto LAB_0015743e;" goto statement_identifier ;)) (expression_statement "puVar15 = puVar17 + -0x14;" (assignment_expression "puVar15 = puVar17 + -0x14" identifier = (binary_expression "puVar17 + -0x14" identifier + number_literal)) ;) (expression_statement "*(undefined4 *****)(puVar17 + -0x14) = local_34;" (assignment_expression "*(undefined4 *****)(puVar17 + -0x14) = local_34" (pointer_expression "*(undefined4 *****)(puVar17 + -0x14)" * (cast_expression "(undefined4 *****)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0x1577d8;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0x1577d8" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0015743b;" goto statement_identifier ;) })) }) (else_clause "else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }" else (compound_statement "{\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }" { (if_statement "if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }" if (parenthesized_expression "(*(int *)(iVar2 + 0x8c) == 0)" ( (binary_expression "*(int *)(iVar2 + 0x8c) == 0" (pointer_expression "*(int *)(iVar2 + 0x8c)" * (cast_expression "(int *)(iVar2 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x8c)" ( (binary_expression "iVar2 + 0x8c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }" { (labeled_statement "LAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;" statement_identifier : (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e08d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xe34;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xe34" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157b4a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157b4a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_5c = *(int *)(iVar2 + 0x8c) + local_64;" (assignment_expression "local_5c = *(int *)(iVar2 + 0x8c) + local_64" identifier = (binary_expression "*(int *)(iVar2 + 0x8c) + local_64" (pointer_expression "*(int *)(iVar2 + 0x8c)" * (cast_expression "(int *)(iVar2 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x8c)" ( (binary_expression "iVar2 + 0x8c" identifier + number_literal) )))) + identifier)) ;) (if_statement "if ((char)local_80 != '\0') goto LAB_0015772f;" if (parenthesized_expression "((char)local_80 != '\0')" ( (binary_expression "(char)local_80 != '\0'" (cast_expression "(char)local_80" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0015772f;" goto statement_identifier ;)) (labeled_statement "LAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);" statement_identifier : (expression_statement "uVar9 = *(uint *)(local_58 + 0x18);" (assignment_expression "uVar9 = *(uint *)(local_58 + 0x18)" identifier = (pointer_expression "*(uint *)(local_58 + 0x18)" * (cast_expression "(uint *)(local_58 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0x18)" ( (binary_expression "local_58 + 0x18" identifier + number_literal) ))))) ;)) (expression_statement "uVar12 = *(uint *)(local_58 + 0x1c);" (assignment_expression "uVar12 = *(uint *)(local_58 + 0x1c)" identifier = (pointer_expression "*(uint *)(local_58 + 0x1c)" * (cast_expression "(uint *)(local_58 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0x1c)" ( (binary_expression "local_58 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;" (assignment_expression "local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);" (assignment_expression "local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18)" identifier = (cast_expression "(undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18)" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18)" ( (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18" (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8" (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8" (binary_expression "uVar12 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar12 & 0xff0000) >> 8" (parenthesized_expression "(uVar12 & 0xff0000)" ( (binary_expression "uVar12 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar12 & 0xff00) << 8" (parenthesized_expression "(uVar12 & 0xff00)" ( (binary_expression "uVar12 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar12 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "cVar5 = local_9d;" (assignment_expression "cVar5 = local_9d" identifier = identifier) ;) (if_statement "if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }" if (parenthesized_expression "((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0))" ( (binary_expression "(local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)" (parenthesized_expression "(local_3c != local_40)" ( (binary_expression "local_3c != local_40" identifier != identifier) )) && (parenthesized_expression "(uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)" ( (comma_expression "uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10))" identifier = (call_expression "(uint)(local_78 < *(undefined4 ******)(local_3c + -0x10))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_78 < *(undefined4 ******)(local_3c + -0x10))" ( (binary_expression "local_78 < *(undefined4 ******)(local_3c + -0x10)" identifier < (pointer_expression "*(undefined4 ******)(local_3c + -0x10)" * (cast_expression "(undefined4 ******)(local_3c + -0x10)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(local_3c + -0x10)" ( (binary_expression "local_3c + -0x10" identifier + number_literal) ))))) )))) , (comma_expression "iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "iVar8 = local_30 - *(int *)(local_3c + -0xc)" identifier = (binary_expression "local_30 - *(int *)(local_3c + -0xc)" identifier - (pointer_expression "*(int *)(local_3c + -0xc)" * (cast_expression "(int *)(local_3c + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + -0xc)" ( (binary_expression "local_3c + -0xc" identifier + number_literal) )))))) , (comma_expression "cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "cVar5 = (char)local_80" identifier = (cast_expression "(char)local_80" ( (type_descriptor "char" primitive_type) ) identifier)) , (binary_expression "(SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0" (parenthesized_expression "(SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9))" ( (binary_expression "SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)" (call_expression "SBORROW4(local_30,*(int *)(local_3c + -0xc))" identifier (argument_list "(local_30,*(int *)(local_3c + -0xc))" ( identifier , (pointer_expression "*(int *)(local_3c + -0xc)" * (cast_expression "(int *)(local_3c + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + -0xc)" ( (binary_expression "local_3c + -0xc" identifier + number_literal) )))) ))) != (call_expression "SBORROW4(iVar8,uVar9)" identifier (argument_list "(iVar8,uVar9)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar8 - uVar9) < 0" (cast_expression "(int)(iVar8 - uVar9)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar8 - uVar9)" ( (binary_expression "iVar8 - uVar9" identifier - identifier) ))) < number_literal))))) ))) )) (compound_statement "{\n              cVar5 = local_9d;\n            }" { (expression_statement "cVar5 = local_9d;" (assignment_expression "cVar5 = local_9d" identifier = identifier) ;) })) (expression_statement "local_9d = cVar5;" (assignment_expression "local_9d = cVar5" identifier = identifier) ;) (expression_statement "local_28 = local_5c;" (assignment_expression "local_28 = local_5c" identifier = identifier) ;) (expression_statement "*(undefined4 ******)(puVar17 + -0xc) = &local_34;" (assignment_expression "*(undefined4 ******)(puVar17 + -0xc) = &local_34" (pointer_expression "*(undefined4 ******)(puVar17 + -0xc)" * (cast_expression "(undefined4 ******)(puVar17 + -0xc)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "puVar15 = puVar17 + -0x10;" (assignment_expression "puVar15 = puVar17 + -0x10" identifier = (binary_expression "puVar17 + -0x10" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar17 + -0x10) = &local_40;" (assignment_expression "*(int **)(puVar17 + -0x10) = &local_40" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (pointer_expression "&local_40" & identifier)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x15743b;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x15743b" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_34 = local_78;" (assignment_expression "local_34 = local_78" identifier = identifier) ;) (expression_statement "local_2c = pppppuVar6;" (assignment_expression "local_2c = pppppuVar6" identifier = identifier) ;) (expression_statement "FUN_0014ebe0();" (call_expression "FUN_0014ebe0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0015743b:\n            puVar16 = puVar15 + 0x10;" statement_identifier : (expression_statement "puVar16 = puVar15 + 0x10;" (assignment_expression "puVar16 = puVar15 + 0x10" identifier = (binary_expression "puVar15 + 0x10" identifier + number_literal)) ;)) }))) (labeled_statement "LAB_0015743e:\n          *local_54 = local_5c;" statement_identifier : (expression_statement "*local_54 = local_5c;" (assignment_expression "*local_54 = local_5c" (pointer_expression "*local_54" * identifier) = identifier) ;)) (expression_statement "puVar17 = puVar16;" (assignment_expression "puVar17 = puVar16" identifier = identifier) ;) (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }" if (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar2 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar2 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar2 + 0x1c)" * (cast_expression "(byte *)(iVar2 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }" { (labeled_statement "LAB_0015794c:\n            ppuVar19 = local_84;" statement_identifier : (expression_statement "ppuVar19 = local_84;" (assignment_expression "ppuVar19 = local_84" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e093" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e093" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "ppuVar19 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x15796a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x15796a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar12 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 4)" identifier = (pointer_expression "*(uint *)(iVar2 + 4)" * (cast_expression "(uint *)(iVar2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(iVar2 + 8);" (assignment_expression "iVar20 = *(int *)(iVar2 + 8)" identifier = (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(*local_74 + 8);" (assignment_expression "iVar8 = *(int *)(*local_74 + 8)" identifier = (pointer_expression "*(int *)(*local_74 + 8)" * (cast_expression "(int *)(*local_74 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_74 + 8)" ( (binary_expression "*local_74 + 8" (pointer_expression "*local_74" * identifier) + number_literal) ))))) ;) (expression_statement "uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);" (assignment_expression "uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5)" identifier = (call_expression "CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5)" identifier (argument_list "(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5)" ( (field_expression "local_5c._1_3_" identifier . field_identifier) , (binary_expression "*(byte *)(iVar2 + 0x90) >> 5" (pointer_expression "*(byte *)(iVar2 + 0x90)" * (cast_expression "(byte *)(iVar2 + 0x90)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x90)" ( (binary_expression "iVar2 + 0x90" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "local_54[1] = uVar12 + local_6c;" (assignment_expression "local_54[1] = uVar12 + local_6c" (subscript_expression "local_54[1]" identifier [ number_literal ]) = (binary_expression "uVar12 + local_6c" identifier + identifier)) ;) (expression_statement "local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);" (assignment_expression "local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c)" (subscript_expression "local_54[2]" identifier [ number_literal ]) = (binary_expression "iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c)" (binary_expression "iVar20 + local_68" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar12,local_6c)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar12,local_6c)" identifier (argument_list "(uVar12,local_6c)" ( identifier , identifier )))))) ;) (labeled_statement "LAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;" statement_identifier : (expression_statement "local_5c = uVar9 & 0xffffff01;" (assignment_expression "local_5c = uVar9 & 0xffffff01" identifier = (binary_expression "uVar9 & 0xffffff01" identifier & number_literal)) ;)) (expression_statement "local_54[3] = local_64;" (assignment_expression "local_54[3] = local_64" (subscript_expression "local_54[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_54[4] = local_60;" (assignment_expression "local_54[4] = local_60" (subscript_expression "local_54[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_54[5] = (uint)pppppuVar6;" (assignment_expression "local_54[5] = (uint)pppppuVar6" (subscript_expression "local_54[5]" identifier [ number_literal ]) = (cast_expression "(uint)pppppuVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;" (assignment_expression "*(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff" (pointer_expression "*(bool *)(local_54 + 6)" * (cast_expression "(bool *)(local_54 + 6)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_54 + 6)" ( (binary_expression "local_54 + 6" identifier + number_literal) )))) = (binary_expression "(local_6c & local_68) == 0xffffffff" (parenthesized_expression "(local_6c & local_68)" ( (binary_expression "local_6c & local_68" identifier & identifier) )) == number_literal)) ;) (expression_statement "*(char *)((int)local_54 + 0x19) = (char)local_5c;" (assignment_expression "*(char *)((int)local_54 + 0x19) = (char)local_5c" (pointer_expression "*(char *)((int)local_54 + 0x19)" * (cast_expression "(char *)((int)local_54 + 0x19)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_54 + 0x19)" ( (binary_expression "(int)local_54 + 0x19" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(char)local_5c" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e00a" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41f7c" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1579be;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1579be" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;" (assignment_expression "bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6" identifier = (binary_expression "(*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6" (parenthesized_expression "(*(byte *)(iVar8 + 0x318d) ^ 1)" ( (binary_expression "*(byte *)(iVar8 + 0x318d) ^ 1" (pointer_expression "*(byte *)(iVar8 + 0x318d)" * (cast_expression "(byte *)(iVar8 + 0x318d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x318d)" ( (binary_expression "iVar8 + 0x318d" identifier + number_literal) )))) ^ number_literal) )) & (binary_expression "&DAT_00000008 < pppppuVar6" (pointer_expression "&DAT_00000008" & identifier) < identifier))) ;) (expression_statement "bVar23 = bVar4 == 0;" (assignment_expression "bVar23 = bVar4 == 0" identifier = (binary_expression "bVar4 == 0" identifier == number_literal)) ;) (if_statement "if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }" if (parenthesized_expression "(!bVar23)" ( (unary_expression "!bVar23" ! identifier) )) (compound_statement "{\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }" { (expression_statement "iVar8 = 0xc;" (assignment_expression "iVar8 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar18 = *(byte **)(iVar2 + 0x20);" (assignment_expression "pbVar18 = *(byte **)(iVar2 + 0x20)" identifier = (pointer_expression "*(byte **)(iVar2 + 0x20)" * (cast_expression "(byte **)(iVar2 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x20)" ( (binary_expression "iVar2 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "ppuVar19 = local_84 + -0x41295;" (assignment_expression "ppuVar19 = local_84 + -0x41295" identifier = (binary_expression "local_84 + -0x41295" identifier + number_literal)) ;) (do_statement "do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);" do (compound_statement "{\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar18 < *(byte *)ppuVar19;" (assignment_expression "bVar21 = *pbVar18 < *(byte *)ppuVar19" identifier = (binary_expression "*pbVar18 < *(byte *)ppuVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*(byte *)ppuVar19" * (cast_expression "(byte *)ppuVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar23 = *pbVar18 == *(byte *)ppuVar19;" (assignment_expression "bVar23 = *pbVar18 == *(byte *)ppuVar19" identifier = (binary_expression "*pbVar18 == *(byte *)ppuVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*(byte *)ppuVar19" * (cast_expression "(byte *)ppuVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar24 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar24 * -2" identifier + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);" (assignment_expression "ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar19 + (uint)bVar24 * -2 + 1)" ( (binary_expression "(int)ppuVar19 + (uint)bVar24 * -2 + 1" (binary_expression "(int)ppuVar19 + (uint)bVar24 * -2" (cast_expression "(int)ppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar23)" ( identifier )) ;) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (expression_statement "bVar21 = (!bVar21 && !bVar23) == bVar21;" (assignment_expression "bVar21 = (!bVar21 && !bVar23) == bVar21" identifier = (binary_expression "(!bVar21 && !bVar23) == bVar21" (parenthesized_expression "(!bVar21 && !bVar23)" ( (binary_expression "!bVar21 && !bVar23" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar23" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }" if (parenthesized_expression "(!bVar21)" ( (unary_expression "!bVar21" ! identifier) )) (compound_statement "{\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }" { (expression_statement "iVar8 = 0xc;" (assignment_expression "iVar8 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar18 = *(byte **)(iVar2 + 0x20);" (assignment_expression "pbVar18 = *(byte **)(iVar2 + 0x20)" identifier = (pointer_expression "*(byte **)(iVar2 + 0x20)" * (cast_expression "(byte **)(iVar2 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x20)" ( (binary_expression "iVar2 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "ppuVar19 = local_84 + -0x41292;" (assignment_expression "ppuVar19 = local_84 + -0x41292" identifier = (binary_expression "local_84 + -0x41292" identifier + number_literal)) ;) (do_statement "do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);" do (compound_statement "{\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *pbVar18 < *(byte *)ppuVar19;" (assignment_expression "bVar22 = *pbVar18 < *(byte *)ppuVar19" identifier = (binary_expression "*pbVar18 < *(byte *)ppuVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*(byte *)ppuVar19" * (cast_expression "(byte *)ppuVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar21 = *pbVar18 == *(byte *)ppuVar19;" (assignment_expression "bVar21 = *pbVar18 == *(byte *)ppuVar19" identifier = (binary_expression "*pbVar18 == *(byte *)ppuVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*(byte *)ppuVar19" * (cast_expression "(byte *)ppuVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar24 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar24 * -2" identifier + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);" (assignment_expression "ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar19 + (uint)bVar24 * -2 + 1)" ( (binary_expression "(int)ppuVar19 + (uint)bVar24 * -2 + 1" (binary_expression "(int)ppuVar19 + (uint)bVar24 * -2" (cast_expression "(int)ppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar21)" ( identifier )) ;) (if_statement "if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }" if (parenthesized_expression "((!bVar22 && !bVar21) != bVar22)" ( (binary_expression "(!bVar22 && !bVar21) != bVar22" (parenthesized_expression "(!bVar22 && !bVar21)" ( (binary_expression "!bVar22 && !bVar21" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar21" ! identifier)) )) != identifier) )) (compound_statement "{\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }" { (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001574ca;" goto statement_identifier ;) })) })) (expression_statement "*(uint *)(puVar17 + -8) = local_50;" (assignment_expression "*(uint *)(puVar17 + -8) = local_50" (pointer_expression "*(uint *)(puVar17 + -8)" * (cast_expression "(uint *)(puVar17 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0xc) = param_1;" (assignment_expression "*(int **)(puVar17 + -0xc) = param_1" (pointer_expression "*(int **)(puVar17 + -0xc)" * (cast_expression "(int **)(puVar17 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = param_2;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = param_2" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1578cc;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1578cc" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar4 = FUN_0009e8a0();" (assignment_expression "bVar4 = FUN_0009e8a0()" identifier = (call_expression "FUN_0009e8a0()" identifier (argument_list "()" ( )))) ;) })) (labeled_statement "LAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;" statement_identifier : (expression_statement "*(byte *)((int)local_54 + 0x1a) = bVar4;" (assignment_expression "*(byte *)((int)local_54 + 0x1a) = bVar4" (pointer_expression "*(byte *)((int)local_54 + 0x1a)" * (cast_expression "(byte *)((int)local_54 + 0x1a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_54 + 0x1a)" ( (binary_expression "(int)local_54 + 0x1a" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (goto_statement "goto LAB_001574d0;" goto statement_identifier ;) })) (if_statement "if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }" if (parenthesized_expression "((uint)param_1[10] <= local_50)" ( (binary_expression "(uint)param_1[10] <= local_50" (cast_expression "(uint)param_1[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e04d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x549;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x549" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_84 + -0x10efe6" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1579dc;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1579dc" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);" (assignment_expression "iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4)" identifier = (pointer_expression "*(int *)(*(int *)param_1[0x11] + local_50 * 4)" * (cast_expression "(int *)(*(int *)param_1[0x11] + local_50 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_1[0x11] + local_50 * 4)" ( (binary_expression "*(int *)param_1[0x11] + local_50 * 4" (pointer_expression "*(int *)param_1[0x11]" * (cast_expression "(int *)param_1[0x11]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x11]" identifier [ number_literal ]))) + (binary_expression "local_50 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e0a3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x2ce;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x2ce" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_84 + -0xf8bf9" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a7b;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a7b" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar2 = *(int *)(iVar2 + 0x10);" (assignment_expression "iVar2 = *(int *)(iVar2 + 0x10)" identifier = (pointer_expression "*(int *)(iVar2 + 0x10)" * (cast_expression "(int *)(iVar2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e0a3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x2d0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x2d0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_84 + -0xf8bf9" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a5d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a5d" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar4 = *(byte *)(iVar2 + 0x1c);" (assignment_expression "bVar4 = *(byte *)(iVar2 + 0x1c)" identifier = (pointer_expression "*(byte *)(iVar2 + 0x1c)" * (cast_expression "(byte *)(iVar2 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }" if (parenthesized_expression "((bVar4 & 4) == 0)" ( (binary_expression "(bVar4 & 4) == 0" (parenthesized_expression "(bVar4 & 4)" ( (binary_expression "bVar4 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e080" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e080" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xe3;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xe3" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157b2c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157b2c" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar9 = *(uint *)(iVar2 + 0x14);" (assignment_expression "uVar9 = *(uint *)(iVar2 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x14)" * (cast_expression "(uint *)(iVar2 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x18);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x18)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x18)" * (cast_expression "(uint *)(iVar2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_54[3] = uVar9;" (assignment_expression "local_54[3] = uVar9" (subscript_expression "local_54[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_54[4] = uVar12;" (assignment_expression "local_54[4] = uVar12" (subscript_expression "local_54[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }" if (parenthesized_expression "((bVar4 & 2) == 0)" ( (binary_expression "(bVar4 & 2) == 0" (parenthesized_expression "(bVar4 & 2)" ( (binary_expression "bVar4 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e083" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e083" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xcf;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xcf" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157b0e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157b0e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar10 = *(uint *)(iVar2 + 0xc);" (assignment_expression "uVar10 = *(uint *)(iVar2 + 0xc)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xc)" * (cast_expression "(uint *)(iVar2 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "local_54[5] = uVar10;" (assignment_expression "local_54[5] = uVar10" (subscript_expression "local_54[5]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }" if (parenthesized_expression "((int)uVar12 < 0)" ( (binary_expression "(int)uVar12 < 0" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }" { (labeled_statement "LAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;" statement_identifier : (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e091" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x6f;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x6f" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157af0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157af0" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_64 = uVar10 + uVar9;" (assignment_expression "local_64 = uVar10 + uVar9" identifier = (binary_expression "uVar10 + uVar9" identifier + identifier)) ;) (expression_statement "local_60 = uVar12 + CARRY4(uVar10,uVar9);" (assignment_expression "local_60 = uVar12 + CARRY4(uVar10,uVar9)" identifier = (binary_expression "uVar12 + CARRY4(uVar10,uVar9)" identifier + (call_expression "CARRY4(uVar10,uVar9)" identifier (argument_list "(uVar10,uVar9)" ( identifier , identifier ))))) ;) (expression_statement "local_6c = *(uint *)(param_4 + 0xc);" (assignment_expression "local_6c = *(uint *)(param_4 + 0xc)" identifier = (pointer_expression "*(uint *)(param_4 + 0xc)" * (cast_expression "(uint *)(param_4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);" (assignment_expression "uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64)" identifier = (call_expression "(uint)(*(uint *)(param_4 + 8) < local_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_4 + 8) < local_64)" ( (binary_expression "*(uint *)(param_4 + 8) < local_64" (pointer_expression "*(uint *)(param_4 + 8)" * (cast_expression "(uint *)(param_4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) )))) < identifier) )))) ;) (expression_statement "local_94 = uVar10;" (assignment_expression "local_94 = uVar10" identifier = identifier) ;) (if_statement "if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;" if (parenthesized_expression "((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0)" ( (binary_expression "(SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0" (parenthesized_expression "(SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12))" ( (binary_expression "SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)" (call_expression "SBORROW4(local_6c,local_60)" identifier (argument_list "(local_6c,local_60)" ( identifier , identifier ))) != (call_expression "SBORROW4(local_6c - local_60,uVar12)" identifier (argument_list "(local_6c - local_60,uVar12)" ( (binary_expression "local_6c - local_60" identifier - identifier) , identifier )))) )) != (binary_expression "(int)((local_6c - local_60) - uVar12) < 0" (cast_expression "(int)((local_6c - local_60) - uVar12)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((local_6c - local_60) - uVar12)" ( (binary_expression "(local_6c - local_60) - uVar12" (parenthesized_expression "(local_6c - local_60)" ( (binary_expression "local_6c - local_60" identifier - identifier) )) - identifier) ))) < number_literal)) )) (goto_statement "goto LAB_00157ad5;" goto statement_identifier ;)) (expression_statement "*local_54 = *(int *)(param_4 + 0x10) + uVar9;" (assignment_expression "*local_54 = *(int *)(param_4 + 0x10) + uVar9" (pointer_expression "*local_54" * identifier) = (binary_expression "*(int *)(param_4 + 0x10) + uVar9" (pointer_expression "*(int *)(param_4 + 0x10)" * (cast_expression "(int *)(param_4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) )))) + identifier)) ;) (if_statement "if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }" if (parenthesized_expression "((bVar4 & 1) == 0)" ( (binary_expression "(bVar4 & 1) == 0" (parenthesized_expression "(bVar4 & 1)" ( (binary_expression "bVar4 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e093" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e093" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157ad5;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157ad5" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar9 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar9 = *(uint *)(iVar2 + 4)" identifier = (pointer_expression "*(uint *)(iVar2 + 4)" * (cast_expression "(uint *)(iVar2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_50 = local_50 + 1;" (assignment_expression "local_50 = local_50 + 1" identifier = (binary_expression "local_50 + 1" identifier + number_literal)) ;) (expression_statement "local_54[2] = *(uint *)(iVar2 + 8);" (assignment_expression "local_54[2] = *(uint *)(iVar2 + 8)" (subscript_expression "local_54[2]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(iVar2 + 8)" * (cast_expression "(uint *)(iVar2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_54[1] = uVar9;" (assignment_expression "local_54[1] = uVar9" (subscript_expression "local_54[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined2 *)(local_54 + 6) = 0;" (assignment_expression "*(undefined2 *)(local_54 + 6) = 0" (pointer_expression "*(undefined2 *)(local_54 + 6)" * (cast_expression "(undefined2 *)(local_54 + 6)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_54 + 6)" ( (binary_expression "local_54 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)local_54 + 0x1a) = 0;" (assignment_expression "*(undefined1 *)((int)local_54 + 0x1a) = 0" (pointer_expression "*(undefined1 *)((int)local_54 + 0x1a)" * (cast_expression "(undefined1 *)((int)local_54 + 0x1a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_54 + 0x1a)" ( (binary_expression "(int)local_54 + 0x1a" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_58 = local_58 + 0x40;" (assignment_expression "local_58 = local_58 + 0x40" identifier = (binary_expression "local_58 + 0x40" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_50 != local_70)" ( (binary_expression "local_50 != local_70" identifier != identifier) )) ;) (labeled_statement "LAB_001574e4:\n    iVar8 = local_3c;" statement_identifier : (expression_statement "iVar8 = local_3c;" (assignment_expression "iVar8 = local_3c" identifier = identifier) ;)) (expression_statement "iVar2 = local_40;" (assignment_expression "iVar2 = local_40" identifier = identifier) ;) (if_statement "if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }" if (parenthesized_expression "(local_3c != local_40)" ( (binary_expression "local_3c != local_40" identifier != identifier) )) (compound_statement "{\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }" { (if_statement "if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }" if (parenthesized_expression "(local_9d == '\0')" ( (binary_expression "local_9d == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }" { (expression_statement "*(undefined4 *)(puVar17 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = iVar8 - iVar2 >> 4;" (assignment_expression "uVar12 = iVar8 - iVar2 >> 4" identifier = (binary_expression "iVar8 - iVar2 >> 4" (binary_expression "iVar8 - iVar2" identifier - identifier) >> number_literal)) ;) (expression_statement "uVar9 = 0x1f;" (assignment_expression "uVar9 = 0x1f" identifier = number_literal) ;) (if_statement "if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }" if (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) )) (compound_statement "{\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }" { (for_statement "for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }" for ( ; (binary_expression "uVar12 >> uVar9 == 0" (binary_expression "uVar12 >> uVar9" identifier >> identifier) == number_literal) ; (assignment_expression "uVar9 = uVar9 - 1" identifier = (binary_expression "uVar9 - 1" identifier - number_literal)) ) (compound_statement "{\n          }" { })) })) (expression_statement "*(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;" (assignment_expression "*(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2" (pointer_expression "*(uint *)(puVar17 + -8)" * (cast_expression "(uint *)(puVar17 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "(0x1f - (uVar9 ^ 0x1f)) * 2" (parenthesized_expression "(0x1f - (uVar9 ^ 0x1f))" ( (binary_expression "0x1f - (uVar9 ^ 0x1f)" number_literal - (parenthesized_expression "(uVar9 ^ 0x1f)" ( (binary_expression "uVar9 ^ 0x1f" identifier ^ number_literal) ))) )) * number_literal)) ;) (expression_statement "*(int *)(puVar17 + -0xc) = iVar8;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar8" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar2;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar2" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1578f6;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1578f6" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00156f90();" (call_expression "FUN_00156f90()" identifier (argument_list "()" ( ))) ;) (if_statement "if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }" if (parenthesized_expression "(iVar8 - iVar2 < 0x101)" ( (binary_expression "iVar8 - iVar2 < 0x101" (binary_expression "iVar8 - iVar2" identifier - identifier) < number_literal) )) (compound_statement "{\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }" { (expression_statement "*(undefined4 *)(puVar17 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0xc) = iVar8;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar8" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar2;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar2" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157944;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157944" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00156d20();" (call_expression "FUN_00156d20()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }" else (compound_statement "{\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }" { (expression_statement "iVar20 = iVar2 + 0x100;" (assignment_expression "iVar20 = iVar2 + 0x100" identifier = (binary_expression "iVar2 + 0x100" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0xc) = iVar20;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar20" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar2;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar2" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157913;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157913" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00156d20();" (call_expression "FUN_00156d20()" identifier (argument_list "()" ( ))) ;) (for_statement "for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }" for ( ; (binary_expression "iVar8 != iVar20" identifier != identifier) ; (assignment_expression "iVar20 = iVar20 + 0x10" identifier = (binary_expression "iVar20 + 0x10" identifier + number_literal)) ) (compound_statement "{\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }" { (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar20;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar20" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x15792c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x15792c" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00156ca0();" (call_expression "FUN_00156ca0()" identifier (argument_list "()" ( ))) ;) })) }))) })) (expression_statement "iVar2 = param_1[7];" (assignment_expression "iVar2 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined4 *)(puVar17 + -4) = 0x1579e1;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0x1579e1" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00146790();" (call_expression "FUN_00146790()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_001579e8:\n        ppuVar19 = local_84;" statement_identifier : (expression_statement "ppuVar19 = local_84;" (assignment_expression "ppuVar19 = local_84" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e083" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e083" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xcf;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xcf" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "ppuVar19 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a06;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a06" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int **)(puVar17 + -4) = &local_40;" (assignment_expression "*(int **)(puVar17 + -4) = &local_40" (pointer_expression "*(int **)(puVar17 + -4)" * (cast_expression "(int **)(puVar17 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "*(int *)(puVar17 + -8) = param_1[9];" (assignment_expression "*(int *)(puVar17 + -8) = param_1[9]" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar17 + -0xc) = param_1[8];" (assignment_expression "*(int *)(puVar17 + -0xc) = param_1[8]" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (subscript_expression "param_1[8]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar2 + 0x1c;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar2 + 0x1c" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "iVar2 + 0x1c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157522;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157522" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00067070();" (call_expression "FUN_00067070()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }" if (parenthesized_expression "(local_40 != 0)" ( (binary_expression "local_40 != 0" identifier != number_literal) )) (compound_statement "{\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }" { (expression_statement "*(int *)(puVar17 + -0x10) = local_40;" (assignment_expression "*(int *)(puVar17 + -0x10) = local_40" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157538;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157538" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void write_sections(Sized_relobj_file<64,_true> * this, Layout *\n   layout, uchar * pshdrs, Output_file * of, Views * pviews) */\n\nvoid __thiscall\ngold::Sized_relobj_file<64,_true>::write_sections\n          (Sized_relobj_file<64,_true> *this,Layout *layout,uchar *pshdrs,Output_file *of,\n          Views *pviews)\n\n{\n  _Rb_tree_header *p_Var1;\n  _Base_ptr *pp_Var2;\n  int *piVar3;\n  pointer puVar4;\n  byte bVar5;\n  Output_section *pOVar6;\n  Compressed_section_map *pCVar7;\n  _Base_ptr p_Var8;\n  Input_file *pIVar9;\n  Relocatable_relocs *pRVar10;\n  Output_data *pOVar11;\n  _func_int_varargs **pp_Var12;\n  _func_int_varargs *p_Var13;\n  uint64_t uVar14;\n  pointer pRVar15;\n  pointer pRVar16;\n  undefined4 *******pppppppuVar17;\n  General_options *pGVar18;\n  uchar *puVar19;\n  undefined4 uVar20;\n  int iVar21;\n  uint uVar22;\n  _Base_ptr p_Var23;\n  _Base_ptr p_Var24;\n  int iVar25;\n  uint uVar26;\n  byte bVar27;\n  char cVar28;\n  int iVar29;\n  undefined1 *puVar30;\n  undefined1 *puVar31;\n  undefined4 *puVar32;\n  byte *pbVar33;\n  undefined **ppuVar34;\n  pointer pRVar35;\n  bool bVar36;\n  bool bVar37;\n  bool bVar38;\n  byte bVar39;\n  ulong auStack_d0 [6];\n  _Rb_tree_color a_Stack_b8 [2];\n  uint uStack_b0;\n  undefined1 auStack_ac [15];\n  char local_9d;\n  undefined4 ******local_9c;\n  undefined4 local_98;\n  uint local_94;\n  undefined4 local_90;\n  undefined4 ******local_8c;\n  undefined4 local_88;\n  undefined **local_84;\n  uint local_80;\n  uint local_7c;\n  undefined4 ******local_78;\n  Parameters **local_74;\n  _Rb_tree_color local_70;\n  uint local_6c;\n  uint local_68;\n  uint local_64;\n  int local_60;\n  uchar *local_5c;\n  uchar *local_58;\n  pointer local_54;\n  _Rb_tree_color local_50;\n  section_size_type len;\n  Read_multiple rm;\n  undefined4 ******local_34;\n  uint local_30;\n  undefined4 ******local_2c;\n  uchar *local_28;\n  \n  bVar39 = 0;\n  puVar32 = (undefined4 *)auStack_ac;\n  local_84 = &_GLOBAL_OFFSET_TABLE_;\n  rm.\n  super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n  ._M_impl._M_start = (pointer)0x0;\n  local_70 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_;\n  rm.\n  super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  rm.\n  super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n  local_58 = pshdrs + 0x40;\n  if (_S_black < local_70) {\n    local_50 = _S_black;\n    local_9d = '\x01';\n    local_74 = &parameters;\n    do {\n      while( true ) {\n        local_54 = (pviews->\n                   super__Vector_base<gold::Sized_relobj_file<64,_true>::View_size,_std::allocator<gold::Sized_relobj_file<64,_true>::View_size>_>\n                   )._M_impl._M_start + local_50;\n        local_54->view = (uchar *)0x0;\n        pOVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start[local_50];\n        if (pOVar6 != (Output_section *)0x0) break;\nLAB_001574d0:\n        local_50 = local_50 + _S_black;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar22 = *(uint *)(local_58 + 4);\n      uVar22 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18;\n      if (uVar22 == 8) goto LAB_001574d0;\n      pGVar18 = (*local_74)->options_;\n      if (pGVar18 == (General_options *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x1579a3;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      if (((((pGVar18->relocatable_).value == false) && ((pGVar18->emit_relocs_).value == false)) ||\n          ((uVar22 != 4 && (uVar22 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar5 = pOVar6->field_0x90;\n        bVar27 = bVar5 >> 5;\n        local_5c = (uchar *)(CONCAT31(local_5c._1_3_,bVar27) & 0xffffff01);\n        if ((bVar27 & 1) == 0) {\n          bVar27 = (pOVar6->super_Output_data).field_0x1c;\n          if ((bVar27 & 4) == 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a99;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_64 = (uint)(pOVar6->super_Output_data).offset_;\n          local_60 = *(int *)((int)&(pOVar6->super_Output_data).offset_ + 4);\n          if ((bVar27 & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }\n        else {\n          local_64 = 0;\n          local_60 = 0;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }\n        puVar4 = (this->super_Sized_relobj<64,_true>).section_offsets_.\n                 super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                 ._M_impl._M_start + local_50;\n        local_6c = (uint)*puVar4;\n        local_68 = *(uint *)((int)puVar4 + 4);\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_88 = 0;\n          local_8c = local_78;\n          if (local_7c != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a3f;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          if ((undefined4 *******)local_78 == (undefined4 *******)0x0) goto LAB_001574d0;\n          pppppppuVar17 = (undefined4 *******)local_78;\n          if ((char)local_5c != '\0') {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) goto LAB_00157b2c;\n            local_54->view = pOVar6->postprocessing_buffer_ + local_64;\n            if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n            uVar14 = (pOVar6->super_Output_data).address_;\n            *(undefined4 *)((int)&local_54->address + 4) =\n                 *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n            *(int *)&local_54->address = (int)uVar14;\n            uVar22 = CONCAT31(local_5c._1_3_,bVar5 >> 5);\n            pGVar18 = (*local_74)->options_;\n            goto LAB_0015747d;\n          }\n          if (local_60 < 0) {\nLAB_00157a06:\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a21;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_6c = *(uint *)((int)&of->file_size_ + 4);\n          iVar29 = local_60 + (uint)CARRY4((uint)local_78,local_64);\n          uVar22 = (uint)(*(undefined1 **)&of->file_size_ < (undefined1 *)((int)local_78 + local_64)\n                         );\n          iVar21 = local_6c - iVar29;\n          if ((SBORROW4(local_6c,iVar29) != SBORROW4(iVar21,uVar22)) != (int)(iVar21 - uVar22) < 0)\n          goto LAB_00157a06;\n          local_54->view = of->base_ + local_64;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n          uVar20 = *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          *(int *)&local_54->address = (int)(pOVar6->super_Output_data).address_;\n          *(undefined4 *)((int)&local_54->address + 4) = uVar20;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          *(uint *)&local_54->offset = local_64;\n          local_54->view_size = (section_size_type)local_78;\n          local_54->is_input_output_view = true;\n          local_54->is_postprocessing_view = false;\n        }\n        else {\n          uVar22 = *(uint *)(local_58 + 0x24);\n          pppppppuVar17 =\n               (undefined4 *******)\n               (uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18)\n          ;\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157988;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          pCVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                   compressed_sections_;\n          if (pCVar7 == (Compressed_section_map *)0x0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            p_Var1 = &(pCVar7->_M_t)._M_impl.super__Rb_tree_header;\n            p_Var8 = (pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n            p_Var23 = &p_Var1->_M_header;\n            if (p_Var8 == (_Base_ptr)0x0) goto LAB_001577e0;\n            do {\n              while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }\n              p_Var8 = p_Var24->_M_left;\n              p_Var23 = p_Var24;\n            } while (p_Var24->_M_left != (_Base_ptr)0x0);\nLAB_00157368:\n            local_80 = (uint)p_Var1 & 0xffffff00;\n            if ((p_Var1 != (_Rb_tree_header *)p_Var24) &&\n               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)) {\n              local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);\n              pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);\n            }\n          }\n          if (pppppppuVar17 == (undefined4 *******)0x0) goto LAB_001574d0;\n          local_9c = pppppppuVar17;\n          local_98 = 0;\n          uVar22 = local_68 + CARRY4(local_6c,(uint)pppppppuVar17);\n          if (local_7c < uVar22 ||\n              local_7c - uVar22 <\n              (uint)(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17))) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x317;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157ab7;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          bVar36 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar36;\n          if ((char)local_5c == '\0') {\n            if ((local_60 < 0) ||\n               (iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0))\n            {\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = of->base_ + local_64;\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)((int)puVar32 + -4) = 0;\n            *(section_size_type **)((int)puVar32 + -8) = &len;\n            *(_Rb_tree_color *)((int)puVar32 + -0xc) = local_50;\n            *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10) = this;\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157743;\n            puVar19 = Object::section_contents\n                                (*(Object **)((int)puVar32 + -0x10),*(uint *)((int)puVar32 + -0xc),\n                                 *(section_size_type **)((int)puVar32 + -8),\n                                 *(bool *)((int)puVar32 + -4));\n            local_78 = *(undefined4 *******)(local_58 + 8);\n            uVar22 = *(uint *)(local_58 + 0xc);\n            *(uint *)((int)puVar32 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)((int)puVar32 + -8) =\n                 uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18\n            ;\n            *(undefined4 *)((int)puVar32 + -0xc) = 1;\n            *(undefined4 *)((int)puVar32 + -0x10) = 0x40;\n            *(undefined4 ********)((int)puVar32 + -0x14) = pppppppuVar17;\n            *(uchar **)((int)puVar32 + -0x18) = local_5c;\n            *(section_size_type *)((int)puVar32 + -0x1c) = len;\n            *(uchar **)((int)puVar32 + -0x20) = puVar19;\n            *(undefined4 *)((int)puVar32 + -0x24) = 0x157773;\n            bVar36 = decompress_input_section\n                               (*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),\n                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),\n                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),\n                                *(Elf_Xword *)((int)puVar32 + -8));\n            puVar31 = (undefined1 *)puVar32;\n            if (!bVar36) {\n              pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n              ;\n              *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n              *(undefined4 ********)((int)puVar32 + -0x10) = &local_34;\n              p_Var13 = pp_Var12[0x10];\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157793;\n              (*p_Var13)();\n              local_78 = local_34;\n              *(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8;\n              uVar20 = gettext();\n              *(undefined4 *******)((int)puVar32 + -0xc) = local_78;\n              *(undefined4 *)((int)puVar32 + -0x10) = uVar20;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb;\n              Object::error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));\n              puVar31 = (undefined1 *)((int)puVar32 + -4);\n              if ((undefined4 *******)local_34 == &local_2c) goto LAB_0015743e;\n              puVar30 = (undefined1 *)((int)puVar32 + -0x14);\n              *(undefined4 *******)((int)puVar32 + -0x14) = local_34;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8;\n              operator_delete(*(void **)((int)puVar32 + -0x14));\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) {\nLAB_00157b2c:\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0xe34;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = pOVar6->postprocessing_buffer_ + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar22 = *(uint *)(local_58 + 0x18);\n            uVar26 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n            local_78 = (undefined4 ******)\n                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18);\n            if (rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_start) {\n              piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4);\n              uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset);\n              iVar21 = local_30 - *piVar3;\n              cVar28 = (char)local_80;\n              if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0) {\n                cVar28 = local_9d;\n              }\n              local_9d = cVar28;\n            }\n            local_2c = pppppppuVar17;\n            local_28 = local_5c;\n            *(undefined4 ********)((int)puVar32 + -0xc) = &local_34;\n            puVar30 = (undefined1 *)((int)puVar32 + -0x10);\n            *(Read_multiple **)((int)puVar32 + -0x10) = &rm;\n            local_34 = local_78;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15743b;\n            std::\n            vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n            ::emplace_back<gold::File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));\nLAB_0015743b:\n            puVar31 = puVar30 + 0x10;\n          }\nLAB_0015743e:\n          local_54->view = local_5c;\n          puVar32 = (undefined4 *)puVar31;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) {\nLAB_0015794c:\n            ppuVar34 = local_84;\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15796a;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          uVar26 = (uint)(pOVar6->super_Output_data).address_;\n          iVar21 = *(int *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          pGVar18 = (*local_74)->options_;\n          uVar22 = CONCAT31(local_5c._1_3_,(byte)pOVar6->field_0x90 >> 5);\n          *(uint *)&local_54->address = uVar26 + local_6c;\n          *(uint *)((int)&local_54->address + 4) = iVar21 + local_68 + (uint)CARRY4(uVar26,local_6c)\n          ;\nLAB_0015747d:\n          local_5c = (uchar *)(uVar22 & 0xffffff01);\n          *(uint *)&local_54->offset = local_64;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          local_54->view_size = (section_size_type)pppppppuVar17;\n          local_54->is_input_output_view = (local_6c & local_68) == 0xffffffff;\n          local_54->is_postprocessing_view = (bool)(char)local_5c;\n          if (pGVar18 == (General_options *)0x0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x1579be;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n        }\n        bVar37 = false;\n        bVar36 = (bool)(((pGVar18->relocatable_).value ^ 1U) & &DAT_00000008 < pppppppuVar17);\n        bVar38 = bVar36 == false;\n        if (!bVar38) {\n          iVar21 = 0xc;\n          pbVar33 = (byte *)pOVar6->name_;\n          ppuVar34 = local_84 + -0x41295;\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar37 = *pbVar33 < *(byte *)ppuVar34;\n            bVar38 = *pbVar33 == *(byte *)ppuVar34;\n            pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n            ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n          } while (bVar38);\n          bVar36 = false;\n          bVar37 = (!bVar37 && !bVar38) == bVar37;\n          if (!bVar37) {\n            iVar21 = 0xc;\n            pbVar33 = (byte *)pOVar6->name_;\n            ppuVar34 = local_84 + -0x41292;\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar36 = *pbVar33 < *(byte *)ppuVar34;\n              bVar37 = *pbVar33 == *(byte *)ppuVar34;\n              pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n              ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n            } while (bVar37);\n            if ((!bVar36 && !bVar37) != bVar36) {\n              bVar36 = false;\n              goto LAB_001574ca;\n            }\n          }\n          *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n          *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n          *(Layout **)((int)puVar32 + -0x10) = layout;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)((int)puVar32 + -0x14) = 0x1578cc;\n          bVar36 = Layout::is_ctors_in_init_array\n                             (*(Layout **)((int)puVar32 + -0x10),*(Relobj **)((int)puVar32 + -0xc),\n                              *(uint *)((int)puVar32 + -8));\n        }\nLAB_001574ca:\n        local_54->is_ctors_reverse_view = bVar36;\n        goto LAB_001574d0;\n      }\n      if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= local_50) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x549;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x10efe6;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x1579dc;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      pRVar10 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                )._M_impl._M_start[local_50];\n      if (pRVar10 == (Relocatable_relocs *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x2ce;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a7b;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      pOVar11 = pRVar10->posd_;\n      if (pOVar11 == (Output_data *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x2d0;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a5d;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      bVar5 = pOVar11->field_0x1c;\n      if ((bVar5 & 4) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157b2c;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      uVar22 = (uint)pOVar11->offset_;\n      iVar21 = *(int *)((int)&pOVar11->offset_ + 4);\n      *(uint *)&local_54->offset = uVar22;\n      *(int *)((int)&local_54->offset + 4) = iVar21;\n      if ((bVar5 & 2) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xcf;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157b0e;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      uVar26 = (uint)pOVar11->data_size_;\n      local_54->view_size = uVar26;\n      if (iVar21 < 0) {\nLAB_00157ad5:\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157af0;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      local_94 = uVar26;\n      local_90 = 0;\n      local_60 = iVar21 + (uint)CARRY4(uVar26,uVar22);\n      local_64 = uVar26 + uVar22;\n      local_6c = *(uint *)((int)&of->file_size_ + 4);\n      uVar26 = (uint)((uint)of->file_size_ < uVar26 + uVar22);\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar26)) !=\n          (int)((local_6c - local_60) - uVar26) < 0) goto LAB_00157ad5;\n      local_54->view = of->base_ + uVar22;\n      if ((bVar5 & 1) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157ad5;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      uVar14 = pOVar11->address_;\n      local_50 = local_50 + _S_black;\n      *(undefined4 *)((int)&local_54->address + 4) = *(undefined4 *)((int)&pOVar11->address_ + 4);\n      *(int *)&local_54->address = (int)uVar14;\n      local_54->is_input_output_view = false;\n      local_54->is_postprocessing_view = false;\n      local_54->is_ctors_reverse_view = false;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    pRVar16 = rm.\n              super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n              ._M_impl._M_finish;\n    pRVar15 = rm.\n              super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n              ._M_impl._M_start;\n    if (rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n        ._M_impl._M_finish !=\n        rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n        ._M_impl._M_start) {\n      if (local_9d == '\0') {\n        puVar32[-1] = 0;\n        uVar26 = (int)pRVar16 - (int)pRVar15 >> 4;\n        uVar22 = 0x1f;\n        if (uVar26 != 0) {\n          for (; uVar26 >> uVar22 == 0; uVar22 = uVar22 - 1) {\n          }\n        }\n        puVar32[-2] = (0x1f - (uVar22 ^ 0x1f)) * 2;\n        puVar32[-3] = pRVar16;\n        puVar32[-4] = pRVar15;\n        puVar32[-5] = 0x1578f6;\n        std::\n        __introsort_loop<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                  ();\n        if ((int)pRVar16 - (int)pRVar15 < 0x101) {\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar16;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157944;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n        }\n        else {\n          pRVar35 = pRVar15 + 0x10;\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar35;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157913;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n          for (; pRVar16 != pRVar35; pRVar35 = pRVar35 + 1) {\n            puVar32[-3] = 0;\n            puVar32[-4] = pRVar35;\n            puVar32[-5] = 0x15792c;\n            std::\n            __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Read_multiple_compare>_>\n                      ();\n          }\n        }\n      }\n      pIVar9 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;\n      if (pIVar9 == (Input_file *)0x0) {\n        puVar32[-1] = 0x1579e1;\n        Object::input_file((Object *)*puVar32);\nLAB_001579e8:\n        ppuVar34 = local_84;\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xcf;\n        *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a06;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      puVar32[-1] = &rm;\n      puVar32[-2] = *(undefined4 *)\n                     ((int)&(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_ +\n                     4);\n      puVar32[-3] = (int)(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_;\n      puVar32[-4] = &pIVar9->file_;\n      puVar32[-5] = 0x157522;\n      File_read::read_multiple\n                ((File_read *)puVar32[-4],*(off_t *)(puVar32 + -3),(Read_multiple *)puVar32[-1]);\n    }\n    if (rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n        ._M_impl._M_start != (pointer)0x0) {\n      puVar32[-4] = rm.\n                    super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                    ._M_impl._M_start;\n      puVar32[-5] = 0x157538;\n      operator_delete((void *)puVar32[-4]);\n    }\n  }\n  return;\n}\n\n" comment comment comment (declaration "void __thiscall\ngold::Sized_relobj_file<64,_true>::write_sections\n          (Sized_relobj_file<64,_true> *this,Layout *layout,uchar *pshdrs,Output_file *of,\n          Views *pviews)\n\n{\n  _Rb_tree_header *p_Var1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_true>::write_sections\n          (Sized_relobj_file<64,_true> *this,Layout *layout,uchar *pshdrs,Output_file *of,\n          Views *pviews)\n\n{\n  _Rb_tree_header" identifier > : : (function_declarator "write_sections\n          (Sized_relobj_file<64,_true> *this,Layout *layout,uchar *pshdrs,Output_file *of,\n          Views *pviews)" identifier (parameter_list "(Sized_relobj_file<64,_true> *this,Layout *layout,uchar *pshdrs,Output_file *of,\n          Views *pviews)" ( (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "uchar *pshdrs" type_identifier (pointer_declarator "*pshdrs" * identifier)) , (parameter_declaration "Output_file *of" type_identifier (pointer_declarator "*of" * identifier)) , (parameter_declaration "Views *pviews" type_identifier (pointer_declarator "*pviews" * identifier)) ))) { identifier) (pointer_declarator "*p_Var1" * identifier) ;) (declaration "_Base_ptr *pp_Var2;" type_identifier (pointer_declarator "*pp_Var2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "pointer puVar4;" type_identifier identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "Output_section *pOVar6;" type_identifier (pointer_declarator "*pOVar6" * identifier) ;) (declaration "Compressed_section_map *pCVar7;" type_identifier (pointer_declarator "*pCVar7" * identifier) ;) (declaration "_Base_ptr p_Var8;" type_identifier identifier ;) (declaration "Input_file *pIVar9;" type_identifier (pointer_declarator "*pIVar9" * identifier) ;) (declaration "Relocatable_relocs *pRVar10;" type_identifier (pointer_declarator "*pRVar10" * identifier) ;) (declaration "Output_data *pOVar11;" type_identifier (pointer_declarator "*pOVar11" * identifier) ;) (declaration "_func_int_varargs **pp_Var12;" type_identifier (pointer_declarator "**pp_Var12" * (pointer_declarator "*pp_Var12" * identifier)) ;) (declaration "_func_int_varargs *p_Var13;" type_identifier (pointer_declarator "*p_Var13" * identifier) ;) (declaration "uint64_t uVar14;" primitive_type identifier ;) (declaration "pointer pRVar15;" type_identifier identifier ;) (declaration "pointer pRVar16;" type_identifier identifier ;) (declaration "undefined4 *******pppppppuVar17;" type_identifier (pointer_declarator "*******pppppppuVar17" * (pointer_declarator "******pppppppuVar17" * (pointer_declarator "*****pppppppuVar17" * (pointer_declarator "****pppppppuVar17" * (pointer_declarator "***pppppppuVar17" * (pointer_declarator "**pppppppuVar17" * (pointer_declarator "*pppppppuVar17" * identifier))))))) ;) (declaration "General_options *pGVar18;" type_identifier (pointer_declarator "*pGVar18" * identifier) ;) (declaration "uchar *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "_Base_ptr p_Var23;" type_identifier identifier ;) (declaration "_Base_ptr p_Var24;" type_identifier identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "byte bVar27;" type_identifier identifier ;) (declaration "char cVar28;" primitive_type identifier ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "undefined1 *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "undefined1 *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "undefined4 *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "byte *pbVar33;" type_identifier (pointer_declarator "*pbVar33" * identifier) ;) (declaration "undefined **ppuVar34;" type_identifier (pointer_declarator "**ppuVar34" * (pointer_declarator "*ppuVar34" * identifier)) ;) (declaration "pointer pRVar35;" type_identifier identifier ;) (declaration "bool bVar36;" primitive_type identifier ;) (declaration "bool bVar37;" primitive_type identifier ;) (declaration "bool bVar38;" primitive_type identifier ;) (declaration "byte bVar39;" type_identifier identifier ;) (declaration "ulong auStack_d0 [6];" type_identifier (array_declarator "auStack_d0 [6]" identifier [ number_literal ]) ;) (declaration "_Rb_tree_color a_Stack_b8 [2];" type_identifier (array_declarator "a_Stack_b8 [2]" identifier [ number_literal ]) ;) (declaration "uint uStack_b0;" type_identifier identifier ;) (declaration "undefined1 auStack_ac [15];" type_identifier (array_declarator "auStack_ac [15]" identifier [ number_literal ]) ;) (declaration "char local_9d;" primitive_type identifier ;) (declaration "undefined4 ******local_9c;" type_identifier (pointer_declarator "******local_9c" * (pointer_declarator "*****local_9c" * (pointer_declarator "****local_9c" * (pointer_declarator "***local_9c" * (pointer_declarator "**local_9c" * (pointer_declarator "*local_9c" * identifier)))))) ;) (declaration "undefined4 local_98;" type_identifier identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "undefined4 local_90;" type_identifier identifier ;) (declaration "undefined4 ******local_8c;" type_identifier (pointer_declarator "******local_8c" * (pointer_declarator "*****local_8c" * (pointer_declarator "****local_8c" * (pointer_declarator "***local_8c" * (pointer_declarator "**local_8c" * (pointer_declarator "*local_8c" * identifier)))))) ;) (declaration "undefined4 local_88;" type_identifier identifier ;) (declaration "undefined **local_84;" type_identifier (pointer_declarator "**local_84" * (pointer_declarator "*local_84" * identifier)) ;) (declaration "uint local_80;" type_identifier identifier ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "undefined4 ******local_78;" type_identifier (pointer_declarator "******local_78" * (pointer_declarator "*****local_78" * (pointer_declarator "****local_78" * (pointer_declarator "***local_78" * (pointer_declarator "**local_78" * (pointer_declarator "*local_78" * identifier)))))) ;) (declaration "Parameters **local_74;" type_identifier (pointer_declarator "**local_74" * (pointer_declarator "*local_74" * identifier)) ;) (declaration "_Rb_tree_color local_70;" type_identifier identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "uchar *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "uchar *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "pointer local_54;" type_identifier identifier ;) (declaration "_Rb_tree_color local_50;" type_identifier identifier ;) (declaration "section_size_type len;" type_identifier identifier ;) (declaration "Read_multiple rm;" type_identifier identifier ;) (declaration "undefined4 ******local_34;" type_identifier (pointer_declarator "******local_34" * (pointer_declarator "*****local_34" * (pointer_declarator "****local_34" * (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier)))))) ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "undefined4 ******local_2c;" type_identifier (pointer_declarator "******local_2c" * (pointer_declarator "*****local_2c" * (pointer_declarator "****local_2c" * (pointer_declarator "***local_2c" * (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier)))))) ;) (declaration "uchar *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (expression_statement "bVar39 = 0;" (assignment_expression "bVar39 = 0" identifier = number_literal) ;) (expression_statement "puVar32 = (undefined4 *)auStack_ac;" (assignment_expression "puVar32 = (undefined4 *)auStack_ac" identifier = (cast_expression "(undefined4 *)auStack_ac" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_84 = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "local_84 = &_GLOBAL_OFFSET_TABLE_" identifier = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) (ERROR "rm.\n  super__Vector_base<gold::" (binary_expression "rm.\n  super__Vector_base<gold" (field_expression "rm.\n  super__Vector_base" identifier . field_identifier) < identifier) : :) (labeled_statement "File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n  ._M_impl._M_start = (pointer)0x0;" statement_identifier (ERROR "::Read_multiple_entry,_std::allocator<gold:" : : (comma_expression "Read_multiple_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "File_read::Read_multiple_entry>_>\n  ._M_impl._M_start = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Read_multiple_entry>_>\n  ._M_impl._M_start = (pointer)0x0;" (assignment_expression "Read_multiple_entry>_>\n  ._M_impl._M_start = (pointer)0x0" (field_expression "Read_multiple_entry>_>\n  ._M_impl._M_start" (field_expression "Read_multiple_entry>_>\n  ._M_impl" (binary_expression "Read_multiple_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (expression_statement "local_70 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_;" (assignment_expression "local_70 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_" identifier = (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (ERROR "rm.\n  super__Vector_base<gold::" (binary_expression "rm.\n  super__Vector_base<gold" (field_expression "rm.\n  super__Vector_base" identifier . field_identifier) < identifier) : :) (labeled_statement "File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n  ._M_impl._M_finish = (pointer)0x0;" statement_identifier (ERROR "::Read_multiple_entry,_std::allocator<gold:" : : (comma_expression "Read_multiple_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "File_read::Read_multiple_entry>_>\n  ._M_impl._M_finish = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Read_multiple_entry>_>\n  ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "Read_multiple_entry>_>\n  ._M_impl._M_finish = (pointer)0x0" (field_expression "Read_multiple_entry>_>\n  ._M_impl._M_finish" (field_expression "Read_multiple_entry>_>\n  ._M_impl" (binary_expression "Read_multiple_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "rm.\n  super__Vector_base<gold::" (binary_expression "rm.\n  super__Vector_base<gold" (field_expression "rm.\n  super__Vector_base" identifier . field_identifier) < identifier) : :) (labeled_statement "File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier (ERROR "::Read_multiple_entry,_std::allocator<gold:" : : (comma_expression "Read_multiple_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "File_read::Read_multiple_entry>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Read_multiple_entry>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "Read_multiple_entry>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "Read_multiple_entry>_>\n  ._M_impl._M_end_of_storage" (field_expression "Read_multiple_entry>_>\n  ._M_impl" (binary_expression "Read_multiple_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (expression_statement "local_58 = pshdrs + 0x40;" (assignment_expression "local_58 = pshdrs + 0x40" identifier = (binary_expression "pshdrs + 0x40" identifier + number_literal)) ;) (if_statement "if (_S_black < local_70) {\n    local_50 = _S_black;\n    local_9d = '\x01';\n    local_74 = &parameters;\n    do {\n      while( true ) {\n        local_54 = (pviews->\n                   super__Vector_base<gold::Sized_relobj_file<64,_true>::View_size,_std::allocator<gold::Sized_relobj_file<64,_true>::View_size>_>\n                   )._M_impl._M_start + local_50;\n        local_54->view = (uchar *)0x0;\n        pOVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start[local_50];\n        if (pOVar6 != (Output_section *)0x0) break;\nLAB_001574d0:\n        local_50 = local_50 + _S_black;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar22 = *(uint *)(local_58 + 4);\n      uVar22 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18;\n      if (uVar22 == 8) goto LAB_001574d0;\n      pGVar18 = (*local_74)->options_;\n      if (pGVar18 == (General_options *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x1579a3;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      if (((((pGVar18->relocatable_).value == false) && ((pGVar18->emit_relocs_).value == false)) ||\n          ((uVar22 != 4 && (uVar22 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar5 = pOVar6->field_0x90;\n        bVar27 = bVar5 >> 5;\n        local_5c = (uchar *)(CONCAT31(local_5c._1_3_,bVar27) & 0xffffff01);\n        if ((bVar27 & 1) == 0) {\n          bVar27 = (pOVar6->super_Output_data).field_0x1c;\n          if ((bVar27 & 4) == 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a99;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_64 = (uint)(pOVar6->super_Output_data).offset_;\n          local_60 = *(int *)((int)&(pOVar6->super_Output_data).offset_ + 4);\n          if ((bVar27 & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }\n        else {\n          local_64 = 0;\n          local_60 = 0;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }\n        puVar4 = (this->super_Sized_relobj<64,_true>).section_offsets_.\n                 super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                 ._M_impl._M_start + local_50;\n        local_6c = (uint)*puVar4;\n        local_68 = *(uint *)((int)puVar4 + 4);\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_88 = 0;\n          local_8c = local_78;\n          if (local_7c != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a3f;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          if ((undefined4 *******)local_78 == (undefined4 *******)0x0) goto LAB_001574d0;\n          pppppppuVar17 = (undefined4 *******)local_78;\n          if ((char)local_5c != '\0') {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) goto LAB_00157b2c;\n            local_54->view = pOVar6->postprocessing_buffer_ + local_64;\n            if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n            uVar14 = (pOVar6->super_Output_data).address_;\n            *(undefined4 *)((int)&local_54->address + 4) =\n                 *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n            *(int *)&local_54->address = (int)uVar14;\n            uVar22 = CONCAT31(local_5c._1_3_,bVar5 >> 5);\n            pGVar18 = (*local_74)->options_;\n            goto LAB_0015747d;\n          }\n          if (local_60 < 0) {\nLAB_00157a06:\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a21;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_6c = *(uint *)((int)&of->file_size_ + 4);\n          iVar29 = local_60 + (uint)CARRY4((uint)local_78,local_64);\n          uVar22 = (uint)(*(undefined1 **)&of->file_size_ < (undefined1 *)((int)local_78 + local_64)\n                         );\n          iVar21 = local_6c - iVar29;\n          if ((SBORROW4(local_6c,iVar29) != SBORROW4(iVar21,uVar22)) != (int)(iVar21 - uVar22) < 0)\n          goto LAB_00157a06;\n          local_54->view = of->base_ + local_64;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n          uVar20 = *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          *(int *)&local_54->address = (int)(pOVar6->super_Output_data).address_;\n          *(undefined4 *)((int)&local_54->address + 4) = uVar20;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          *(uint *)&local_54->offset = local_64;\n          local_54->view_size = (section_size_type)local_78;\n          local_54->is_input_output_view = true;\n          local_54->is_postprocessing_view = false;\n        }\n        else {\n          uVar22 = *(uint *)(local_58 + 0x24);\n          pppppppuVar17 =\n               (undefined4 *******)\n               (uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18)\n          ;\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157988;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          pCVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                   compressed_sections_;\n          if (pCVar7 == (Compressed_section_map *)0x0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            p_Var1 = &(pCVar7->_M_t)._M_impl.super__Rb_tree_header;\n            p_Var8 = (pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n            p_Var23 = &p_Var1->_M_header;\n            if (p_Var8 == (_Base_ptr)0x0) goto LAB_001577e0;\n            do {\n              while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }\n              p_Var8 = p_Var24->_M_left;\n              p_Var23 = p_Var24;\n            } while (p_Var24->_M_left != (_Base_ptr)0x0);\nLAB_00157368:\n            local_80 = (uint)p_Var1 & 0xffffff00;\n            if ((p_Var1 != (_Rb_tree_header *)p_Var24) &&\n               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)) {\n              local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);\n              pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);\n            }\n          }\n          if (pppppppuVar17 == (undefined4 *******)0x0) goto LAB_001574d0;\n          local_9c = pppppppuVar17;\n          local_98 = 0;\n          uVar22 = local_68 + CARRY4(local_6c,(uint)pppppppuVar17);\n          if (local_7c < uVar22 ||\n              local_7c - uVar22 <\n              (uint)(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17))) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x317;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157ab7;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          bVar36 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar36;\n          if ((char)local_5c == '\0') {\n            if ((local_60 < 0) ||\n               (iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0))\n            {\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = of->base_ + local_64;\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)((int)puVar32 + -4) = 0;\n            *(section_size_type **)((int)puVar32 + -8) = &len;\n            *(_Rb_tree_color *)((int)puVar32 + -0xc) = local_50;\n            *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10) = this;\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157743;\n            puVar19 = Object::section_contents\n                                (*(Object **)((int)puVar32 + -0x10),*(uint *)((int)puVar32 + -0xc),\n                                 *(section_size_type **)((int)puVar32 + -8),\n                                 *(bool *)((int)puVar32 + -4));\n            local_78 = *(undefined4 *******)(local_58 + 8);\n            uVar22 = *(uint *)(local_58 + 0xc);\n            *(uint *)((int)puVar32 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)((int)puVar32 + -8) =\n                 uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18\n            ;\n            *(undefined4 *)((int)puVar32 + -0xc) = 1;\n            *(undefined4 *)((int)puVar32 + -0x10) = 0x40;\n            *(undefined4 ********)((int)puVar32 + -0x14) = pppppppuVar17;\n            *(uchar **)((int)puVar32 + -0x18) = local_5c;\n            *(section_size_type *)((int)puVar32 + -0x1c) = len;\n            *(uchar **)((int)puVar32 + -0x20) = puVar19;\n            *(undefined4 *)((int)puVar32 + -0x24) = 0x157773;\n            bVar36 = decompress_input_section\n                               (*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),\n                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),\n                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),\n                                *(Elf_Xword *)((int)puVar32 + -8));\n            puVar31 = (undefined1 *)puVar32;\n            if (!bVar36) {\n              pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n              ;\n              *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n              *(undefined4 ********)((int)puVar32 + -0x10) = &local_34;\n              p_Var13 = pp_Var12[0x10];\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157793;\n              (*p_Var13)();\n              local_78 = local_34;\n              *(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8;\n              uVar20 = gettext();\n              *(undefined4 *******)((int)puVar32 + -0xc) = local_78;\n              *(undefined4 *)((int)puVar32 + -0x10) = uVar20;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb;\n              Object::error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));\n              puVar31 = (undefined1 *)((int)puVar32 + -4);\n              if ((undefined4 *******)local_34 == &local_2c) goto LAB_0015743e;\n              puVar30 = (undefined1 *)((int)puVar32 + -0x14);\n              *(undefined4 *******)((int)puVar32 + -0x14) = local_34;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8;\n              operator_delete(*(void **)((int)puVar32 + -0x14));\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) {\nLAB_00157b2c:\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0xe34;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = pOVar6->postprocessing_buffer_ + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar22 = *(uint *)(local_58 + 0x18);\n            uVar26 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n            local_78 = (undefined4 ******)\n                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18);\n            if (rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_start) {\n              piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4);\n              uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset);\n              iVar21 = local_30 - *piVar3;\n              cVar28 = (char)local_80;\n              if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0) {\n                cVar28 = local_9d;\n              }\n              local_9d = cVar28;\n            }\n            local_2c = pppppppuVar17;\n            local_28 = local_5c;\n            *(undefined4 ********)((int)puVar32 + -0xc) = &local_34;\n            puVar30 = (undefined1 *)((int)puVar32 + -0x10);\n            *(Read_multiple **)((int)puVar32 + -0x10) = &rm;\n            local_34 = local_78;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15743b;\n            std::\n            vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n            ::emplace_back<gold::File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));\nLAB_0015743b:\n            puVar31 = puVar30 + 0x10;\n          }\nLAB_0015743e:\n          local_54->view = local_5c;\n          puVar32 = (undefined4 *)puVar31;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) {\nLAB_0015794c:\n            ppuVar34 = local_84;\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15796a;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          uVar26 = (uint)(pOVar6->super_Output_data).address_;\n          iVar21 = *(int *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          pGVar18 = (*local_74)->options_;\n          uVar22 = CONCAT31(local_5c._1_3_,(byte)pOVar6->field_0x90 >> 5);\n          *(uint *)&local_54->address = uVar26 + local_6c;\n          *(uint *)((int)&local_54->address + 4) = iVar21 + local_68 + (uint)CARRY4(uVar26,local_6c)\n          ;\nLAB_0015747d:\n          local_5c = (uchar *)(uVar22 & 0xffffff01);\n          *(uint *)&local_54->offset = local_64;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          local_54->view_size = (section_size_type)pppppppuVar17;\n          local_54->is_input_output_view = (local_6c & local_68) == 0xffffffff;\n          local_54->is_postprocessing_view = (bool)(char)local_5c;\n          if (pGVar18 == (General_options *)0x0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x1579be;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n        }\n        bVar37 = false;\n        bVar36 = (bool)(((pGVar18->relocatable_).value ^ 1U) & &DAT_00000008 < pppppppuVar17);\n        bVar38 = bVar36 == false;\n        if (!bVar38) {\n          iVar21 = 0xc;\n          pbVar33 = (byte *)pOVar6->name_;\n          ppuVar34 = local_84 + -0x41295;\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar37 = *pbVar33 < *(byte *)ppuVar34;\n            bVar38 = *pbVar33 == *(byte *)ppuVar34;\n            pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n            ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n          } while (bVar38);\n          bVar36 = false;\n          bVar37 = (!bVar37 && !bVar38) == bVar37;\n          if (!bVar37) {\n            iVar21 = 0xc;\n            pbVar33 = (byte *)pOVar6->name_;\n            ppuVar34 = local_84 + -0x41292;\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar36 = *pbVar33 < *(byte *)ppuVar34;\n              bVar37 = *pbVar33 == *(byte *)ppuVar34;\n              pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n              ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n            } while (bVar37);\n            if ((!bVar36 && !bVar37) != bVar36) {\n              bVar36 = false;\n              goto LAB_001574ca;\n            }\n          }\n          *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n          *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n          *(Layout **)((int)puVar32 + -0x10) = layout;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)((int)puVar32 + -0x14) = 0x1578cc;\n          bVar36 = Layout::is_ctors_in_init_array\n                             (*(Layout **)((int)puVar32 + -0x10),*(Relobj **)((int)puVar32 + -0xc),\n                              *(uint *)((int)puVar32 + -8));\n        }\nLAB_001574ca:\n        local_54->is_ctors_reverse_view = bVar36;\n        goto LAB_001574d0;\n      }\n      if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= local_50) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x549;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x10efe6;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x1579dc;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      pRVar10 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                )._M_impl._M_start[local_50];\n      if (pRVar10 == (Relocatable_relocs *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x2ce;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a7b;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      pOVar11 = pRVar10->posd_;\n      if (pOVar11 == (Output_data *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x2d0;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a5d;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      bVar5 = pOVar11->field_0x1c;\n      if ((bVar5 & 4) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157b2c;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      uVar22 = (uint)pOVar11->offset_;\n      iVar21 = *(int *)((int)&pOVar11->offset_ + 4);\n      *(uint *)&local_54->offset = uVar22;\n      *(int *)((int)&local_54->offset + 4) = iVar21;\n      if ((bVar5 & 2) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xcf;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157b0e;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      uVar26 = (uint)pOVar11->data_size_;\n      local_54->view_size = uVar26;\n      if (iVar21 < 0) {\nLAB_00157ad5:\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157af0;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      local_94 = uVar26;\n      local_90 = 0;\n      local_60 = iVar21 + (uint)CARRY4(uVar26,uVar22);\n      local_64 = uVar26 + uVar22;\n      local_6c = *(uint *)((int)&of->file_size_ + 4);\n      uVar26 = (uint)((uint)of->file_size_ < uVar26 + uVar22);\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar26)) !=\n          (int)((local_6c - local_60) - uVar26) < 0) goto LAB_00157ad5;\n      local_54->view = of->base_ + uVar22;\n      if ((bVar5 & 1) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157ad5;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      uVar14 = pOVar11->address_;\n      local_50 = local_50 + _S_black;\n      *(undefined4 *)((int)&local_54->address + 4) = *(undefined4 *)((int)&pOVar11->address_ + 4);\n      *(int *)&local_54->address = (int)uVar14;\n      local_54->is_input_output_view = false;\n      local_54->is_postprocessing_view = false;\n      local_54->is_ctors_reverse_view = false;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    pRVar16 = rm.\n              super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n              ._M_impl._M_finish;\n    pRVar15 = rm.\n              super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n              ._M_impl._M_start;\n    if (rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n        ._M_impl._M_finish !=\n        rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n        ._M_impl._M_start) {\n      if (local_9d == '\0') {\n        puVar32[-1] = 0;\n        uVar26 = (int)pRVar16 - (int)pRVar15 >> 4;\n        uVar22 = 0x1f;\n        if (uVar26 != 0) {\n          for (; uVar26 >> uVar22 == 0; uVar22 = uVar22 - 1) {\n          }\n        }\n        puVar32[-2] = (0x1f - (uVar22 ^ 0x1f)) * 2;\n        puVar32[-3] = pRVar16;\n        puVar32[-4] = pRVar15;\n        puVar32[-5] = 0x1578f6;\n        std::\n        __introsort_loop<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                  ();\n        if ((int)pRVar16 - (int)pRVar15 < 0x101) {\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar16;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157944;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n        }\n        else {\n          pRVar35 = pRVar15 + 0x10;\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar35;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157913;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n          for (; pRVar16 != pRVar35; pRVar35 = pRVar35 + 1) {\n            puVar32[-3] = 0;\n            puVar32[-4] = pRVar35;\n            puVar32[-5] = 0x15792c;\n            std::\n            __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Read_multiple_compare>_>\n                      ();\n          }\n        }\n      }\n      pIVar9 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;\n      if (pIVar9 == (Input_file *)0x0) {\n        puVar32[-1] = 0x1579e1;\n        Object::input_file((Object *)*puVar32);\nLAB_001579e8:\n        ppuVar34 = local_84;\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xcf;\n        *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a06;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      puVar32[-1] = &rm;\n      puVar32[-2] = *(undefined4 *)\n                     ((int)&(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_ +\n                     4);\n      puVar32[-3] = (int)(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_;\n      puVar32[-4] = &pIVar9->file_;\n      puVar32[-5] = 0x157522;\n      File_read::read_multiple\n                ((File_read *)puVar32[-4],*(off_t *)(puVar32 + -3),(Read_multiple *)puVar32[-1]);\n    }\n    if (rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n        ._M_impl._M_start != (pointer)0x0) {\n      puVar32[-4] = rm.\n                    super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                    ._M_impl._M_start;\n      puVar32[-5] = 0x157538;\n      operator_delete((void *)puVar32[-4]);\n    }\n  }" if (parenthesized_expression "(_S_black < local_70)" ( (binary_expression "_S_black < local_70" identifier < identifier) )) (compound_statement "{\n    local_50 = _S_black;\n    local_9d = '\x01';\n    local_74 = &parameters;\n    do {\n      while( true ) {\n        local_54 = (pviews->\n                   super__Vector_base<gold::Sized_relobj_file<64,_true>::View_size,_std::allocator<gold::Sized_relobj_file<64,_true>::View_size>_>\n                   )._M_impl._M_start + local_50;\n        local_54->view = (uchar *)0x0;\n        pOVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start[local_50];\n        if (pOVar6 != (Output_section *)0x0) break;\nLAB_001574d0:\n        local_50 = local_50 + _S_black;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar22 = *(uint *)(local_58 + 4);\n      uVar22 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18;\n      if (uVar22 == 8) goto LAB_001574d0;\n      pGVar18 = (*local_74)->options_;\n      if (pGVar18 == (General_options *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x1579a3;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      if (((((pGVar18->relocatable_).value == false) && ((pGVar18->emit_relocs_).value == false)) ||\n          ((uVar22 != 4 && (uVar22 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar5 = pOVar6->field_0x90;\n        bVar27 = bVar5 >> 5;\n        local_5c = (uchar *)(CONCAT31(local_5c._1_3_,bVar27) & 0xffffff01);\n        if ((bVar27 & 1) == 0) {\n          bVar27 = (pOVar6->super_Output_data).field_0x1c;\n          if ((bVar27 & 4) == 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a99;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_64 = (uint)(pOVar6->super_Output_data).offset_;\n          local_60 = *(int *)((int)&(pOVar6->super_Output_data).offset_ + 4);\n          if ((bVar27 & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }\n        else {\n          local_64 = 0;\n          local_60 = 0;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }\n        puVar4 = (this->super_Sized_relobj<64,_true>).section_offsets_.\n                 super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                 ._M_impl._M_start + local_50;\n        local_6c = (uint)*puVar4;\n        local_68 = *(uint *)((int)puVar4 + 4);\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_88 = 0;\n          local_8c = local_78;\n          if (local_7c != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a3f;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          if ((undefined4 *******)local_78 == (undefined4 *******)0x0) goto LAB_001574d0;\n          pppppppuVar17 = (undefined4 *******)local_78;\n          if ((char)local_5c != '\0') {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) goto LAB_00157b2c;\n            local_54->view = pOVar6->postprocessing_buffer_ + local_64;\n            if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n            uVar14 = (pOVar6->super_Output_data).address_;\n            *(undefined4 *)((int)&local_54->address + 4) =\n                 *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n            *(int *)&local_54->address = (int)uVar14;\n            uVar22 = CONCAT31(local_5c._1_3_,bVar5 >> 5);\n            pGVar18 = (*local_74)->options_;\n            goto LAB_0015747d;\n          }\n          if (local_60 < 0) {\nLAB_00157a06:\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a21;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_6c = *(uint *)((int)&of->file_size_ + 4);\n          iVar29 = local_60 + (uint)CARRY4((uint)local_78,local_64);\n          uVar22 = (uint)(*(undefined1 **)&of->file_size_ < (undefined1 *)((int)local_78 + local_64)\n                         );\n          iVar21 = local_6c - iVar29;\n          if ((SBORROW4(local_6c,iVar29) != SBORROW4(iVar21,uVar22)) != (int)(iVar21 - uVar22) < 0)\n          goto LAB_00157a06;\n          local_54->view = of->base_ + local_64;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n          uVar20 = *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          *(int *)&local_54->address = (int)(pOVar6->super_Output_data).address_;\n          *(undefined4 *)((int)&local_54->address + 4) = uVar20;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          *(uint *)&local_54->offset = local_64;\n          local_54->view_size = (section_size_type)local_78;\n          local_54->is_input_output_view = true;\n          local_54->is_postprocessing_view = false;\n        }\n        else {\n          uVar22 = *(uint *)(local_58 + 0x24);\n          pppppppuVar17 =\n               (undefined4 *******)\n               (uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18)\n          ;\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157988;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          pCVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                   compressed_sections_;\n          if (pCVar7 == (Compressed_section_map *)0x0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            p_Var1 = &(pCVar7->_M_t)._M_impl.super__Rb_tree_header;\n            p_Var8 = (pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n            p_Var23 = &p_Var1->_M_header;\n            if (p_Var8 == (_Base_ptr)0x0) goto LAB_001577e0;\n            do {\n              while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }\n              p_Var8 = p_Var24->_M_left;\n              p_Var23 = p_Var24;\n            } while (p_Var24->_M_left != (_Base_ptr)0x0);\nLAB_00157368:\n            local_80 = (uint)p_Var1 & 0xffffff00;\n            if ((p_Var1 != (_Rb_tree_header *)p_Var24) &&\n               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)) {\n              local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);\n              pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);\n            }\n          }\n          if (pppppppuVar17 == (undefined4 *******)0x0) goto LAB_001574d0;\n          local_9c = pppppppuVar17;\n          local_98 = 0;\n          uVar22 = local_68 + CARRY4(local_6c,(uint)pppppppuVar17);\n          if (local_7c < uVar22 ||\n              local_7c - uVar22 <\n              (uint)(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17))) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x317;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157ab7;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          bVar36 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar36;\n          if ((char)local_5c == '\0') {\n            if ((local_60 < 0) ||\n               (iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0))\n            {\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = of->base_ + local_64;\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)((int)puVar32 + -4) = 0;\n            *(section_size_type **)((int)puVar32 + -8) = &len;\n            *(_Rb_tree_color *)((int)puVar32 + -0xc) = local_50;\n            *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10) = this;\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157743;\n            puVar19 = Object::section_contents\n                                (*(Object **)((int)puVar32 + -0x10),*(uint *)((int)puVar32 + -0xc),\n                                 *(section_size_type **)((int)puVar32 + -8),\n                                 *(bool *)((int)puVar32 + -4));\n            local_78 = *(undefined4 *******)(local_58 + 8);\n            uVar22 = *(uint *)(local_58 + 0xc);\n            *(uint *)((int)puVar32 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)((int)puVar32 + -8) =\n                 uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18\n            ;\n            *(undefined4 *)((int)puVar32 + -0xc) = 1;\n            *(undefined4 *)((int)puVar32 + -0x10) = 0x40;\n            *(undefined4 ********)((int)puVar32 + -0x14) = pppppppuVar17;\n            *(uchar **)((int)puVar32 + -0x18) = local_5c;\n            *(section_size_type *)((int)puVar32 + -0x1c) = len;\n            *(uchar **)((int)puVar32 + -0x20) = puVar19;\n            *(undefined4 *)((int)puVar32 + -0x24) = 0x157773;\n            bVar36 = decompress_input_section\n                               (*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),\n                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),\n                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),\n                                *(Elf_Xword *)((int)puVar32 + -8));\n            puVar31 = (undefined1 *)puVar32;\n            if (!bVar36) {\n              pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n              ;\n              *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n              *(undefined4 ********)((int)puVar32 + -0x10) = &local_34;\n              p_Var13 = pp_Var12[0x10];\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157793;\n              (*p_Var13)();\n              local_78 = local_34;\n              *(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8;\n              uVar20 = gettext();\n              *(undefined4 *******)((int)puVar32 + -0xc) = local_78;\n              *(undefined4 *)((int)puVar32 + -0x10) = uVar20;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb;\n              Object::error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));\n              puVar31 = (undefined1 *)((int)puVar32 + -4);\n              if ((undefined4 *******)local_34 == &local_2c) goto LAB_0015743e;\n              puVar30 = (undefined1 *)((int)puVar32 + -0x14);\n              *(undefined4 *******)((int)puVar32 + -0x14) = local_34;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8;\n              operator_delete(*(void **)((int)puVar32 + -0x14));\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) {\nLAB_00157b2c:\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0xe34;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = pOVar6->postprocessing_buffer_ + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar22 = *(uint *)(local_58 + 0x18);\n            uVar26 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n            local_78 = (undefined4 ******)\n                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18);\n            if (rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_start) {\n              piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4);\n              uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset);\n              iVar21 = local_30 - *piVar3;\n              cVar28 = (char)local_80;\n              if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0) {\n                cVar28 = local_9d;\n              }\n              local_9d = cVar28;\n            }\n            local_2c = pppppppuVar17;\n            local_28 = local_5c;\n            *(undefined4 ********)((int)puVar32 + -0xc) = &local_34;\n            puVar30 = (undefined1 *)((int)puVar32 + -0x10);\n            *(Read_multiple **)((int)puVar32 + -0x10) = &rm;\n            local_34 = local_78;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15743b;\n            std::\n            vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n            ::emplace_back<gold::File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));\nLAB_0015743b:\n            puVar31 = puVar30 + 0x10;\n          }\nLAB_0015743e:\n          local_54->view = local_5c;\n          puVar32 = (undefined4 *)puVar31;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) {\nLAB_0015794c:\n            ppuVar34 = local_84;\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15796a;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          uVar26 = (uint)(pOVar6->super_Output_data).address_;\n          iVar21 = *(int *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          pGVar18 = (*local_74)->options_;\n          uVar22 = CONCAT31(local_5c._1_3_,(byte)pOVar6->field_0x90 >> 5);\n          *(uint *)&local_54->address = uVar26 + local_6c;\n          *(uint *)((int)&local_54->address + 4) = iVar21 + local_68 + (uint)CARRY4(uVar26,local_6c)\n          ;\nLAB_0015747d:\n          local_5c = (uchar *)(uVar22 & 0xffffff01);\n          *(uint *)&local_54->offset = local_64;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          local_54->view_size = (section_size_type)pppppppuVar17;\n          local_54->is_input_output_view = (local_6c & local_68) == 0xffffffff;\n          local_54->is_postprocessing_view = (bool)(char)local_5c;\n          if (pGVar18 == (General_options *)0x0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x1579be;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n        }\n        bVar37 = false;\n        bVar36 = (bool)(((pGVar18->relocatable_).value ^ 1U) & &DAT_00000008 < pppppppuVar17);\n        bVar38 = bVar36 == false;\n        if (!bVar38) {\n          iVar21 = 0xc;\n          pbVar33 = (byte *)pOVar6->name_;\n          ppuVar34 = local_84 + -0x41295;\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar37 = *pbVar33 < *(byte *)ppuVar34;\n            bVar38 = *pbVar33 == *(byte *)ppuVar34;\n            pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n            ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n          } while (bVar38);\n          bVar36 = false;\n          bVar37 = (!bVar37 && !bVar38) == bVar37;\n          if (!bVar37) {\n            iVar21 = 0xc;\n            pbVar33 = (byte *)pOVar6->name_;\n            ppuVar34 = local_84 + -0x41292;\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar36 = *pbVar33 < *(byte *)ppuVar34;\n              bVar37 = *pbVar33 == *(byte *)ppuVar34;\n              pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n              ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n            } while (bVar37);\n            if ((!bVar36 && !bVar37) != bVar36) {\n              bVar36 = false;\n              goto LAB_001574ca;\n            }\n          }\n          *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n          *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n          *(Layout **)((int)puVar32 + -0x10) = layout;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)((int)puVar32 + -0x14) = 0x1578cc;\n          bVar36 = Layout::is_ctors_in_init_array\n                             (*(Layout **)((int)puVar32 + -0x10),*(Relobj **)((int)puVar32 + -0xc),\n                              *(uint *)((int)puVar32 + -8));\n        }\nLAB_001574ca:\n        local_54->is_ctors_reverse_view = bVar36;\n        goto LAB_001574d0;\n      }\n      if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= local_50) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x549;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x10efe6;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x1579dc;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      pRVar10 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                )._M_impl._M_start[local_50];\n      if (pRVar10 == (Relocatable_relocs *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x2ce;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a7b;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      pOVar11 = pRVar10->posd_;\n      if (pOVar11 == (Output_data *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x2d0;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a5d;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      bVar5 = pOVar11->field_0x1c;\n      if ((bVar5 & 4) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157b2c;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      uVar22 = (uint)pOVar11->offset_;\n      iVar21 = *(int *)((int)&pOVar11->offset_ + 4);\n      *(uint *)&local_54->offset = uVar22;\n      *(int *)((int)&local_54->offset + 4) = iVar21;\n      if ((bVar5 & 2) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xcf;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157b0e;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      uVar26 = (uint)pOVar11->data_size_;\n      local_54->view_size = uVar26;\n      if (iVar21 < 0) {\nLAB_00157ad5:\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157af0;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      local_94 = uVar26;\n      local_90 = 0;\n      local_60 = iVar21 + (uint)CARRY4(uVar26,uVar22);\n      local_64 = uVar26 + uVar22;\n      local_6c = *(uint *)((int)&of->file_size_ + 4);\n      uVar26 = (uint)((uint)of->file_size_ < uVar26 + uVar22);\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar26)) !=\n          (int)((local_6c - local_60) - uVar26) < 0) goto LAB_00157ad5;\n      local_54->view = of->base_ + uVar22;\n      if ((bVar5 & 1) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157ad5;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      uVar14 = pOVar11->address_;\n      local_50 = local_50 + _S_black;\n      *(undefined4 *)((int)&local_54->address + 4) = *(undefined4 *)((int)&pOVar11->address_ + 4);\n      *(int *)&local_54->address = (int)uVar14;\n      local_54->is_input_output_view = false;\n      local_54->is_postprocessing_view = false;\n      local_54->is_ctors_reverse_view = false;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    pRVar16 = rm.\n              super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n              ._M_impl._M_finish;\n    pRVar15 = rm.\n              super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n              ._M_impl._M_start;\n    if (rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n        ._M_impl._M_finish !=\n        rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n        ._M_impl._M_start) {\n      if (local_9d == '\0') {\n        puVar32[-1] = 0;\n        uVar26 = (int)pRVar16 - (int)pRVar15 >> 4;\n        uVar22 = 0x1f;\n        if (uVar26 != 0) {\n          for (; uVar26 >> uVar22 == 0; uVar22 = uVar22 - 1) {\n          }\n        }\n        puVar32[-2] = (0x1f - (uVar22 ^ 0x1f)) * 2;\n        puVar32[-3] = pRVar16;\n        puVar32[-4] = pRVar15;\n        puVar32[-5] = 0x1578f6;\n        std::\n        __introsort_loop<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                  ();\n        if ((int)pRVar16 - (int)pRVar15 < 0x101) {\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar16;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157944;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n        }\n        else {\n          pRVar35 = pRVar15 + 0x10;\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar35;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157913;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n          for (; pRVar16 != pRVar35; pRVar35 = pRVar35 + 1) {\n            puVar32[-3] = 0;\n            puVar32[-4] = pRVar35;\n            puVar32[-5] = 0x15792c;\n            std::\n            __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Read_multiple_compare>_>\n                      ();\n          }\n        }\n      }\n      pIVar9 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;\n      if (pIVar9 == (Input_file *)0x0) {\n        puVar32[-1] = 0x1579e1;\n        Object::input_file((Object *)*puVar32);\nLAB_001579e8:\n        ppuVar34 = local_84;\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xcf;\n        *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a06;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      puVar32[-1] = &rm;\n      puVar32[-2] = *(undefined4 *)\n                     ((int)&(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_ +\n                     4);\n      puVar32[-3] = (int)(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_;\n      puVar32[-4] = &pIVar9->file_;\n      puVar32[-5] = 0x157522;\n      File_read::read_multiple\n                ((File_read *)puVar32[-4],*(off_t *)(puVar32 + -3),(Read_multiple *)puVar32[-1]);\n    }\n    if (rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n        ._M_impl._M_start != (pointer)0x0) {\n      puVar32[-4] = rm.\n                    super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                    ._M_impl._M_start;\n      puVar32[-5] = 0x157538;\n      operator_delete((void *)puVar32[-4]);\n    }\n  }" { (expression_statement "local_50 = _S_black;" (assignment_expression "local_50 = _S_black" identifier = identifier) ;) (expression_statement "local_9d = '\x01';" (assignment_expression "local_9d = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_74 = &parameters;" (assignment_expression "local_74 = &parameters" identifier = (pointer_expression "&parameters" & identifier)) ;) (do_statement "do {\n      while( true ) {\n        local_54 = (pviews->\n                   super__Vector_base<gold::Sized_relobj_file<64,_true>::View_size,_std::allocator<gold::Sized_relobj_file<64,_true>::View_size>_>\n                   )._M_impl._M_start + local_50;\n        local_54->view = (uchar *)0x0;\n        pOVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start[local_50];\n        if (pOVar6 != (Output_section *)0x0) break;\nLAB_001574d0:\n        local_50 = local_50 + _S_black;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar22 = *(uint *)(local_58 + 4);\n      uVar22 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18;\n      if (uVar22 == 8) goto LAB_001574d0;\n      pGVar18 = (*local_74)->options_;\n      if (pGVar18 == (General_options *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x1579a3;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      if (((((pGVar18->relocatable_).value == false) && ((pGVar18->emit_relocs_).value == false)) ||\n          ((uVar22 != 4 && (uVar22 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar5 = pOVar6->field_0x90;\n        bVar27 = bVar5 >> 5;\n        local_5c = (uchar *)(CONCAT31(local_5c._1_3_,bVar27) & 0xffffff01);\n        if ((bVar27 & 1) == 0) {\n          bVar27 = (pOVar6->super_Output_data).field_0x1c;\n          if ((bVar27 & 4) == 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a99;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_64 = (uint)(pOVar6->super_Output_data).offset_;\n          local_60 = *(int *)((int)&(pOVar6->super_Output_data).offset_ + 4);\n          if ((bVar27 & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }\n        else {\n          local_64 = 0;\n          local_60 = 0;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }\n        puVar4 = (this->super_Sized_relobj<64,_true>).section_offsets_.\n                 super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                 ._M_impl._M_start + local_50;\n        local_6c = (uint)*puVar4;\n        local_68 = *(uint *)((int)puVar4 + 4);\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_88 = 0;\n          local_8c = local_78;\n          if (local_7c != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a3f;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          if ((undefined4 *******)local_78 == (undefined4 *******)0x0) goto LAB_001574d0;\n          pppppppuVar17 = (undefined4 *******)local_78;\n          if ((char)local_5c != '\0') {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) goto LAB_00157b2c;\n            local_54->view = pOVar6->postprocessing_buffer_ + local_64;\n            if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n            uVar14 = (pOVar6->super_Output_data).address_;\n            *(undefined4 *)((int)&local_54->address + 4) =\n                 *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n            *(int *)&local_54->address = (int)uVar14;\n            uVar22 = CONCAT31(local_5c._1_3_,bVar5 >> 5);\n            pGVar18 = (*local_74)->options_;\n            goto LAB_0015747d;\n          }\n          if (local_60 < 0) {\nLAB_00157a06:\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a21;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_6c = *(uint *)((int)&of->file_size_ + 4);\n          iVar29 = local_60 + (uint)CARRY4((uint)local_78,local_64);\n          uVar22 = (uint)(*(undefined1 **)&of->file_size_ < (undefined1 *)((int)local_78 + local_64)\n                         );\n          iVar21 = local_6c - iVar29;\n          if ((SBORROW4(local_6c,iVar29) != SBORROW4(iVar21,uVar22)) != (int)(iVar21 - uVar22) < 0)\n          goto LAB_00157a06;\n          local_54->view = of->base_ + local_64;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n          uVar20 = *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          *(int *)&local_54->address = (int)(pOVar6->super_Output_data).address_;\n          *(undefined4 *)((int)&local_54->address + 4) = uVar20;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          *(uint *)&local_54->offset = local_64;\n          local_54->view_size = (section_size_type)local_78;\n          local_54->is_input_output_view = true;\n          local_54->is_postprocessing_view = false;\n        }\n        else {\n          uVar22 = *(uint *)(local_58 + 0x24);\n          pppppppuVar17 =\n               (undefined4 *******)\n               (uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18)\n          ;\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157988;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          pCVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                   compressed_sections_;\n          if (pCVar7 == (Compressed_section_map *)0x0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            p_Var1 = &(pCVar7->_M_t)._M_impl.super__Rb_tree_header;\n            p_Var8 = (pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n            p_Var23 = &p_Var1->_M_header;\n            if (p_Var8 == (_Base_ptr)0x0) goto LAB_001577e0;\n            do {\n              while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }\n              p_Var8 = p_Var24->_M_left;\n              p_Var23 = p_Var24;\n            } while (p_Var24->_M_left != (_Base_ptr)0x0);\nLAB_00157368:\n            local_80 = (uint)p_Var1 & 0xffffff00;\n            if ((p_Var1 != (_Rb_tree_header *)p_Var24) &&\n               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)) {\n              local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);\n              pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);\n            }\n          }\n          if (pppppppuVar17 == (undefined4 *******)0x0) goto LAB_001574d0;\n          local_9c = pppppppuVar17;\n          local_98 = 0;\n          uVar22 = local_68 + CARRY4(local_6c,(uint)pppppppuVar17);\n          if (local_7c < uVar22 ||\n              local_7c - uVar22 <\n              (uint)(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17))) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x317;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157ab7;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          bVar36 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar36;\n          if ((char)local_5c == '\0') {\n            if ((local_60 < 0) ||\n               (iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0))\n            {\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = of->base_ + local_64;\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)((int)puVar32 + -4) = 0;\n            *(section_size_type **)((int)puVar32 + -8) = &len;\n            *(_Rb_tree_color *)((int)puVar32 + -0xc) = local_50;\n            *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10) = this;\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157743;\n            puVar19 = Object::section_contents\n                                (*(Object **)((int)puVar32 + -0x10),*(uint *)((int)puVar32 + -0xc),\n                                 *(section_size_type **)((int)puVar32 + -8),\n                                 *(bool *)((int)puVar32 + -4));\n            local_78 = *(undefined4 *******)(local_58 + 8);\n            uVar22 = *(uint *)(local_58 + 0xc);\n            *(uint *)((int)puVar32 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)((int)puVar32 + -8) =\n                 uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18\n            ;\n            *(undefined4 *)((int)puVar32 + -0xc) = 1;\n            *(undefined4 *)((int)puVar32 + -0x10) = 0x40;\n            *(undefined4 ********)((int)puVar32 + -0x14) = pppppppuVar17;\n            *(uchar **)((int)puVar32 + -0x18) = local_5c;\n            *(section_size_type *)((int)puVar32 + -0x1c) = len;\n            *(uchar **)((int)puVar32 + -0x20) = puVar19;\n            *(undefined4 *)((int)puVar32 + -0x24) = 0x157773;\n            bVar36 = decompress_input_section\n                               (*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),\n                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),\n                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),\n                                *(Elf_Xword *)((int)puVar32 + -8));\n            puVar31 = (undefined1 *)puVar32;\n            if (!bVar36) {\n              pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n              ;\n              *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n              *(undefined4 ********)((int)puVar32 + -0x10) = &local_34;\n              p_Var13 = pp_Var12[0x10];\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157793;\n              (*p_Var13)();\n              local_78 = local_34;\n              *(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8;\n              uVar20 = gettext();\n              *(undefined4 *******)((int)puVar32 + -0xc) = local_78;\n              *(undefined4 *)((int)puVar32 + -0x10) = uVar20;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb;\n              Object::error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));\n              puVar31 = (undefined1 *)((int)puVar32 + -4);\n              if ((undefined4 *******)local_34 == &local_2c) goto LAB_0015743e;\n              puVar30 = (undefined1 *)((int)puVar32 + -0x14);\n              *(undefined4 *******)((int)puVar32 + -0x14) = local_34;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8;\n              operator_delete(*(void **)((int)puVar32 + -0x14));\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) {\nLAB_00157b2c:\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0xe34;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = pOVar6->postprocessing_buffer_ + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar22 = *(uint *)(local_58 + 0x18);\n            uVar26 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n            local_78 = (undefined4 ******)\n                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18);\n            if (rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_start) {\n              piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4);\n              uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset);\n              iVar21 = local_30 - *piVar3;\n              cVar28 = (char)local_80;\n              if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0) {\n                cVar28 = local_9d;\n              }\n              local_9d = cVar28;\n            }\n            local_2c = pppppppuVar17;\n            local_28 = local_5c;\n            *(undefined4 ********)((int)puVar32 + -0xc) = &local_34;\n            puVar30 = (undefined1 *)((int)puVar32 + -0x10);\n            *(Read_multiple **)((int)puVar32 + -0x10) = &rm;\n            local_34 = local_78;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15743b;\n            std::\n            vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n            ::emplace_back<gold::File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));\nLAB_0015743b:\n            puVar31 = puVar30 + 0x10;\n          }\nLAB_0015743e:\n          local_54->view = local_5c;\n          puVar32 = (undefined4 *)puVar31;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) {\nLAB_0015794c:\n            ppuVar34 = local_84;\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15796a;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          uVar26 = (uint)(pOVar6->super_Output_data).address_;\n          iVar21 = *(int *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          pGVar18 = (*local_74)->options_;\n          uVar22 = CONCAT31(local_5c._1_3_,(byte)pOVar6->field_0x90 >> 5);\n          *(uint *)&local_54->address = uVar26 + local_6c;\n          *(uint *)((int)&local_54->address + 4) = iVar21 + local_68 + (uint)CARRY4(uVar26,local_6c)\n          ;\nLAB_0015747d:\n          local_5c = (uchar *)(uVar22 & 0xffffff01);\n          *(uint *)&local_54->offset = local_64;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          local_54->view_size = (section_size_type)pppppppuVar17;\n          local_54->is_input_output_view = (local_6c & local_68) == 0xffffffff;\n          local_54->is_postprocessing_view = (bool)(char)local_5c;\n          if (pGVar18 == (General_options *)0x0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x1579be;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n        }\n        bVar37 = false;\n        bVar36 = (bool)(((pGVar18->relocatable_).value ^ 1U) & &DAT_00000008 < pppppppuVar17);\n        bVar38 = bVar36 == false;\n        if (!bVar38) {\n          iVar21 = 0xc;\n          pbVar33 = (byte *)pOVar6->name_;\n          ppuVar34 = local_84 + -0x41295;\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar37 = *pbVar33 < *(byte *)ppuVar34;\n            bVar38 = *pbVar33 == *(byte *)ppuVar34;\n            pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n            ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n          } while (bVar38);\n          bVar36 = false;\n          bVar37 = (!bVar37 && !bVar38) == bVar37;\n          if (!bVar37) {\n            iVar21 = 0xc;\n            pbVar33 = (byte *)pOVar6->name_;\n            ppuVar34 = local_84 + -0x41292;\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar36 = *pbVar33 < *(byte *)ppuVar34;\n              bVar37 = *pbVar33 == *(byte *)ppuVar34;\n              pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n              ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n            } while (bVar37);\n            if ((!bVar36 && !bVar37) != bVar36) {\n              bVar36 = false;\n              goto LAB_001574ca;\n            }\n          }\n          *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n          *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n          *(Layout **)((int)puVar32 + -0x10) = layout;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)((int)puVar32 + -0x14) = 0x1578cc;\n          bVar36 = Layout::is_ctors_in_init_array\n                             (*(Layout **)((int)puVar32 + -0x10),*(Relobj **)((int)puVar32 + -0xc),\n                              *(uint *)((int)puVar32 + -8));\n        }\nLAB_001574ca:\n        local_54->is_ctors_reverse_view = bVar36;\n        goto LAB_001574d0;\n      }\n      if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= local_50) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x549;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x10efe6;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x1579dc;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      pRVar10 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                )._M_impl._M_start[local_50];\n      if (pRVar10 == (Relocatable_relocs *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x2ce;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a7b;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      pOVar11 = pRVar10->posd_;\n      if (pOVar11 == (Output_data *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x2d0;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a5d;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      bVar5 = pOVar11->field_0x1c;\n      if ((bVar5 & 4) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157b2c;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      uVar22 = (uint)pOVar11->offset_;\n      iVar21 = *(int *)((int)&pOVar11->offset_ + 4);\n      *(uint *)&local_54->offset = uVar22;\n      *(int *)((int)&local_54->offset + 4) = iVar21;\n      if ((bVar5 & 2) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xcf;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157b0e;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      uVar26 = (uint)pOVar11->data_size_;\n      local_54->view_size = uVar26;\n      if (iVar21 < 0) {\nLAB_00157ad5:\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157af0;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      local_94 = uVar26;\n      local_90 = 0;\n      local_60 = iVar21 + (uint)CARRY4(uVar26,uVar22);\n      local_64 = uVar26 + uVar22;\n      local_6c = *(uint *)((int)&of->file_size_ + 4);\n      uVar26 = (uint)((uint)of->file_size_ < uVar26 + uVar22);\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar26)) !=\n          (int)((local_6c - local_60) - uVar26) < 0) goto LAB_00157ad5;\n      local_54->view = of->base_ + uVar22;\n      if ((bVar5 & 1) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157ad5;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      uVar14 = pOVar11->address_;\n      local_50 = local_50 + _S_black;\n      *(undefined4 *)((int)&local_54->address + 4) = *(undefined4 *)((int)&pOVar11->address_ + 4);\n      *(int *)&local_54->address = (int)uVar14;\n      local_54->is_input_output_view = false;\n      local_54->is_postprocessing_view = false;\n      local_54->is_ctors_reverse_view = false;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);" do (compound_statement "{\n      while( true ) {\n        local_54 = (pviews->\n                   super__Vector_base<gold::Sized_relobj_file<64,_true>::View_size,_std::allocator<gold::Sized_relobj_file<64,_true>::View_size>_>\n                   )._M_impl._M_start + local_50;\n        local_54->view = (uchar *)0x0;\n        pOVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start[local_50];\n        if (pOVar6 != (Output_section *)0x0) break;\nLAB_001574d0:\n        local_50 = local_50 + _S_black;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar22 = *(uint *)(local_58 + 4);\n      uVar22 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18;\n      if (uVar22 == 8) goto LAB_001574d0;\n      pGVar18 = (*local_74)->options_;\n      if (pGVar18 == (General_options *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x1579a3;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      if (((((pGVar18->relocatable_).value == false) && ((pGVar18->emit_relocs_).value == false)) ||\n          ((uVar22 != 4 && (uVar22 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar5 = pOVar6->field_0x90;\n        bVar27 = bVar5 >> 5;\n        local_5c = (uchar *)(CONCAT31(local_5c._1_3_,bVar27) & 0xffffff01);\n        if ((bVar27 & 1) == 0) {\n          bVar27 = (pOVar6->super_Output_data).field_0x1c;\n          if ((bVar27 & 4) == 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a99;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_64 = (uint)(pOVar6->super_Output_data).offset_;\n          local_60 = *(int *)((int)&(pOVar6->super_Output_data).offset_ + 4);\n          if ((bVar27 & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }\n        else {\n          local_64 = 0;\n          local_60 = 0;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }\n        puVar4 = (this->super_Sized_relobj<64,_true>).section_offsets_.\n                 super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                 ._M_impl._M_start + local_50;\n        local_6c = (uint)*puVar4;\n        local_68 = *(uint *)((int)puVar4 + 4);\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_88 = 0;\n          local_8c = local_78;\n          if (local_7c != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a3f;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          if ((undefined4 *******)local_78 == (undefined4 *******)0x0) goto LAB_001574d0;\n          pppppppuVar17 = (undefined4 *******)local_78;\n          if ((char)local_5c != '\0') {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) goto LAB_00157b2c;\n            local_54->view = pOVar6->postprocessing_buffer_ + local_64;\n            if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n            uVar14 = (pOVar6->super_Output_data).address_;\n            *(undefined4 *)((int)&local_54->address + 4) =\n                 *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n            *(int *)&local_54->address = (int)uVar14;\n            uVar22 = CONCAT31(local_5c._1_3_,bVar5 >> 5);\n            pGVar18 = (*local_74)->options_;\n            goto LAB_0015747d;\n          }\n          if (local_60 < 0) {\nLAB_00157a06:\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a21;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_6c = *(uint *)((int)&of->file_size_ + 4);\n          iVar29 = local_60 + (uint)CARRY4((uint)local_78,local_64);\n          uVar22 = (uint)(*(undefined1 **)&of->file_size_ < (undefined1 *)((int)local_78 + local_64)\n                         );\n          iVar21 = local_6c - iVar29;\n          if ((SBORROW4(local_6c,iVar29) != SBORROW4(iVar21,uVar22)) != (int)(iVar21 - uVar22) < 0)\n          goto LAB_00157a06;\n          local_54->view = of->base_ + local_64;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n          uVar20 = *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          *(int *)&local_54->address = (int)(pOVar6->super_Output_data).address_;\n          *(undefined4 *)((int)&local_54->address + 4) = uVar20;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          *(uint *)&local_54->offset = local_64;\n          local_54->view_size = (section_size_type)local_78;\n          local_54->is_input_output_view = true;\n          local_54->is_postprocessing_view = false;\n        }\n        else {\n          uVar22 = *(uint *)(local_58 + 0x24);\n          pppppppuVar17 =\n               (undefined4 *******)\n               (uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18)\n          ;\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157988;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          pCVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                   compressed_sections_;\n          if (pCVar7 == (Compressed_section_map *)0x0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            p_Var1 = &(pCVar7->_M_t)._M_impl.super__Rb_tree_header;\n            p_Var8 = (pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n            p_Var23 = &p_Var1->_M_header;\n            if (p_Var8 == (_Base_ptr)0x0) goto LAB_001577e0;\n            do {\n              while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }\n              p_Var8 = p_Var24->_M_left;\n              p_Var23 = p_Var24;\n            } while (p_Var24->_M_left != (_Base_ptr)0x0);\nLAB_00157368:\n            local_80 = (uint)p_Var1 & 0xffffff00;\n            if ((p_Var1 != (_Rb_tree_header *)p_Var24) &&\n               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)) {\n              local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);\n              pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);\n            }\n          }\n          if (pppppppuVar17 == (undefined4 *******)0x0) goto LAB_001574d0;\n          local_9c = pppppppuVar17;\n          local_98 = 0;\n          uVar22 = local_68 + CARRY4(local_6c,(uint)pppppppuVar17);\n          if (local_7c < uVar22 ||\n              local_7c - uVar22 <\n              (uint)(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17))) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x317;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157ab7;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          bVar36 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar36;\n          if ((char)local_5c == '\0') {\n            if ((local_60 < 0) ||\n               (iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0))\n            {\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = of->base_ + local_64;\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)((int)puVar32 + -4) = 0;\n            *(section_size_type **)((int)puVar32 + -8) = &len;\n            *(_Rb_tree_color *)((int)puVar32 + -0xc) = local_50;\n            *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10) = this;\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157743;\n            puVar19 = Object::section_contents\n                                (*(Object **)((int)puVar32 + -0x10),*(uint *)((int)puVar32 + -0xc),\n                                 *(section_size_type **)((int)puVar32 + -8),\n                                 *(bool *)((int)puVar32 + -4));\n            local_78 = *(undefined4 *******)(local_58 + 8);\n            uVar22 = *(uint *)(local_58 + 0xc);\n            *(uint *)((int)puVar32 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)((int)puVar32 + -8) =\n                 uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18\n            ;\n            *(undefined4 *)((int)puVar32 + -0xc) = 1;\n            *(undefined4 *)((int)puVar32 + -0x10) = 0x40;\n            *(undefined4 ********)((int)puVar32 + -0x14) = pppppppuVar17;\n            *(uchar **)((int)puVar32 + -0x18) = local_5c;\n            *(section_size_type *)((int)puVar32 + -0x1c) = len;\n            *(uchar **)((int)puVar32 + -0x20) = puVar19;\n            *(undefined4 *)((int)puVar32 + -0x24) = 0x157773;\n            bVar36 = decompress_input_section\n                               (*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),\n                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),\n                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),\n                                *(Elf_Xword *)((int)puVar32 + -8));\n            puVar31 = (undefined1 *)puVar32;\n            if (!bVar36) {\n              pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n              ;\n              *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n              *(undefined4 ********)((int)puVar32 + -0x10) = &local_34;\n              p_Var13 = pp_Var12[0x10];\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157793;\n              (*p_Var13)();\n              local_78 = local_34;\n              *(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8;\n              uVar20 = gettext();\n              *(undefined4 *******)((int)puVar32 + -0xc) = local_78;\n              *(undefined4 *)((int)puVar32 + -0x10) = uVar20;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb;\n              Object::error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));\n              puVar31 = (undefined1 *)((int)puVar32 + -4);\n              if ((undefined4 *******)local_34 == &local_2c) goto LAB_0015743e;\n              puVar30 = (undefined1 *)((int)puVar32 + -0x14);\n              *(undefined4 *******)((int)puVar32 + -0x14) = local_34;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8;\n              operator_delete(*(void **)((int)puVar32 + -0x14));\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) {\nLAB_00157b2c:\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0xe34;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = pOVar6->postprocessing_buffer_ + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar22 = *(uint *)(local_58 + 0x18);\n            uVar26 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n            local_78 = (undefined4 ******)\n                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18);\n            if (rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_start) {\n              piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4);\n              uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset);\n              iVar21 = local_30 - *piVar3;\n              cVar28 = (char)local_80;\n              if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0) {\n                cVar28 = local_9d;\n              }\n              local_9d = cVar28;\n            }\n            local_2c = pppppppuVar17;\n            local_28 = local_5c;\n            *(undefined4 ********)((int)puVar32 + -0xc) = &local_34;\n            puVar30 = (undefined1 *)((int)puVar32 + -0x10);\n            *(Read_multiple **)((int)puVar32 + -0x10) = &rm;\n            local_34 = local_78;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15743b;\n            std::\n            vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n            ::emplace_back<gold::File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));\nLAB_0015743b:\n            puVar31 = puVar30 + 0x10;\n          }\nLAB_0015743e:\n          local_54->view = local_5c;\n          puVar32 = (undefined4 *)puVar31;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) {\nLAB_0015794c:\n            ppuVar34 = local_84;\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15796a;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          uVar26 = (uint)(pOVar6->super_Output_data).address_;\n          iVar21 = *(int *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          pGVar18 = (*local_74)->options_;\n          uVar22 = CONCAT31(local_5c._1_3_,(byte)pOVar6->field_0x90 >> 5);\n          *(uint *)&local_54->address = uVar26 + local_6c;\n          *(uint *)((int)&local_54->address + 4) = iVar21 + local_68 + (uint)CARRY4(uVar26,local_6c)\n          ;\nLAB_0015747d:\n          local_5c = (uchar *)(uVar22 & 0xffffff01);\n          *(uint *)&local_54->offset = local_64;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          local_54->view_size = (section_size_type)pppppppuVar17;\n          local_54->is_input_output_view = (local_6c & local_68) == 0xffffffff;\n          local_54->is_postprocessing_view = (bool)(char)local_5c;\n          if (pGVar18 == (General_options *)0x0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x1579be;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n        }\n        bVar37 = false;\n        bVar36 = (bool)(((pGVar18->relocatable_).value ^ 1U) & &DAT_00000008 < pppppppuVar17);\n        bVar38 = bVar36 == false;\n        if (!bVar38) {\n          iVar21 = 0xc;\n          pbVar33 = (byte *)pOVar6->name_;\n          ppuVar34 = local_84 + -0x41295;\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar37 = *pbVar33 < *(byte *)ppuVar34;\n            bVar38 = *pbVar33 == *(byte *)ppuVar34;\n            pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n            ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n          } while (bVar38);\n          bVar36 = false;\n          bVar37 = (!bVar37 && !bVar38) == bVar37;\n          if (!bVar37) {\n            iVar21 = 0xc;\n            pbVar33 = (byte *)pOVar6->name_;\n            ppuVar34 = local_84 + -0x41292;\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar36 = *pbVar33 < *(byte *)ppuVar34;\n              bVar37 = *pbVar33 == *(byte *)ppuVar34;\n              pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n              ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n            } while (bVar37);\n            if ((!bVar36 && !bVar37) != bVar36) {\n              bVar36 = false;\n              goto LAB_001574ca;\n            }\n          }\n          *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n          *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n          *(Layout **)((int)puVar32 + -0x10) = layout;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)((int)puVar32 + -0x14) = 0x1578cc;\n          bVar36 = Layout::is_ctors_in_init_array\n                             (*(Layout **)((int)puVar32 + -0x10),*(Relobj **)((int)puVar32 + -0xc),\n                              *(uint *)((int)puVar32 + -8));\n        }\nLAB_001574ca:\n        local_54->is_ctors_reverse_view = bVar36;\n        goto LAB_001574d0;\n      }\n      if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= local_50) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x549;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x10efe6;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x1579dc;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      pRVar10 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                )._M_impl._M_start[local_50];\n      if (pRVar10 == (Relocatable_relocs *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x2ce;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a7b;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      pOVar11 = pRVar10->posd_;\n      if (pOVar11 == (Output_data *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x2d0;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a5d;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      bVar5 = pOVar11->field_0x1c;\n      if ((bVar5 & 4) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157b2c;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      uVar22 = (uint)pOVar11->offset_;\n      iVar21 = *(int *)((int)&pOVar11->offset_ + 4);\n      *(uint *)&local_54->offset = uVar22;\n      *(int *)((int)&local_54->offset + 4) = iVar21;\n      if ((bVar5 & 2) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xcf;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157b0e;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      uVar26 = (uint)pOVar11->data_size_;\n      local_54->view_size = uVar26;\n      if (iVar21 < 0) {\nLAB_00157ad5:\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157af0;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      local_94 = uVar26;\n      local_90 = 0;\n      local_60 = iVar21 + (uint)CARRY4(uVar26,uVar22);\n      local_64 = uVar26 + uVar22;\n      local_6c = *(uint *)((int)&of->file_size_ + 4);\n      uVar26 = (uint)((uint)of->file_size_ < uVar26 + uVar22);\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar26)) !=\n          (int)((local_6c - local_60) - uVar26) < 0) goto LAB_00157ad5;\n      local_54->view = of->base_ + uVar22;\n      if ((bVar5 & 1) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157ad5;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      uVar14 = pOVar11->address_;\n      local_50 = local_50 + _S_black;\n      *(undefined4 *)((int)&local_54->address + 4) = *(undefined4 *)((int)&pOVar11->address_ + 4);\n      *(int *)&local_54->address = (int)uVar14;\n      local_54->is_input_output_view = false;\n      local_54->is_postprocessing_view = false;\n      local_54->is_ctors_reverse_view = false;\n      local_58 = local_58 + 0x40;\n    }" { (while_statement "while( true ) {\n        local_54 = (pviews->\n                   super__Vector_base<gold::Sized_relobj_file<64,_true>::View_size,_std::allocator<gold::Sized_relobj_file<64,_true>::View_size>_>\n                   )._M_impl._M_start + local_50;\n        local_54->view = (uchar *)0x0;\n        pOVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start[local_50];\n        if (pOVar6 != (Output_section *)0x0) break;\nLAB_001574d0:\n        local_50 = local_50 + _S_black;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        local_54 = (pviews->\n                   super__Vector_base<gold::Sized_relobj_file<64,_true>::View_size,_std::allocator<gold::Sized_relobj_file<64,_true>::View_size>_>\n                   )._M_impl._M_start + local_50;\n        local_54->view = (uchar *)0x0;\n        pOVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start[local_50];\n        if (pOVar6 != (Output_section *)0x0) break;\nLAB_001574d0:\n        local_50 = local_50 + _S_black;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }" { (expression_statement "local_54 = (pviews->\n                   super__Vector_base<gold::Sized_relobj_file<64,_true>::View_size,_std::allocator<gold::Sized_relobj_file<64,_true>::View_size>_>\n                   )._M_impl._M_start + local_50;" (assignment_expression "local_54 = (pviews->\n                   super__Vector_base<gold::Sized_relobj_file<64,_true>::View_size,_std::allocator<gold::Sized_relobj_file<64,_true>::View_size>_>\n                   )._M_impl._M_start + local_50" identifier = (binary_expression "(pviews->\n                   super__Vector_base<gold::Sized_relobj_file<64,_true>::View_size,_std::allocator<gold::Sized_relobj_file<64,_true>::View_size>_>\n                   )._M_impl._M_start + local_50" (field_expression "(pviews->\n                   super__Vector_base<gold::Sized_relobj_file<64,_true>::View_size,_std::allocator<gold::Sized_relobj_file<64,_true>::View_size>_>\n                   )._M_impl._M_start" (field_expression "(pviews->\n                   super__Vector_base<gold::Sized_relobj_file<64,_true>::View_size,_std::allocator<gold::Sized_relobj_file<64,_true>::View_size>_>\n                   )._M_impl" (parenthesized_expression "(pviews->\n                   super__Vector_base<gold::Sized_relobj_file<64,_true>::View_size,_std::allocator<gold::Sized_relobj_file<64,_true>::View_size>_>\n                   )" ( (ERROR "pviews->\n                   super__Vector_base<gold::Sized_relobj_file<64,_true>::View_size,_std::allocator<gold::" (comma_expression "pviews->\n                   super__Vector_base<gold::Sized_relobj_file<64,_true>::View_size,_std" (binary_expression "pviews->\n                   super__Vector_base<gold::Sized_relobj_file<64" (binary_expression "pviews->\n                   super__Vector_base<gold" (field_expression "pviews->\n                   super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_true>::View_size,_std" (binary_expression "_true>::View_size" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Sized_relobj_file<64,_true>::View_size>_" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_true>::View_size>_" (binary_expression "_true>::View_size" identifier > (ERROR "::" : :) identifier) > identifier)) (ERROR ">" >) )) . field_identifier) . field_identifier) + identifier)) ;) (expression_statement "local_54->view = (uchar *)0x0;" (assignment_expression "local_54->view = (uchar *)0x0" (field_expression "local_54->view" identifier -> field_identifier) = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pOVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start[local_50];" (subscript_expression "pOVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start[local_50]" (field_expression "pOVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start" (field_expression "pOVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl" (binary_expression "pOVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "pOVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "pOVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base<gold::Output_section*,_std" (assignment_expression "pOVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base<gold" identifier = (binary_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_.\n                 super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) ;) (if_statement "if (pOVar6 != (Output_section *)0x0) break;" if (parenthesized_expression "(pOVar6 != (Output_section *)0x0)" ( (binary_expression "pOVar6 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_001574d0:\n        local_50 = local_50 + _S_black;" statement_identifier : (expression_statement "local_50 = local_50 + _S_black;" (assignment_expression "local_50 = local_50 + _S_black" identifier = (binary_expression "local_50 + _S_black" identifier + identifier)) ;)) (expression_statement "local_58 = local_58 + 0x40;" (assignment_expression "local_58 = local_58 + 0x40" identifier = (binary_expression "local_58 + 0x40" identifier + number_literal)) ;) (if_statement "if (local_50 == local_70) goto LAB_001574e4;" if (parenthesized_expression "(local_50 == local_70)" ( (binary_expression "local_50 == local_70" identifier == identifier) )) (goto_statement "goto LAB_001574e4;" goto statement_identifier ;)) })) (expression_statement "uVar22 = *(uint *)(local_58 + 4);" (assignment_expression "uVar22 = *(uint *)(local_58 + 4)" identifier = (pointer_expression "*(uint *)(local_58 + 4)" * (cast_expression "(uint *)(local_58 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 4)" ( (binary_expression "local_58 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18;" (assignment_expression "uVar22 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18" identifier = (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8" (binary_expression "uVar22 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar22 & 0xff0000) >> 8" (parenthesized_expression "(uVar22 & 0xff0000)" ( (binary_expression "uVar22 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar22 & 0xff00) << 8" (parenthesized_expression "(uVar22 & 0xff00)" ( (binary_expression "uVar22 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar22 << 0x18" identifier << number_literal))) ;) (if_statement "if (uVar22 == 8) goto LAB_001574d0;" if (parenthesized_expression "(uVar22 == 8)" ( (binary_expression "uVar22 == 8" identifier == number_literal) )) (goto_statement "goto LAB_001574d0;" goto statement_identifier ;)) (expression_statement "pGVar18 = (*local_74)->options_;" (assignment_expression "pGVar18 = (*local_74)->options_" identifier = (field_expression "(*local_74)->options_" (parenthesized_expression "(*local_74)" ( (pointer_expression "*local_74" * identifier) )) -> field_identifier)) ;) (if_statement "if (pGVar18 == (General_options *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x1579a3;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" if (parenthesized_expression "(pGVar18 == (General_options *)0x0)" ( (binary_expression "pGVar18 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x1579a3;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" { (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e00a" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;" (assignment_expression "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c" (pointer_expression "*(undefined ***)((int)puVar32 + -0x10)" * (cast_expression "(undefined ***)((int)puVar32 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x41f7c" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x1579a3;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x1579a3" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (if_statement "if (((((pGVar18->relocatable_).value == false) && ((pGVar18->emit_relocs_).value == false)) ||\n          ((uVar22 != 4 && (uVar22 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar5 = pOVar6->field_0x90;\n        bVar27 = bVar5 >> 5;\n        local_5c = (uchar *)(CONCAT31(local_5c._1_3_,bVar27) & 0xffffff01);\n        if ((bVar27 & 1) == 0) {\n          bVar27 = (pOVar6->super_Output_data).field_0x1c;\n          if ((bVar27 & 4) == 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a99;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_64 = (uint)(pOVar6->super_Output_data).offset_;\n          local_60 = *(int *)((int)&(pOVar6->super_Output_data).offset_ + 4);\n          if ((bVar27 & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }\n        else {\n          local_64 = 0;\n          local_60 = 0;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }\n        puVar4 = (this->super_Sized_relobj<64,_true>).section_offsets_.\n                 super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                 ._M_impl._M_start + local_50;\n        local_6c = (uint)*puVar4;\n        local_68 = *(uint *)((int)puVar4 + 4);\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_88 = 0;\n          local_8c = local_78;\n          if (local_7c != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a3f;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          if ((undefined4 *******)local_78 == (undefined4 *******)0x0) goto LAB_001574d0;\n          pppppppuVar17 = (undefined4 *******)local_78;\n          if ((char)local_5c != '\0') {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) goto LAB_00157b2c;\n            local_54->view = pOVar6->postprocessing_buffer_ + local_64;\n            if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n            uVar14 = (pOVar6->super_Output_data).address_;\n            *(undefined4 *)((int)&local_54->address + 4) =\n                 *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n            *(int *)&local_54->address = (int)uVar14;\n            uVar22 = CONCAT31(local_5c._1_3_,bVar5 >> 5);\n            pGVar18 = (*local_74)->options_;\n            goto LAB_0015747d;\n          }\n          if (local_60 < 0) {\nLAB_00157a06:\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a21;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_6c = *(uint *)((int)&of->file_size_ + 4);\n          iVar29 = local_60 + (uint)CARRY4((uint)local_78,local_64);\n          uVar22 = (uint)(*(undefined1 **)&of->file_size_ < (undefined1 *)((int)local_78 + local_64)\n                         );\n          iVar21 = local_6c - iVar29;\n          if ((SBORROW4(local_6c,iVar29) != SBORROW4(iVar21,uVar22)) != (int)(iVar21 - uVar22) < 0)\n          goto LAB_00157a06;\n          local_54->view = of->base_ + local_64;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n          uVar20 = *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          *(int *)&local_54->address = (int)(pOVar6->super_Output_data).address_;\n          *(undefined4 *)((int)&local_54->address + 4) = uVar20;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          *(uint *)&local_54->offset = local_64;\n          local_54->view_size = (section_size_type)local_78;\n          local_54->is_input_output_view = true;\n          local_54->is_postprocessing_view = false;\n        }\n        else {\n          uVar22 = *(uint *)(local_58 + 0x24);\n          pppppppuVar17 =\n               (undefined4 *******)\n               (uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18)\n          ;\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157988;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          pCVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                   compressed_sections_;\n          if (pCVar7 == (Compressed_section_map *)0x0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            p_Var1 = &(pCVar7->_M_t)._M_impl.super__Rb_tree_header;\n            p_Var8 = (pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n            p_Var23 = &p_Var1->_M_header;\n            if (p_Var8 == (_Base_ptr)0x0) goto LAB_001577e0;\n            do {\n              while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }\n              p_Var8 = p_Var24->_M_left;\n              p_Var23 = p_Var24;\n            } while (p_Var24->_M_left != (_Base_ptr)0x0);\nLAB_00157368:\n            local_80 = (uint)p_Var1 & 0xffffff00;\n            if ((p_Var1 != (_Rb_tree_header *)p_Var24) &&\n               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)) {\n              local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);\n              pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);\n            }\n          }\n          if (pppppppuVar17 == (undefined4 *******)0x0) goto LAB_001574d0;\n          local_9c = pppppppuVar17;\n          local_98 = 0;\n          uVar22 = local_68 + CARRY4(local_6c,(uint)pppppppuVar17);\n          if (local_7c < uVar22 ||\n              local_7c - uVar22 <\n              (uint)(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17))) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x317;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157ab7;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          bVar36 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar36;\n          if ((char)local_5c == '\0') {\n            if ((local_60 < 0) ||\n               (iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0))\n            {\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = of->base_ + local_64;\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)((int)puVar32 + -4) = 0;\n            *(section_size_type **)((int)puVar32 + -8) = &len;\n            *(_Rb_tree_color *)((int)puVar32 + -0xc) = local_50;\n            *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10) = this;\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157743;\n            puVar19 = Object::section_contents\n                                (*(Object **)((int)puVar32 + -0x10),*(uint *)((int)puVar32 + -0xc),\n                                 *(section_size_type **)((int)puVar32 + -8),\n                                 *(bool *)((int)puVar32 + -4));\n            local_78 = *(undefined4 *******)(local_58 + 8);\n            uVar22 = *(uint *)(local_58 + 0xc);\n            *(uint *)((int)puVar32 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)((int)puVar32 + -8) =\n                 uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18\n            ;\n            *(undefined4 *)((int)puVar32 + -0xc) = 1;\n            *(undefined4 *)((int)puVar32 + -0x10) = 0x40;\n            *(undefined4 ********)((int)puVar32 + -0x14) = pppppppuVar17;\n            *(uchar **)((int)puVar32 + -0x18) = local_5c;\n            *(section_size_type *)((int)puVar32 + -0x1c) = len;\n            *(uchar **)((int)puVar32 + -0x20) = puVar19;\n            *(undefined4 *)((int)puVar32 + -0x24) = 0x157773;\n            bVar36 = decompress_input_section\n                               (*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),\n                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),\n                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),\n                                *(Elf_Xword *)((int)puVar32 + -8));\n            puVar31 = (undefined1 *)puVar32;\n            if (!bVar36) {\n              pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n              ;\n              *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n              *(undefined4 ********)((int)puVar32 + -0x10) = &local_34;\n              p_Var13 = pp_Var12[0x10];\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157793;\n              (*p_Var13)();\n              local_78 = local_34;\n              *(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8;\n              uVar20 = gettext();\n              *(undefined4 *******)((int)puVar32 + -0xc) = local_78;\n              *(undefined4 *)((int)puVar32 + -0x10) = uVar20;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb;\n              Object::error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));\n              puVar31 = (undefined1 *)((int)puVar32 + -4);\n              if ((undefined4 *******)local_34 == &local_2c) goto LAB_0015743e;\n              puVar30 = (undefined1 *)((int)puVar32 + -0x14);\n              *(undefined4 *******)((int)puVar32 + -0x14) = local_34;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8;\n              operator_delete(*(void **)((int)puVar32 + -0x14));\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) {\nLAB_00157b2c:\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0xe34;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = pOVar6->postprocessing_buffer_ + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar22 = *(uint *)(local_58 + 0x18);\n            uVar26 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n            local_78 = (undefined4 ******)\n                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18);\n            if (rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_start) {\n              piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4);\n              uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset);\n              iVar21 = local_30 - *piVar3;\n              cVar28 = (char)local_80;\n              if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0) {\n                cVar28 = local_9d;\n              }\n              local_9d = cVar28;\n            }\n            local_2c = pppppppuVar17;\n            local_28 = local_5c;\n            *(undefined4 ********)((int)puVar32 + -0xc) = &local_34;\n            puVar30 = (undefined1 *)((int)puVar32 + -0x10);\n            *(Read_multiple **)((int)puVar32 + -0x10) = &rm;\n            local_34 = local_78;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15743b;\n            std::\n            vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n            ::emplace_back<gold::File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));\nLAB_0015743b:\n            puVar31 = puVar30 + 0x10;\n          }\nLAB_0015743e:\n          local_54->view = local_5c;\n          puVar32 = (undefined4 *)puVar31;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) {\nLAB_0015794c:\n            ppuVar34 = local_84;\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15796a;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          uVar26 = (uint)(pOVar6->super_Output_data).address_;\n          iVar21 = *(int *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          pGVar18 = (*local_74)->options_;\n          uVar22 = CONCAT31(local_5c._1_3_,(byte)pOVar6->field_0x90 >> 5);\n          *(uint *)&local_54->address = uVar26 + local_6c;\n          *(uint *)((int)&local_54->address + 4) = iVar21 + local_68 + (uint)CARRY4(uVar26,local_6c)\n          ;\nLAB_0015747d:\n          local_5c = (uchar *)(uVar22 & 0xffffff01);\n          *(uint *)&local_54->offset = local_64;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          local_54->view_size = (section_size_type)pppppppuVar17;\n          local_54->is_input_output_view = (local_6c & local_68) == 0xffffffff;\n          local_54->is_postprocessing_view = (bool)(char)local_5c;\n          if (pGVar18 == (General_options *)0x0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x1579be;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n        }\n        bVar37 = false;\n        bVar36 = (bool)(((pGVar18->relocatable_).value ^ 1U) & &DAT_00000008 < pppppppuVar17);\n        bVar38 = bVar36 == false;\n        if (!bVar38) {\n          iVar21 = 0xc;\n          pbVar33 = (byte *)pOVar6->name_;\n          ppuVar34 = local_84 + -0x41295;\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar37 = *pbVar33 < *(byte *)ppuVar34;\n            bVar38 = *pbVar33 == *(byte *)ppuVar34;\n            pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n            ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n          } while (bVar38);\n          bVar36 = false;\n          bVar37 = (!bVar37 && !bVar38) == bVar37;\n          if (!bVar37) {\n            iVar21 = 0xc;\n            pbVar33 = (byte *)pOVar6->name_;\n            ppuVar34 = local_84 + -0x41292;\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar36 = *pbVar33 < *(byte *)ppuVar34;\n              bVar37 = *pbVar33 == *(byte *)ppuVar34;\n              pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n              ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n            } while (bVar37);\n            if ((!bVar36 && !bVar37) != bVar36) {\n              bVar36 = false;\n              goto LAB_001574ca;\n            }\n          }\n          *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n          *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n          *(Layout **)((int)puVar32 + -0x10) = layout;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)((int)puVar32 + -0x14) = 0x1578cc;\n          bVar36 = Layout::is_ctors_in_init_array\n                             (*(Layout **)((int)puVar32 + -0x10),*(Relobj **)((int)puVar32 + -0xc),\n                              *(uint *)((int)puVar32 + -8));\n        }\nLAB_001574ca:\n        local_54->is_ctors_reverse_view = bVar36;\n        goto LAB_001574d0;\n      }" if (parenthesized_expression "(((((pGVar18->relocatable_).value == false) && ((pGVar18->emit_relocs_).value == false)) ||\n          ((uVar22 != 4 && (uVar22 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0))" ( (binary_expression "((((pGVar18->relocatable_).value == false) && ((pGVar18->emit_relocs_).value == false)) ||\n          ((uVar22 != 4 && (uVar22 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)" (parenthesized_expression "((((pGVar18->relocatable_).value == false) && ((pGVar18->emit_relocs_).value == false)) ||\n          ((uVar22 != 4 && (uVar22 != 9))))" ( (binary_expression "(((pGVar18->relocatable_).value == false) && ((pGVar18->emit_relocs_).value == false)) ||\n          ((uVar22 != 4 && (uVar22 != 9)))" (parenthesized_expression "(((pGVar18->relocatable_).value == false) && ((pGVar18->emit_relocs_).value == false))" ( (binary_expression "((pGVar18->relocatable_).value == false) && ((pGVar18->emit_relocs_).value == false)" (parenthesized_expression "((pGVar18->relocatable_).value == false)" ( (binary_expression "(pGVar18->relocatable_).value == false" (field_expression "(pGVar18->relocatable_).value" (parenthesized_expression "(pGVar18->relocatable_)" ( (field_expression "pGVar18->relocatable_" identifier -> field_identifier) )) . field_identifier) == false) )) && (parenthesized_expression "((pGVar18->emit_relocs_).value == false)" ( (binary_expression "(pGVar18->emit_relocs_).value == false" (field_expression "(pGVar18->emit_relocs_).value" (parenthesized_expression "(pGVar18->emit_relocs_)" ( (field_expression "pGVar18->emit_relocs_" identifier -> field_identifier) )) . field_identifier) == false) ))) )) || (parenthesized_expression "((uVar22 != 4 && (uVar22 != 9)))" ( (parenthesized_expression "(uVar22 != 4 && (uVar22 != 9))" ( (binary_expression "uVar22 != 4 && (uVar22 != 9)" (binary_expression "uVar22 != 4" identifier != number_literal) && (parenthesized_expression "(uVar22 != 9)" ( (binary_expression "uVar22 != 9" identifier != number_literal) ))) )) ))) )) || (parenthesized_expression "((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)" ( (binary_expression "(*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0" (parenthesized_expression "(*(uint *)(local_58 + 0xc) >> 0x18 & 2)" ( (binary_expression "*(uint *)(local_58 + 0xc) >> 0x18 & 2" (binary_expression "*(uint *)(local_58 + 0xc) >> 0x18" (pointer_expression "*(uint *)(local_58 + 0xc)" * (cast_expression "(uint *)(local_58 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0xc)" ( (binary_expression "local_58 + 0xc" identifier + number_literal) )))) >> number_literal) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        bVar5 = pOVar6->field_0x90;\n        bVar27 = bVar5 >> 5;\n        local_5c = (uchar *)(CONCAT31(local_5c._1_3_,bVar27) & 0xffffff01);\n        if ((bVar27 & 1) == 0) {\n          bVar27 = (pOVar6->super_Output_data).field_0x1c;\n          if ((bVar27 & 4) == 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a99;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_64 = (uint)(pOVar6->super_Output_data).offset_;\n          local_60 = *(int *)((int)&(pOVar6->super_Output_data).offset_ + 4);\n          if ((bVar27 & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }\n        else {\n          local_64 = 0;\n          local_60 = 0;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }\n        puVar4 = (this->super_Sized_relobj<64,_true>).section_offsets_.\n                 super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                 ._M_impl._M_start + local_50;\n        local_6c = (uint)*puVar4;\n        local_68 = *(uint *)((int)puVar4 + 4);\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_88 = 0;\n          local_8c = local_78;\n          if (local_7c != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a3f;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          if ((undefined4 *******)local_78 == (undefined4 *******)0x0) goto LAB_001574d0;\n          pppppppuVar17 = (undefined4 *******)local_78;\n          if ((char)local_5c != '\0') {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) goto LAB_00157b2c;\n            local_54->view = pOVar6->postprocessing_buffer_ + local_64;\n            if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n            uVar14 = (pOVar6->super_Output_data).address_;\n            *(undefined4 *)((int)&local_54->address + 4) =\n                 *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n            *(int *)&local_54->address = (int)uVar14;\n            uVar22 = CONCAT31(local_5c._1_3_,bVar5 >> 5);\n            pGVar18 = (*local_74)->options_;\n            goto LAB_0015747d;\n          }\n          if (local_60 < 0) {\nLAB_00157a06:\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a21;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_6c = *(uint *)((int)&of->file_size_ + 4);\n          iVar29 = local_60 + (uint)CARRY4((uint)local_78,local_64);\n          uVar22 = (uint)(*(undefined1 **)&of->file_size_ < (undefined1 *)((int)local_78 + local_64)\n                         );\n          iVar21 = local_6c - iVar29;\n          if ((SBORROW4(local_6c,iVar29) != SBORROW4(iVar21,uVar22)) != (int)(iVar21 - uVar22) < 0)\n          goto LAB_00157a06;\n          local_54->view = of->base_ + local_64;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n          uVar20 = *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          *(int *)&local_54->address = (int)(pOVar6->super_Output_data).address_;\n          *(undefined4 *)((int)&local_54->address + 4) = uVar20;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          *(uint *)&local_54->offset = local_64;\n          local_54->view_size = (section_size_type)local_78;\n          local_54->is_input_output_view = true;\n          local_54->is_postprocessing_view = false;\n        }\n        else {\n          uVar22 = *(uint *)(local_58 + 0x24);\n          pppppppuVar17 =\n               (undefined4 *******)\n               (uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18)\n          ;\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157988;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          pCVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                   compressed_sections_;\n          if (pCVar7 == (Compressed_section_map *)0x0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            p_Var1 = &(pCVar7->_M_t)._M_impl.super__Rb_tree_header;\n            p_Var8 = (pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n            p_Var23 = &p_Var1->_M_header;\n            if (p_Var8 == (_Base_ptr)0x0) goto LAB_001577e0;\n            do {\n              while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }\n              p_Var8 = p_Var24->_M_left;\n              p_Var23 = p_Var24;\n            } while (p_Var24->_M_left != (_Base_ptr)0x0);\nLAB_00157368:\n            local_80 = (uint)p_Var1 & 0xffffff00;\n            if ((p_Var1 != (_Rb_tree_header *)p_Var24) &&\n               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)) {\n              local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);\n              pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);\n            }\n          }\n          if (pppppppuVar17 == (undefined4 *******)0x0) goto LAB_001574d0;\n          local_9c = pppppppuVar17;\n          local_98 = 0;\n          uVar22 = local_68 + CARRY4(local_6c,(uint)pppppppuVar17);\n          if (local_7c < uVar22 ||\n              local_7c - uVar22 <\n              (uint)(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17))) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x317;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157ab7;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          bVar36 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar36;\n          if ((char)local_5c == '\0') {\n            if ((local_60 < 0) ||\n               (iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0))\n            {\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = of->base_ + local_64;\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)((int)puVar32 + -4) = 0;\n            *(section_size_type **)((int)puVar32 + -8) = &len;\n            *(_Rb_tree_color *)((int)puVar32 + -0xc) = local_50;\n            *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10) = this;\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157743;\n            puVar19 = Object::section_contents\n                                (*(Object **)((int)puVar32 + -0x10),*(uint *)((int)puVar32 + -0xc),\n                                 *(section_size_type **)((int)puVar32 + -8),\n                                 *(bool *)((int)puVar32 + -4));\n            local_78 = *(undefined4 *******)(local_58 + 8);\n            uVar22 = *(uint *)(local_58 + 0xc);\n            *(uint *)((int)puVar32 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)((int)puVar32 + -8) =\n                 uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18\n            ;\n            *(undefined4 *)((int)puVar32 + -0xc) = 1;\n            *(undefined4 *)((int)puVar32 + -0x10) = 0x40;\n            *(undefined4 ********)((int)puVar32 + -0x14) = pppppppuVar17;\n            *(uchar **)((int)puVar32 + -0x18) = local_5c;\n            *(section_size_type *)((int)puVar32 + -0x1c) = len;\n            *(uchar **)((int)puVar32 + -0x20) = puVar19;\n            *(undefined4 *)((int)puVar32 + -0x24) = 0x157773;\n            bVar36 = decompress_input_section\n                               (*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),\n                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),\n                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),\n                                *(Elf_Xword *)((int)puVar32 + -8));\n            puVar31 = (undefined1 *)puVar32;\n            if (!bVar36) {\n              pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n              ;\n              *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n              *(undefined4 ********)((int)puVar32 + -0x10) = &local_34;\n              p_Var13 = pp_Var12[0x10];\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157793;\n              (*p_Var13)();\n              local_78 = local_34;\n              *(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8;\n              uVar20 = gettext();\n              *(undefined4 *******)((int)puVar32 + -0xc) = local_78;\n              *(undefined4 *)((int)puVar32 + -0x10) = uVar20;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb;\n              Object::error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));\n              puVar31 = (undefined1 *)((int)puVar32 + -4);\n              if ((undefined4 *******)local_34 == &local_2c) goto LAB_0015743e;\n              puVar30 = (undefined1 *)((int)puVar32 + -0x14);\n              *(undefined4 *******)((int)puVar32 + -0x14) = local_34;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8;\n              operator_delete(*(void **)((int)puVar32 + -0x14));\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) {\nLAB_00157b2c:\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0xe34;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = pOVar6->postprocessing_buffer_ + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar22 = *(uint *)(local_58 + 0x18);\n            uVar26 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n            local_78 = (undefined4 ******)\n                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18);\n            if (rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_start) {\n              piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4);\n              uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset);\n              iVar21 = local_30 - *piVar3;\n              cVar28 = (char)local_80;\n              if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0) {\n                cVar28 = local_9d;\n              }\n              local_9d = cVar28;\n            }\n            local_2c = pppppppuVar17;\n            local_28 = local_5c;\n            *(undefined4 ********)((int)puVar32 + -0xc) = &local_34;\n            puVar30 = (undefined1 *)((int)puVar32 + -0x10);\n            *(Read_multiple **)((int)puVar32 + -0x10) = &rm;\n            local_34 = local_78;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15743b;\n            std::\n            vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n            ::emplace_back<gold::File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));\nLAB_0015743b:\n            puVar31 = puVar30 + 0x10;\n          }\nLAB_0015743e:\n          local_54->view = local_5c;\n          puVar32 = (undefined4 *)puVar31;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) {\nLAB_0015794c:\n            ppuVar34 = local_84;\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15796a;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          uVar26 = (uint)(pOVar6->super_Output_data).address_;\n          iVar21 = *(int *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          pGVar18 = (*local_74)->options_;\n          uVar22 = CONCAT31(local_5c._1_3_,(byte)pOVar6->field_0x90 >> 5);\n          *(uint *)&local_54->address = uVar26 + local_6c;\n          *(uint *)((int)&local_54->address + 4) = iVar21 + local_68 + (uint)CARRY4(uVar26,local_6c)\n          ;\nLAB_0015747d:\n          local_5c = (uchar *)(uVar22 & 0xffffff01);\n          *(uint *)&local_54->offset = local_64;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          local_54->view_size = (section_size_type)pppppppuVar17;\n          local_54->is_input_output_view = (local_6c & local_68) == 0xffffffff;\n          local_54->is_postprocessing_view = (bool)(char)local_5c;\n          if (pGVar18 == (General_options *)0x0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x1579be;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n        }\n        bVar37 = false;\n        bVar36 = (bool)(((pGVar18->relocatable_).value ^ 1U) & &DAT_00000008 < pppppppuVar17);\n        bVar38 = bVar36 == false;\n        if (!bVar38) {\n          iVar21 = 0xc;\n          pbVar33 = (byte *)pOVar6->name_;\n          ppuVar34 = local_84 + -0x41295;\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar37 = *pbVar33 < *(byte *)ppuVar34;\n            bVar38 = *pbVar33 == *(byte *)ppuVar34;\n            pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n            ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n          } while (bVar38);\n          bVar36 = false;\n          bVar37 = (!bVar37 && !bVar38) == bVar37;\n          if (!bVar37) {\n            iVar21 = 0xc;\n            pbVar33 = (byte *)pOVar6->name_;\n            ppuVar34 = local_84 + -0x41292;\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar36 = *pbVar33 < *(byte *)ppuVar34;\n              bVar37 = *pbVar33 == *(byte *)ppuVar34;\n              pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n              ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n            } while (bVar37);\n            if ((!bVar36 && !bVar37) != bVar36) {\n              bVar36 = false;\n              goto LAB_001574ca;\n            }\n          }\n          *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n          *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n          *(Layout **)((int)puVar32 + -0x10) = layout;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)((int)puVar32 + -0x14) = 0x1578cc;\n          bVar36 = Layout::is_ctors_in_init_array\n                             (*(Layout **)((int)puVar32 + -0x10),*(Relobj **)((int)puVar32 + -0xc),\n                              *(uint *)((int)puVar32 + -8));\n        }\nLAB_001574ca:\n        local_54->is_ctors_reverse_view = bVar36;\n        goto LAB_001574d0;\n      }" { (expression_statement "bVar5 = pOVar6->field_0x90;" (assignment_expression "bVar5 = pOVar6->field_0x90" identifier = (field_expression "pOVar6->field_0x90" identifier -> field_identifier)) ;) (expression_statement "bVar27 = bVar5 >> 5;" (assignment_expression "bVar27 = bVar5 >> 5" identifier = (binary_expression "bVar5 >> 5" identifier >> number_literal)) ;) (expression_statement "local_5c = (uchar *)(CONCAT31(local_5c._1_3_,bVar27) & 0xffffff01);" (assignment_expression "local_5c = (uchar *)(CONCAT31(local_5c._1_3_,bVar27) & 0xffffff01)" identifier = (cast_expression "(uchar *)(CONCAT31(local_5c._1_3_,bVar27) & 0xffffff01)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(CONCAT31(local_5c._1_3_,bVar27) & 0xffffff01)" ( (binary_expression "CONCAT31(local_5c._1_3_,bVar27) & 0xffffff01" (call_expression "CONCAT31(local_5c._1_3_,bVar27)" identifier (argument_list "(local_5c._1_3_,bVar27)" ( (field_expression "local_5c._1_3_" identifier . field_identifier) , identifier ))) & number_literal) )))) ;) (if_statement "if ((bVar27 & 1) == 0) {\n          bVar27 = (pOVar6->super_Output_data).field_0x1c;\n          if ((bVar27 & 4) == 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a99;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_64 = (uint)(pOVar6->super_Output_data).offset_;\n          local_60 = *(int *)((int)&(pOVar6->super_Output_data).offset_ + 4);\n          if ((bVar27 & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }\n        else {\n          local_64 = 0;\n          local_60 = 0;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }" if (parenthesized_expression "((bVar27 & 1) == 0)" ( (binary_expression "(bVar27 & 1) == 0" (parenthesized_expression "(bVar27 & 1)" ( (binary_expression "bVar27 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          bVar27 = (pOVar6->super_Output_data).field_0x1c;\n          if ((bVar27 & 4) == 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a99;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_64 = (uint)(pOVar6->super_Output_data).offset_;\n          local_60 = *(int *)((int)&(pOVar6->super_Output_data).offset_ + 4);\n          if ((bVar27 & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }" { (expression_statement "bVar27 = (pOVar6->super_Output_data).field_0x1c;" (assignment_expression "bVar27 = (pOVar6->super_Output_data).field_0x1c" identifier = (field_expression "(pOVar6->super_Output_data).field_0x1c" (parenthesized_expression "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((bVar27 & 4) == 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a99;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }" if (parenthesized_expression "((bVar27 & 4) == 0)" ( (binary_expression "(bVar27 & 4) == 0" (parenthesized_expression "(bVar27 & 4)" ( (binary_expression "bVar27 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a99;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }" { (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e080" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0xe3;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0xe3" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)((int)puVar32 + -0x10)" * (cast_expression "(undefined ***)((int)puVar32 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x157a99;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x157a99" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "local_64 = (uint)(pOVar6->super_Output_data).offset_;" (assignment_expression "local_64 = (uint)(pOVar6->super_Output_data).offset_" identifier = (field_expression "(uint)(pOVar6->super_Output_data).offset_" (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)) ;) (expression_statement "local_60 = *(int *)((int)&(pOVar6->super_Output_data).offset_ + 4);" (assignment_expression "local_60 = *(int *)((int)&(pOVar6->super_Output_data).offset_ + 4)" identifier = (pointer_expression "*(int *)((int)&(pOVar6->super_Output_data).offset_ + 4)" * (cast_expression "(int *)((int)&(pOVar6->super_Output_data).offset_ + 4)" ( (type_descriptor "int *" primitive_type (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) ))))) ;) (if_statement "if ((bVar27 & 2) == 0) goto LAB_001579e8;" if (parenthesized_expression "((bVar27 & 2) == 0)" ( (binary_expression "(bVar27 & 2) == 0" (parenthesized_expression "(bVar27 & 2)" ( (binary_expression "bVar27 & 2" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001579e8;" goto statement_identifier ;)) (expression_statement "local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;" (assignment_expression "local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_" identifier = (pointer_expression "*(undefined4 ********)&(pOVar6->super_Output_data).data_size_" * (cast_expression "(undefined4 ********)&(pOVar6->super_Output_data).data_size_" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (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))))) ;) (expression_statement "local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);" (assignment_expression "local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4)" identifier = (pointer_expression "*(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4)" * (cast_expression "(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((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) ))))) ;) }) (else_clause "else {\n          local_64 = 0;\n          local_60 = 0;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }" else (compound_statement "{\n          local_64 = 0;\n          local_60 = 0;\n          local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;\n          local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        }" { (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_;" (assignment_expression "local_78 = *(undefined4 ********)&(pOVar6->super_Output_data).data_size_" identifier = (pointer_expression "*(undefined4 ********)&(pOVar6->super_Output_data).data_size_" * (cast_expression "(undefined4 ********)&(pOVar6->super_Output_data).data_size_" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (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))))) ;) (expression_statement "local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4);" (assignment_expression "local_7c = *(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4)" identifier = (pointer_expression "*(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4)" * (cast_expression "(uint *)((int)&(pOVar6->super_Output_data).data_size_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((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) ))))) ;) }))) (ERROR "puVar4 = (this->super_Sized_relobj<64,_true>).section_offsets_.\n                 super__Vector_base<long_long_unsigned_int,_std::" (comma_expression "puVar4 = (this->super_Sized_relobj<64,_true>).section_offsets_.\n                 super__Vector_base<long_long_unsigned_int,_std" (assignment_expression "puVar4 = (this->super_Sized_relobj<64,_true>).section_offsets_.\n                 super__Vector_base<long_long_unsigned_int" identifier = (binary_expression "(this->super_Sized_relobj<64,_true>).section_offsets_.\n                 super__Vector_base<long_long_unsigned_int" (field_expression "(this->super_Sized_relobj<64,_true>).section_offsets_.\n                 super__Vector_base" (field_expression "(this->super_Sized_relobj<64,_true>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<long_long_unsigned_int>_>\n                 ._M_impl._M_start + local_50;" (binary_expression "allocator<long_long_unsigned_int>_>\n                 ._M_impl._M_start + local_50" (field_expression "allocator<long_long_unsigned_int>_>\n                 ._M_impl._M_start" (field_expression "allocator<long_long_unsigned_int>_>\n                 ._M_impl" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) + identifier) ;) (expression_statement "local_6c = (uint)*puVar4;" (assignment_expression "local_6c = (uint)*puVar4" identifier = (binary_expression "(uint)*puVar4" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "local_68 = *(uint *)((int)puVar4 + 4);" (assignment_expression "local_68 = *(uint *)((int)puVar4 + 4)" identifier = (pointer_expression "*(uint *)((int)puVar4 + 4)" * (cast_expression "(uint *)((int)puVar4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar4 + 4)" ( (binary_expression "(int)puVar4 + 4" (cast_expression "(int)puVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((local_68 & local_6c) == 0xffffffff) {\n          local_88 = 0;\n          local_8c = local_78;\n          if (local_7c != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a3f;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          if ((undefined4 *******)local_78 == (undefined4 *******)0x0) goto LAB_001574d0;\n          pppppppuVar17 = (undefined4 *******)local_78;\n          if ((char)local_5c != '\0') {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) goto LAB_00157b2c;\n            local_54->view = pOVar6->postprocessing_buffer_ + local_64;\n            if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n            uVar14 = (pOVar6->super_Output_data).address_;\n            *(undefined4 *)((int)&local_54->address + 4) =\n                 *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n            *(int *)&local_54->address = (int)uVar14;\n            uVar22 = CONCAT31(local_5c._1_3_,bVar5 >> 5);\n            pGVar18 = (*local_74)->options_;\n            goto LAB_0015747d;\n          }\n          if (local_60 < 0) {\nLAB_00157a06:\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a21;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_6c = *(uint *)((int)&of->file_size_ + 4);\n          iVar29 = local_60 + (uint)CARRY4((uint)local_78,local_64);\n          uVar22 = (uint)(*(undefined1 **)&of->file_size_ < (undefined1 *)((int)local_78 + local_64)\n                         );\n          iVar21 = local_6c - iVar29;\n          if ((SBORROW4(local_6c,iVar29) != SBORROW4(iVar21,uVar22)) != (int)(iVar21 - uVar22) < 0)\n          goto LAB_00157a06;\n          local_54->view = of->base_ + local_64;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n          uVar20 = *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          *(int *)&local_54->address = (int)(pOVar6->super_Output_data).address_;\n          *(undefined4 *)((int)&local_54->address + 4) = uVar20;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          *(uint *)&local_54->offset = local_64;\n          local_54->view_size = (section_size_type)local_78;\n          local_54->is_input_output_view = true;\n          local_54->is_postprocessing_view = false;\n        }\n        else {\n          uVar22 = *(uint *)(local_58 + 0x24);\n          pppppppuVar17 =\n               (undefined4 *******)\n               (uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18)\n          ;\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157988;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          pCVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                   compressed_sections_;\n          if (pCVar7 == (Compressed_section_map *)0x0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            p_Var1 = &(pCVar7->_M_t)._M_impl.super__Rb_tree_header;\n            p_Var8 = (pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n            p_Var23 = &p_Var1->_M_header;\n            if (p_Var8 == (_Base_ptr)0x0) goto LAB_001577e0;\n            do {\n              while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }\n              p_Var8 = p_Var24->_M_left;\n              p_Var23 = p_Var24;\n            } while (p_Var24->_M_left != (_Base_ptr)0x0);\nLAB_00157368:\n            local_80 = (uint)p_Var1 & 0xffffff00;\n            if ((p_Var1 != (_Rb_tree_header *)p_Var24) &&\n               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)) {\n              local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);\n              pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);\n            }\n          }\n          if (pppppppuVar17 == (undefined4 *******)0x0) goto LAB_001574d0;\n          local_9c = pppppppuVar17;\n          local_98 = 0;\n          uVar22 = local_68 + CARRY4(local_6c,(uint)pppppppuVar17);\n          if (local_7c < uVar22 ||\n              local_7c - uVar22 <\n              (uint)(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17))) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x317;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157ab7;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          bVar36 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar36;\n          if ((char)local_5c == '\0') {\n            if ((local_60 < 0) ||\n               (iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0))\n            {\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = of->base_ + local_64;\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)((int)puVar32 + -4) = 0;\n            *(section_size_type **)((int)puVar32 + -8) = &len;\n            *(_Rb_tree_color *)((int)puVar32 + -0xc) = local_50;\n            *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10) = this;\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157743;\n            puVar19 = Object::section_contents\n                                (*(Object **)((int)puVar32 + -0x10),*(uint *)((int)puVar32 + -0xc),\n                                 *(section_size_type **)((int)puVar32 + -8),\n                                 *(bool *)((int)puVar32 + -4));\n            local_78 = *(undefined4 *******)(local_58 + 8);\n            uVar22 = *(uint *)(local_58 + 0xc);\n            *(uint *)((int)puVar32 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)((int)puVar32 + -8) =\n                 uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18\n            ;\n            *(undefined4 *)((int)puVar32 + -0xc) = 1;\n            *(undefined4 *)((int)puVar32 + -0x10) = 0x40;\n            *(undefined4 ********)((int)puVar32 + -0x14) = pppppppuVar17;\n            *(uchar **)((int)puVar32 + -0x18) = local_5c;\n            *(section_size_type *)((int)puVar32 + -0x1c) = len;\n            *(uchar **)((int)puVar32 + -0x20) = puVar19;\n            *(undefined4 *)((int)puVar32 + -0x24) = 0x157773;\n            bVar36 = decompress_input_section\n                               (*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),\n                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),\n                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),\n                                *(Elf_Xword *)((int)puVar32 + -8));\n            puVar31 = (undefined1 *)puVar32;\n            if (!bVar36) {\n              pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n              ;\n              *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n              *(undefined4 ********)((int)puVar32 + -0x10) = &local_34;\n              p_Var13 = pp_Var12[0x10];\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157793;\n              (*p_Var13)();\n              local_78 = local_34;\n              *(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8;\n              uVar20 = gettext();\n              *(undefined4 *******)((int)puVar32 + -0xc) = local_78;\n              *(undefined4 *)((int)puVar32 + -0x10) = uVar20;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb;\n              Object::error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));\n              puVar31 = (undefined1 *)((int)puVar32 + -4);\n              if ((undefined4 *******)local_34 == &local_2c) goto LAB_0015743e;\n              puVar30 = (undefined1 *)((int)puVar32 + -0x14);\n              *(undefined4 *******)((int)puVar32 + -0x14) = local_34;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8;\n              operator_delete(*(void **)((int)puVar32 + -0x14));\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) {\nLAB_00157b2c:\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0xe34;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = pOVar6->postprocessing_buffer_ + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar22 = *(uint *)(local_58 + 0x18);\n            uVar26 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n            local_78 = (undefined4 ******)\n                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18);\n            if (rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_start) {\n              piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4);\n              uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset);\n              iVar21 = local_30 - *piVar3;\n              cVar28 = (char)local_80;\n              if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0) {\n                cVar28 = local_9d;\n              }\n              local_9d = cVar28;\n            }\n            local_2c = pppppppuVar17;\n            local_28 = local_5c;\n            *(undefined4 ********)((int)puVar32 + -0xc) = &local_34;\n            puVar30 = (undefined1 *)((int)puVar32 + -0x10);\n            *(Read_multiple **)((int)puVar32 + -0x10) = &rm;\n            local_34 = local_78;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15743b;\n            std::\n            vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n            ::emplace_back<gold::File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));\nLAB_0015743b:\n            puVar31 = puVar30 + 0x10;\n          }\nLAB_0015743e:\n          local_54->view = local_5c;\n          puVar32 = (undefined4 *)puVar31;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) {\nLAB_0015794c:\n            ppuVar34 = local_84;\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15796a;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          uVar26 = (uint)(pOVar6->super_Output_data).address_;\n          iVar21 = *(int *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          pGVar18 = (*local_74)->options_;\n          uVar22 = CONCAT31(local_5c._1_3_,(byte)pOVar6->field_0x90 >> 5);\n          *(uint *)&local_54->address = uVar26 + local_6c;\n          *(uint *)((int)&local_54->address + 4) = iVar21 + local_68 + (uint)CARRY4(uVar26,local_6c)\n          ;\nLAB_0015747d:\n          local_5c = (uchar *)(uVar22 & 0xffffff01);\n          *(uint *)&local_54->offset = local_64;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          local_54->view_size = (section_size_type)pppppppuVar17;\n          local_54->is_input_output_view = (local_6c & local_68) == 0xffffffff;\n          local_54->is_postprocessing_view = (bool)(char)local_5c;\n          if (pGVar18 == (General_options *)0x0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x1579be;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n        }" if (parenthesized_expression "((local_68 & local_6c) == 0xffffffff)" ( (binary_expression "(local_68 & local_6c) == 0xffffffff" (parenthesized_expression "(local_68 & local_6c)" ( (binary_expression "local_68 & local_6c" identifier & identifier) )) == number_literal) )) (compound_statement "{\n          local_88 = 0;\n          local_8c = local_78;\n          if (local_7c != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a3f;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          if ((undefined4 *******)local_78 == (undefined4 *******)0x0) goto LAB_001574d0;\n          pppppppuVar17 = (undefined4 *******)local_78;\n          if ((char)local_5c != '\0') {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) goto LAB_00157b2c;\n            local_54->view = pOVar6->postprocessing_buffer_ + local_64;\n            if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n            uVar14 = (pOVar6->super_Output_data).address_;\n            *(undefined4 *)((int)&local_54->address + 4) =\n                 *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n            *(int *)&local_54->address = (int)uVar14;\n            uVar22 = CONCAT31(local_5c._1_3_,bVar5 >> 5);\n            pGVar18 = (*local_74)->options_;\n            goto LAB_0015747d;\n          }\n          if (local_60 < 0) {\nLAB_00157a06:\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a21;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          local_6c = *(uint *)((int)&of->file_size_ + 4);\n          iVar29 = local_60 + (uint)CARRY4((uint)local_78,local_64);\n          uVar22 = (uint)(*(undefined1 **)&of->file_size_ < (undefined1 *)((int)local_78 + local_64)\n                         );\n          iVar21 = local_6c - iVar29;\n          if ((SBORROW4(local_6c,iVar29) != SBORROW4(iVar21,uVar22)) != (int)(iVar21 - uVar22) < 0)\n          goto LAB_00157a06;\n          local_54->view = of->base_ + local_64;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n          uVar20 = *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          *(int *)&local_54->address = (int)(pOVar6->super_Output_data).address_;\n          *(undefined4 *)((int)&local_54->address + 4) = uVar20;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          *(uint *)&local_54->offset = local_64;\n          local_54->view_size = (section_size_type)local_78;\n          local_54->is_input_output_view = true;\n          local_54->is_postprocessing_view = false;\n        }" { (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_8c = local_78;" (assignment_expression "local_8c = local_78" identifier = identifier) ;) (if_statement "if (local_7c != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a3f;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }" if (parenthesized_expression "(local_7c != 0)" ( (binary_expression "local_7c != 0" identifier != number_literal) )) (compound_statement "{\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a3f;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }" { (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e09f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0xc0;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0xc0" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;" (assignment_expression "*(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7" (pointer_expression "*(int *)((int)puVar32 + -0x10)" * (cast_expression "(int *)((int)puVar32 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_84 + -0x107be7" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x157a3f;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x157a3f" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (if_statement "if ((undefined4 *******)local_78 == (undefined4 *******)0x0) goto LAB_001574d0;" if (parenthesized_expression "((undefined4 *******)local_78 == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)local_78 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)local_78" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_001574d0;" goto statement_identifier ;)) (expression_statement "pppppppuVar17 = (undefined4 *******)local_78;" (assignment_expression "pppppppuVar17 = (undefined4 *******)local_78" identifier = (cast_expression "(undefined4 *******)local_78" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if ((char)local_5c != '\0') {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) goto LAB_00157b2c;\n            local_54->view = pOVar6->postprocessing_buffer_ + local_64;\n            if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n            uVar14 = (pOVar6->super_Output_data).address_;\n            *(undefined4 *)((int)&local_54->address + 4) =\n                 *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n            *(int *)&local_54->address = (int)uVar14;\n            uVar22 = CONCAT31(local_5c._1_3_,bVar5 >> 5);\n            pGVar18 = (*local_74)->options_;\n            goto LAB_0015747d;\n          }" if (parenthesized_expression "((char)local_5c != '\0')" ( (binary_expression "(char)local_5c != '\0'" (cast_expression "(char)local_5c" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) goto LAB_00157b2c;\n            local_54->view = pOVar6->postprocessing_buffer_ + local_64;\n            if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;\n            uVar14 = (pOVar6->super_Output_data).address_;\n            *(undefined4 *)((int)&local_54->address + 4) =\n                 *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);\n            *(int *)&local_54->address = (int)uVar14;\n            uVar22 = CONCAT31(local_5c._1_3_,bVar5 >> 5);\n            pGVar18 = (*local_74)->options_;\n            goto LAB_0015747d;\n          }" { (if_statement "if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) goto LAB_00157b2c;" if (parenthesized_expression "(pOVar6->postprocessing_buffer_ == (uchar *)0x0)" ( (binary_expression "pOVar6->postprocessing_buffer_ == (uchar *)0x0" (field_expression "pOVar6->postprocessing_buffer_" identifier -> field_identifier) == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00157b2c;" goto statement_identifier ;)) (expression_statement "local_54->view = pOVar6->postprocessing_buffer_ + local_64;" (assignment_expression "local_54->view = pOVar6->postprocessing_buffer_ + local_64" (field_expression "local_54->view" identifier -> field_identifier) = (binary_expression "pOVar6->postprocessing_buffer_ + local_64" (field_expression "pOVar6->postprocessing_buffer_" identifier -> field_identifier) + identifier)) ;) (if_statement "if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;" if (parenthesized_expression "(((pOVar6->super_Output_data).field_0x1c & 1) == 0)" ( (binary_expression "((pOVar6->super_Output_data).field_0x1c & 1) == 0" (parenthesized_expression "((pOVar6->super_Output_data).field_0x1c & 1)" ( (binary_expression "(pOVar6->super_Output_data).field_0x1c & 1" (field_expression "(pOVar6->super_Output_data).field_0x1c" (parenthesized_expression "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0015794c;" goto statement_identifier ;)) (expression_statement "uVar14 = (pOVar6->super_Output_data).address_;" (assignment_expression "uVar14 = (pOVar6->super_Output_data).address_" identifier = (field_expression "(pOVar6->super_Output_data).address_" (parenthesized_expression "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)&local_54->address + 4) =\n                 *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);" (assignment_expression "*(undefined4 *)((int)&local_54->address + 4) =\n                 *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4)" (pointer_expression "*(undefined4 *)((int)&local_54->address + 4)" * (cast_expression "(undefined4 *)((int)&local_54->address + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_54->address + 4)" ( (binary_expression "(int)&local_54->address + 4" (cast_expression "(int)&local_54->address" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_54->address" & (field_expression "local_54->address" identifier -> field_identifier))) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar6->super_Output_data).address_ + 4)" ( (binary_expression "(int)&(pOVar6->super_Output_data).address_ + 4" (cast_expression "(int)&(pOVar6->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar6->super_Output_data).address_" & (field_expression "(pOVar6->super_Output_data).address_" (parenthesized_expression "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "*(int *)&local_54->address = (int)uVar14;" (assignment_expression "*(int *)&local_54->address = (int)uVar14" (pointer_expression "*(int *)&local_54->address" * (cast_expression "(int *)&local_54->address" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_54->address" & (field_expression "local_54->address" identifier -> field_identifier)))) = (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar22 = CONCAT31(local_5c._1_3_,bVar5 >> 5);" (assignment_expression "uVar22 = CONCAT31(local_5c._1_3_,bVar5 >> 5)" identifier = (call_expression "CONCAT31(local_5c._1_3_,bVar5 >> 5)" identifier (argument_list "(local_5c._1_3_,bVar5 >> 5)" ( (field_expression "local_5c._1_3_" identifier . field_identifier) , (binary_expression "bVar5 >> 5" identifier >> number_literal) )))) ;) (expression_statement "pGVar18 = (*local_74)->options_;" (assignment_expression "pGVar18 = (*local_74)->options_" identifier = (field_expression "(*local_74)->options_" (parenthesized_expression "(*local_74)" ( (pointer_expression "*local_74" * identifier) )) -> field_identifier)) ;) (goto_statement "goto LAB_0015747d;" goto statement_identifier ;) })) (if_statement "if (local_60 < 0) {\nLAB_00157a06:\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a21;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }" if (parenthesized_expression "(local_60 < 0)" ( (binary_expression "local_60 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_00157a06:\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157a21;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }" { (labeled_statement "LAB_00157a06:\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;" statement_identifier : (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e091" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0x6f;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0x6f" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)((int)puVar32 + -0x10)" * (cast_expression "(undefined ***)((int)puVar32 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x157a21;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x157a21" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "local_6c = *(uint *)((int)&of->file_size_ + 4);" (assignment_expression "local_6c = *(uint *)((int)&of->file_size_ + 4)" identifier = (pointer_expression "*(uint *)((int)&of->file_size_ + 4)" * (cast_expression "(uint *)((int)&of->file_size_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((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) ))))) ;) (expression_statement "iVar29 = local_60 + (uint)CARRY4((uint)local_78,local_64);" (assignment_expression "iVar29 = local_60 + (uint)CARRY4((uint)local_78,local_64)" identifier = (binary_expression "local_60 + (uint)CARRY4((uint)local_78,local_64)" identifier + (cast_expression "(uint)CARRY4((uint)local_78,local_64)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)local_78,local_64)" identifier (argument_list "((uint)local_78,local_64)" ( (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))))) ;) (expression_statement "uVar22 = (uint)(*(undefined1 **)&of->file_size_ < (undefined1 *)((int)local_78 + local_64)\n                         );" (assignment_expression "uVar22 = (uint)(*(undefined1 **)&of->file_size_ < (undefined1 *)((int)local_78 + local_64)\n                         )" identifier = (call_expression "(uint)(*(undefined1 **)&of->file_size_ < (undefined1 *)((int)local_78 + local_64)\n                         )" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(undefined1 **)&of->file_size_ < (undefined1 *)((int)local_78 + local_64)\n                         )" ( (binary_expression "*(undefined1 **)&of->file_size_ < (undefined1 *)((int)local_78 + local_64)" (pointer_expression "*(undefined1 **)&of->file_size_" * (cast_expression "(undefined1 **)&of->file_size_" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier)))) < (cast_expression "(undefined1 *)((int)local_78 + local_64)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_78 + local_64)" ( (binary_expression "(int)local_78 + local_64" (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )))) ;) (expression_statement "iVar21 = local_6c - iVar29;" (assignment_expression "iVar21 = local_6c - iVar29" identifier = (binary_expression "local_6c - iVar29" identifier - identifier)) ;) (if_statement "if ((SBORROW4(local_6c,iVar29) != SBORROW4(iVar21,uVar22)) != (int)(iVar21 - uVar22) < 0)\n          goto LAB_00157a06;" if (parenthesized_expression "((SBORROW4(local_6c,iVar29) != SBORROW4(iVar21,uVar22)) != (int)(iVar21 - uVar22) < 0)" ( (binary_expression "(SBORROW4(local_6c,iVar29) != SBORROW4(iVar21,uVar22)) != (int)(iVar21 - uVar22) < 0" (parenthesized_expression "(SBORROW4(local_6c,iVar29) != SBORROW4(iVar21,uVar22))" ( (binary_expression "SBORROW4(local_6c,iVar29) != SBORROW4(iVar21,uVar22)" (call_expression "SBORROW4(local_6c,iVar29)" identifier (argument_list "(local_6c,iVar29)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar21,uVar22)" identifier (argument_list "(iVar21,uVar22)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar21 - uVar22) < 0" (cast_expression "(int)(iVar21 - uVar22)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar21 - uVar22)" ( (binary_expression "iVar21 - uVar22" identifier - identifier) ))) < number_literal)) )) (goto_statement "goto LAB_00157a06;" goto statement_identifier ;)) (expression_statement "local_54->view = of->base_ + local_64;" (assignment_expression "local_54->view = of->base_ + local_64" (field_expression "local_54->view" identifier -> field_identifier) = (binary_expression "of->base_ + local_64" (field_expression "of->base_" identifier -> field_identifier) + identifier)) ;) (if_statement "if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;" if (parenthesized_expression "(((pOVar6->super_Output_data).field_0x1c & 1) == 0)" ( (binary_expression "((pOVar6->super_Output_data).field_0x1c & 1) == 0" (parenthesized_expression "((pOVar6->super_Output_data).field_0x1c & 1)" ( (binary_expression "(pOVar6->super_Output_data).field_0x1c & 1" (field_expression "(pOVar6->super_Output_data).field_0x1c" (parenthesized_expression "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0015794c;" goto statement_identifier ;)) (expression_statement "uVar20 = *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4);" (assignment_expression "uVar20 = *(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4)" identifier = (pointer_expression "*(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar6->super_Output_data).address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar6->super_Output_data).address_ + 4)" ( (binary_expression "(int)&(pOVar6->super_Output_data).address_ + 4" (cast_expression "(int)&(pOVar6->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar6->super_Output_data).address_" & (field_expression "(pOVar6->super_Output_data).address_" (parenthesized_expression "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "*(int *)&local_54->address = (int)(pOVar6->super_Output_data).address_;" (assignment_expression "*(int *)&local_54->address = (int)(pOVar6->super_Output_data).address_" (pointer_expression "*(int *)&local_54->address" * (cast_expression "(int *)&local_54->address" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_54->address" & (field_expression "local_54->address" identifier -> field_identifier)))) = (cast_expression "(int)(pOVar6->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (field_expression "(pOVar6->super_Output_data).address_" (parenthesized_expression "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "*(undefined4 *)((int)&local_54->address + 4) = uVar20;" (assignment_expression "*(undefined4 *)((int)&local_54->address + 4) = uVar20" (pointer_expression "*(undefined4 *)((int)&local_54->address + 4)" * (cast_expression "(undefined4 *)((int)&local_54->address + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_54->address + 4)" ( (binary_expression "(int)&local_54->address + 4" (cast_expression "(int)&local_54->address" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_54->address" & (field_expression "local_54->address" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)&local_54->offset + 4) = local_60;" (assignment_expression "*(int *)((int)&local_54->offset + 4) = local_60" (pointer_expression "*(int *)((int)&local_54->offset + 4)" * (cast_expression "(int *)((int)&local_54->offset + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_54->offset + 4)" ( (binary_expression "(int)&local_54->offset + 4" (cast_expression "(int)&local_54->offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_54->offset" & (field_expression "local_54->offset" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)&local_54->offset = local_64;" (assignment_expression "*(uint *)&local_54->offset = local_64" (pointer_expression "*(uint *)&local_54->offset" * (cast_expression "(uint *)&local_54->offset" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_54->offset" & (field_expression "local_54->offset" identifier -> field_identifier)))) = identifier) ;) (expression_statement "local_54->view_size = (section_size_type)local_78;" (assignment_expression "local_54->view_size = (section_size_type)local_78" (field_expression "local_54->view_size" identifier -> field_identifier) = (cast_expression "(section_size_type)local_78" ( (type_descriptor "section_size_type" type_identifier) ) identifier)) ;) (expression_statement "local_54->is_input_output_view = true;" (assignment_expression "local_54->is_input_output_view = true" (field_expression "local_54->is_input_output_view" identifier -> field_identifier) = true) ;) (expression_statement "local_54->is_postprocessing_view = false;" (assignment_expression "local_54->is_postprocessing_view = false" (field_expression "local_54->is_postprocessing_view" identifier -> field_identifier) = false) ;) }) (else_clause "else {\n          uVar22 = *(uint *)(local_58 + 0x24);\n          pppppppuVar17 =\n               (undefined4 *******)\n               (uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18)\n          ;\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157988;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          pCVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                   compressed_sections_;\n          if (pCVar7 == (Compressed_section_map *)0x0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            p_Var1 = &(pCVar7->_M_t)._M_impl.super__Rb_tree_header;\n            p_Var8 = (pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n            p_Var23 = &p_Var1->_M_header;\n            if (p_Var8 == (_Base_ptr)0x0) goto LAB_001577e0;\n            do {\n              while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }\n              p_Var8 = p_Var24->_M_left;\n              p_Var23 = p_Var24;\n            } while (p_Var24->_M_left != (_Base_ptr)0x0);\nLAB_00157368:\n            local_80 = (uint)p_Var1 & 0xffffff00;\n            if ((p_Var1 != (_Rb_tree_header *)p_Var24) &&\n               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)) {\n              local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);\n              pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);\n            }\n          }\n          if (pppppppuVar17 == (undefined4 *******)0x0) goto LAB_001574d0;\n          local_9c = pppppppuVar17;\n          local_98 = 0;\n          uVar22 = local_68 + CARRY4(local_6c,(uint)pppppppuVar17);\n          if (local_7c < uVar22 ||\n              local_7c - uVar22 <\n              (uint)(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17))) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x317;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157ab7;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          bVar36 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar36;\n          if ((char)local_5c == '\0') {\n            if ((local_60 < 0) ||\n               (iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0))\n            {\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = of->base_ + local_64;\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)((int)puVar32 + -4) = 0;\n            *(section_size_type **)((int)puVar32 + -8) = &len;\n            *(_Rb_tree_color *)((int)puVar32 + -0xc) = local_50;\n            *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10) = this;\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157743;\n            puVar19 = Object::section_contents\n                                (*(Object **)((int)puVar32 + -0x10),*(uint *)((int)puVar32 + -0xc),\n                                 *(section_size_type **)((int)puVar32 + -8),\n                                 *(bool *)((int)puVar32 + -4));\n            local_78 = *(undefined4 *******)(local_58 + 8);\n            uVar22 = *(uint *)(local_58 + 0xc);\n            *(uint *)((int)puVar32 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)((int)puVar32 + -8) =\n                 uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18\n            ;\n            *(undefined4 *)((int)puVar32 + -0xc) = 1;\n            *(undefined4 *)((int)puVar32 + -0x10) = 0x40;\n            *(undefined4 ********)((int)puVar32 + -0x14) = pppppppuVar17;\n            *(uchar **)((int)puVar32 + -0x18) = local_5c;\n            *(section_size_type *)((int)puVar32 + -0x1c) = len;\n            *(uchar **)((int)puVar32 + -0x20) = puVar19;\n            *(undefined4 *)((int)puVar32 + -0x24) = 0x157773;\n            bVar36 = decompress_input_section\n                               (*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),\n                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),\n                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),\n                                *(Elf_Xword *)((int)puVar32 + -8));\n            puVar31 = (undefined1 *)puVar32;\n            if (!bVar36) {\n              pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n              ;\n              *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n              *(undefined4 ********)((int)puVar32 + -0x10) = &local_34;\n              p_Var13 = pp_Var12[0x10];\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157793;\n              (*p_Var13)();\n              local_78 = local_34;\n              *(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8;\n              uVar20 = gettext();\n              *(undefined4 *******)((int)puVar32 + -0xc) = local_78;\n              *(undefined4 *)((int)puVar32 + -0x10) = uVar20;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb;\n              Object::error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));\n              puVar31 = (undefined1 *)((int)puVar32 + -4);\n              if ((undefined4 *******)local_34 == &local_2c) goto LAB_0015743e;\n              puVar30 = (undefined1 *)((int)puVar32 + -0x14);\n              *(undefined4 *******)((int)puVar32 + -0x14) = local_34;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8;\n              operator_delete(*(void **)((int)puVar32 + -0x14));\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) {\nLAB_00157b2c:\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0xe34;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = pOVar6->postprocessing_buffer_ + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar22 = *(uint *)(local_58 + 0x18);\n            uVar26 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n            local_78 = (undefined4 ******)\n                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18);\n            if (rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_start) {\n              piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4);\n              uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset);\n              iVar21 = local_30 - *piVar3;\n              cVar28 = (char)local_80;\n              if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0) {\n                cVar28 = local_9d;\n              }\n              local_9d = cVar28;\n            }\n            local_2c = pppppppuVar17;\n            local_28 = local_5c;\n            *(undefined4 ********)((int)puVar32 + -0xc) = &local_34;\n            puVar30 = (undefined1 *)((int)puVar32 + -0x10);\n            *(Read_multiple **)((int)puVar32 + -0x10) = &rm;\n            local_34 = local_78;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15743b;\n            std::\n            vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n            ::emplace_back<gold::File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));\nLAB_0015743b:\n            puVar31 = puVar30 + 0x10;\n          }\nLAB_0015743e:\n          local_54->view = local_5c;\n          puVar32 = (undefined4 *)puVar31;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) {\nLAB_0015794c:\n            ppuVar34 = local_84;\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15796a;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          uVar26 = (uint)(pOVar6->super_Output_data).address_;\n          iVar21 = *(int *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          pGVar18 = (*local_74)->options_;\n          uVar22 = CONCAT31(local_5c._1_3_,(byte)pOVar6->field_0x90 >> 5);\n          *(uint *)&local_54->address = uVar26 + local_6c;\n          *(uint *)((int)&local_54->address + 4) = iVar21 + local_68 + (uint)CARRY4(uVar26,local_6c)\n          ;\nLAB_0015747d:\n          local_5c = (uchar *)(uVar22 & 0xffffff01);\n          *(uint *)&local_54->offset = local_64;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          local_54->view_size = (section_size_type)pppppppuVar17;\n          local_54->is_input_output_view = (local_6c & local_68) == 0xffffffff;\n          local_54->is_postprocessing_view = (bool)(char)local_5c;\n          if (pGVar18 == (General_options *)0x0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x1579be;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n        }" else (compound_statement "{\n          uVar22 = *(uint *)(local_58 + 0x24);\n          pppppppuVar17 =\n               (undefined4 *******)\n               (uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18)\n          ;\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157988;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          pCVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                   compressed_sections_;\n          if (pCVar7 == (Compressed_section_map *)0x0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            p_Var1 = &(pCVar7->_M_t)._M_impl.super__Rb_tree_header;\n            p_Var8 = (pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n            p_Var23 = &p_Var1->_M_header;\n            if (p_Var8 == (_Base_ptr)0x0) goto LAB_001577e0;\n            do {\n              while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }\n              p_Var8 = p_Var24->_M_left;\n              p_Var23 = p_Var24;\n            } while (p_Var24->_M_left != (_Base_ptr)0x0);\nLAB_00157368:\n            local_80 = (uint)p_Var1 & 0xffffff00;\n            if ((p_Var1 != (_Rb_tree_header *)p_Var24) &&\n               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)) {\n              local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);\n              pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);\n            }\n          }\n          if (pppppppuVar17 == (undefined4 *******)0x0) goto LAB_001574d0;\n          local_9c = pppppppuVar17;\n          local_98 = 0;\n          uVar22 = local_68 + CARRY4(local_6c,(uint)pppppppuVar17);\n          if (local_7c < uVar22 ||\n              local_7c - uVar22 <\n              (uint)(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17))) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x317;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157ab7;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          bVar36 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar36;\n          if ((char)local_5c == '\0') {\n            if ((local_60 < 0) ||\n               (iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0))\n            {\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = of->base_ + local_64;\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)((int)puVar32 + -4) = 0;\n            *(section_size_type **)((int)puVar32 + -8) = &len;\n            *(_Rb_tree_color *)((int)puVar32 + -0xc) = local_50;\n            *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10) = this;\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157743;\n            puVar19 = Object::section_contents\n                                (*(Object **)((int)puVar32 + -0x10),*(uint *)((int)puVar32 + -0xc),\n                                 *(section_size_type **)((int)puVar32 + -8),\n                                 *(bool *)((int)puVar32 + -4));\n            local_78 = *(undefined4 *******)(local_58 + 8);\n            uVar22 = *(uint *)(local_58 + 0xc);\n            *(uint *)((int)puVar32 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)((int)puVar32 + -8) =\n                 uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18\n            ;\n            *(undefined4 *)((int)puVar32 + -0xc) = 1;\n            *(undefined4 *)((int)puVar32 + -0x10) = 0x40;\n            *(undefined4 ********)((int)puVar32 + -0x14) = pppppppuVar17;\n            *(uchar **)((int)puVar32 + -0x18) = local_5c;\n            *(section_size_type *)((int)puVar32 + -0x1c) = len;\n            *(uchar **)((int)puVar32 + -0x20) = puVar19;\n            *(undefined4 *)((int)puVar32 + -0x24) = 0x157773;\n            bVar36 = decompress_input_section\n                               (*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),\n                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),\n                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),\n                                *(Elf_Xword *)((int)puVar32 + -8));\n            puVar31 = (undefined1 *)puVar32;\n            if (!bVar36) {\n              pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n              ;\n              *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n              *(undefined4 ********)((int)puVar32 + -0x10) = &local_34;\n              p_Var13 = pp_Var12[0x10];\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157793;\n              (*p_Var13)();\n              local_78 = local_34;\n              *(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8;\n              uVar20 = gettext();\n              *(undefined4 *******)((int)puVar32 + -0xc) = local_78;\n              *(undefined4 *)((int)puVar32 + -0x10) = uVar20;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb;\n              Object::error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));\n              puVar31 = (undefined1 *)((int)puVar32 + -4);\n              if ((undefined4 *******)local_34 == &local_2c) goto LAB_0015743e;\n              puVar30 = (undefined1 *)((int)puVar32 + -0x14);\n              *(undefined4 *******)((int)puVar32 + -0x14) = local_34;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8;\n              operator_delete(*(void **)((int)puVar32 + -0x14));\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) {\nLAB_00157b2c:\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0xe34;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = pOVar6->postprocessing_buffer_ + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar22 = *(uint *)(local_58 + 0x18);\n            uVar26 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n            local_78 = (undefined4 ******)\n                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18);\n            if (rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_start) {\n              piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4);\n              uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset);\n              iVar21 = local_30 - *piVar3;\n              cVar28 = (char)local_80;\n              if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0) {\n                cVar28 = local_9d;\n              }\n              local_9d = cVar28;\n            }\n            local_2c = pppppppuVar17;\n            local_28 = local_5c;\n            *(undefined4 ********)((int)puVar32 + -0xc) = &local_34;\n            puVar30 = (undefined1 *)((int)puVar32 + -0x10);\n            *(Read_multiple **)((int)puVar32 + -0x10) = &rm;\n            local_34 = local_78;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15743b;\n            std::\n            vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n            ::emplace_back<gold::File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));\nLAB_0015743b:\n            puVar31 = puVar30 + 0x10;\n          }\nLAB_0015743e:\n          local_54->view = local_5c;\n          puVar32 = (undefined4 *)puVar31;\n          if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) {\nLAB_0015794c:\n            ppuVar34 = local_84;\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15796a;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n          uVar26 = (uint)(pOVar6->super_Output_data).address_;\n          iVar21 = *(int *)((int)&(pOVar6->super_Output_data).address_ + 4);\n          pGVar18 = (*local_74)->options_;\n          uVar22 = CONCAT31(local_5c._1_3_,(byte)pOVar6->field_0x90 >> 5);\n          *(uint *)&local_54->address = uVar26 + local_6c;\n          *(uint *)((int)&local_54->address + 4) = iVar21 + local_68 + (uint)CARRY4(uVar26,local_6c)\n          ;\nLAB_0015747d:\n          local_5c = (uchar *)(uVar22 & 0xffffff01);\n          *(uint *)&local_54->offset = local_64;\n          *(int *)((int)&local_54->offset + 4) = local_60;\n          local_54->view_size = (section_size_type)pppppppuVar17;\n          local_54->is_input_output_view = (local_6c & local_68) == 0xffffffff;\n          local_54->is_postprocessing_view = (bool)(char)local_5c;\n          if (pGVar18 == (General_options *)0x0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x1579be;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }\n        }" { (expression_statement "uVar22 = *(uint *)(local_58 + 0x24);" (assignment_expression "uVar22 = *(uint *)(local_58 + 0x24)" identifier = (pointer_expression "*(uint *)(local_58 + 0x24)" * (cast_expression "(uint *)(local_58 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0x24)" ( (binary_expression "local_58 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "pppppppuVar17 =\n               (undefined4 *******)\n               (uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18)\n          ;" (assignment_expression "pppppppuVar17 =\n               (undefined4 *******)\n               (uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" identifier = (cast_expression "(undefined4 *******)\n               (uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" ( (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8" (binary_expression "uVar22 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar22 & 0xff0000) >> 8" (parenthesized_expression "(uVar22 & 0xff0000)" ( (binary_expression "uVar22 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar22 & 0xff00) << 8" (parenthesized_expression "(uVar22 & 0xff00)" ( (binary_expression "uVar22 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar22 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157988;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }" if (parenthesized_expression "(*(int *)(local_58 + 0x20) != 0)" ( (binary_expression "*(int *)(local_58 + 0x20) != 0" (pointer_expression "*(int *)(local_58 + 0x20)" * (cast_expression "(int *)(local_58 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0x20)" ( (binary_expression "local_58 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc0;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157988;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }" { (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e09f" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e09f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0xc0;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0xc0" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7;" (assignment_expression "*(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x107be7" (pointer_expression "*(int *)((int)puVar32 + -0x10)" * (cast_expression "(int *)((int)puVar32 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_84 + -0x107be7" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x157988;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x157988" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "pCVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                   compressed_sections_;" (assignment_expression "pCVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                   compressed_sections_" identifier = (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                   compressed_sections_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pCVar7 == (Compressed_section_map *)0x0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            p_Var1 = &(pCVar7->_M_t)._M_impl.super__Rb_tree_header;\n            p_Var8 = (pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n            p_Var23 = &p_Var1->_M_header;\n            if (p_Var8 == (_Base_ptr)0x0) goto LAB_001577e0;\n            do {\n              while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }\n              p_Var8 = p_Var24->_M_left;\n              p_Var23 = p_Var24;\n            } while (p_Var24->_M_left != (_Base_ptr)0x0);\nLAB_00157368:\n            local_80 = (uint)p_Var1 & 0xffffff00;\n            if ((p_Var1 != (_Rb_tree_header *)p_Var24) &&\n               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)) {\n              local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);\n              pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);\n            }\n          }" if (parenthesized_expression "(pCVar7 == (Compressed_section_map *)0x0)" ( (binary_expression "pCVar7 == (Compressed_section_map *)0x0" identifier == (cast_expression "(Compressed_section_map *)0x0" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }" { (labeled_statement "LAB_001577e0:\n            local_80 = local_80 & 0xffffff00;" statement_identifier : (expression_statement "local_80 = local_80 & 0xffffff00;" (assignment_expression "local_80 = local_80 & 0xffffff00" identifier = (binary_expression "local_80 & 0xffffff00" identifier & number_literal)) ;)) }) (else_clause "else {\n            p_Var1 = &(pCVar7->_M_t)._M_impl.super__Rb_tree_header;\n            p_Var8 = (pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n            p_Var23 = &p_Var1->_M_header;\n            if (p_Var8 == (_Base_ptr)0x0) goto LAB_001577e0;\n            do {\n              while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }\n              p_Var8 = p_Var24->_M_left;\n              p_Var23 = p_Var24;\n            } while (p_Var24->_M_left != (_Base_ptr)0x0);\nLAB_00157368:\n            local_80 = (uint)p_Var1 & 0xffffff00;\n            if ((p_Var1 != (_Rb_tree_header *)p_Var24) &&\n               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)) {\n              local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);\n              pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);\n            }\n          }" else (compound_statement "{\n            p_Var1 = &(pCVar7->_M_t)._M_impl.super__Rb_tree_header;\n            p_Var8 = (pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n            p_Var23 = &p_Var1->_M_header;\n            if (p_Var8 == (_Base_ptr)0x0) goto LAB_001577e0;\n            do {\n              while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }\n              p_Var8 = p_Var24->_M_left;\n              p_Var23 = p_Var24;\n            } while (p_Var24->_M_left != (_Base_ptr)0x0);\nLAB_00157368:\n            local_80 = (uint)p_Var1 & 0xffffff00;\n            if ((p_Var1 != (_Rb_tree_header *)p_Var24) &&\n               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)) {\n              local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);\n              pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);\n            }\n          }" { (expression_statement "p_Var1 = &(pCVar7->_M_t)._M_impl.super__Rb_tree_header;" (assignment_expression "p_Var1 = &(pCVar7->_M_t)._M_impl.super__Rb_tree_header" identifier = (pointer_expression "&(pCVar7->_M_t)._M_impl.super__Rb_tree_header" & (field_expression "(pCVar7->_M_t)._M_impl.super__Rb_tree_header" (field_expression "(pCVar7->_M_t)._M_impl" (parenthesized_expression "(pCVar7->_M_t)" ( (field_expression "pCVar7->_M_t" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "p_Var8 = (pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;" (assignment_expression "p_Var8 = (pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent" identifier = (field_expression "(pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "(pCVar7->_M_t)._M_impl.super__Rb_tree_header._M_header" (field_expression "(pCVar7->_M_t)._M_impl.super__Rb_tree_header" (field_expression "(pCVar7->_M_t)._M_impl" (parenthesized_expression "(pCVar7->_M_t)" ( (field_expression "pCVar7->_M_t" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var23 = &p_Var1->_M_header;" (assignment_expression "p_Var23 = &p_Var1->_M_header" identifier = (pointer_expression "&p_Var1->_M_header" & (field_expression "p_Var1->_M_header" identifier -> field_identifier))) ;) (if_statement "if (p_Var8 == (_Base_ptr)0x0) goto LAB_001577e0;" if (parenthesized_expression "(p_Var8 == (_Base_ptr)0x0)" ( (binary_expression "p_Var8 == (_Base_ptr)0x0" identifier == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_001577e0;" goto statement_identifier ;)) (do_statement "do {\n              while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }\n              p_Var8 = p_Var24->_M_left;\n              p_Var23 = p_Var24;\n            } while (p_Var24->_M_left != (_Base_ptr)0x0);" do (compound_statement "{\n              while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }\n              p_Var8 = p_Var24->_M_left;\n              p_Var23 = p_Var24;\n            }" { (while_statement "while (p_Var24 = p_Var8, p_Var24[1]._M_color < local_50) {\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }" while (parenthesized_expression "(p_Var24 = p_Var8, p_Var24[1]._M_color < local_50)" ( (comma_expression "p_Var24 = p_Var8, p_Var24[1]._M_color < local_50" (assignment_expression "p_Var24 = p_Var8" identifier = identifier) , (binary_expression "p_Var24[1]._M_color < local_50" (field_expression "p_Var24[1]._M_color" (subscript_expression "p_Var24[1]" identifier [ number_literal ]) . field_identifier) < identifier)) )) (compound_statement "{\n                pp_Var2 = &p_Var24->_M_right;\n                p_Var8 = *pp_Var2;\n                p_Var24 = p_Var23;\n                if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;\n              }" { (expression_statement "pp_Var2 = &p_Var24->_M_right;" (assignment_expression "pp_Var2 = &p_Var24->_M_right" identifier = (pointer_expression "&p_Var24->_M_right" & (field_expression "p_Var24->_M_right" identifier -> field_identifier))) ;) (expression_statement "p_Var8 = *pp_Var2;" (assignment_expression "p_Var8 = *pp_Var2" identifier = (pointer_expression "*pp_Var2" * identifier)) ;) (expression_statement "p_Var24 = p_Var23;" (assignment_expression "p_Var24 = p_Var23" identifier = identifier) ;) (if_statement "if (*pp_Var2 == (_Base_ptr)0x0) goto LAB_00157368;" if (parenthesized_expression "(*pp_Var2 == (_Base_ptr)0x0)" ( (binary_expression "*pp_Var2 == (_Base_ptr)0x0" (pointer_expression "*pp_Var2" * identifier) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_00157368;" goto statement_identifier ;)) })) (expression_statement "p_Var8 = p_Var24->_M_left;" (assignment_expression "p_Var8 = p_Var24->_M_left" identifier = (field_expression "p_Var24->_M_left" identifier -> field_identifier)) ;) (expression_statement "p_Var23 = p_Var24;" (assignment_expression "p_Var23 = p_Var24" identifier = identifier) ;) }) while (parenthesized_expression "(p_Var24->_M_left != (_Base_ptr)0x0)" ( (binary_expression "p_Var24->_M_left != (_Base_ptr)0x0" (field_expression "p_Var24->_M_left" identifier -> field_identifier) != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) ;) (labeled_statement "LAB_00157368:\n            local_80 = (uint)p_Var1 & 0xffffff00;" statement_identifier : (expression_statement "local_80 = (uint)p_Var1 & 0xffffff00;" (assignment_expression "local_80 = (uint)p_Var1 & 0xffffff00" identifier = (binary_expression "(uint)p_Var1 & 0xffffff00" (cast_expression "(uint)p_Var1" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;)) (if_statement "if ((p_Var1 != (_Rb_tree_header *)p_Var24) &&\n               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)) {\n              local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);\n              pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);\n            }" if (parenthesized_expression "((p_Var1 != (_Rb_tree_header *)p_Var24) &&\n               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50))" ( (binary_expression "(p_Var1 != (_Rb_tree_header *)p_Var24) &&\n               (((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)" (parenthesized_expression "(p_Var1 != (_Rb_tree_header *)p_Var24)" ( (binary_expression "p_Var1 != (_Rb_tree_header *)p_Var24" identifier != (cast_expression "(_Rb_tree_header *)p_Var24" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) && (parenthesized_expression "(((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50)" ( (binary_expression "((_Rb_tree_header *)p_Var24)->_M_node_count <= local_50" (field_expression "((_Rb_tree_header *)p_Var24)->_M_node_count" (parenthesized_expression "((_Rb_tree_header *)p_Var24)" ( (cast_expression "(_Rb_tree_header *)p_Var24" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier) <= identifier) ))) )) (compound_statement "{\n              local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);\n              pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);\n            }" { (expression_statement "local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1);" (assignment_expression "local_80 = CONCAT31((int3)((uint)p_Var1 >> 8),1)" identifier = (call_expression "CONCAT31((int3)((uint)p_Var1 >> 8),1)" identifier (argument_list "((int3)((uint)p_Var1 >> 8),1)" ( (call_expression "(int3)((uint)p_Var1 >> 8)" (parenthesized_expression "(int3)" ( identifier )) (argument_list "((uint)p_Var1 >> 8)" ( (binary_expression "(uint)p_Var1 >> 8" (cast_expression "(uint)p_Var1" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) ))) , number_literal )))) ;) (expression_statement "pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14);" (assignment_expression "pppppppuVar17 = *(undefined4 ********)((int)p_Var24 + 0x14)" identifier = (pointer_expression "*(undefined4 ********)((int)p_Var24 + 0x14)" * (cast_expression "(undefined4 ********)((int)p_Var24 + 0x14)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)p_Var24 + 0x14)" ( (binary_expression "(int)p_Var24 + 0x14" (cast_expression "(int)p_Var24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) })) }))) (if_statement "if (pppppppuVar17 == (undefined4 *******)0x0) goto LAB_001574d0;" if (parenthesized_expression "(pppppppuVar17 == (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar17 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_001574d0;" goto statement_identifier ;)) (expression_statement "local_9c = pppppppuVar17;" (assignment_expression "local_9c = pppppppuVar17" identifier = identifier) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "uVar22 = local_68 + CARRY4(local_6c,(uint)pppppppuVar17);" (assignment_expression "uVar22 = local_68 + CARRY4(local_6c,(uint)pppppppuVar17)" identifier = (binary_expression "local_68 + CARRY4(local_6c,(uint)pppppppuVar17)" identifier + (call_expression "CARRY4(local_6c,(uint)pppppppuVar17)" identifier (argument_list "(local_6c,(uint)pppppppuVar17)" ( identifier , (cast_expression "(uint)pppppppuVar17" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) ;) (if_statement "if (local_7c < uVar22 ||\n              local_7c - uVar22 <\n              (uint)(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17))) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x317;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157ab7;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }" if (parenthesized_expression "(local_7c < uVar22 ||\n              local_7c - uVar22 <\n              (uint)(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17)))" ( (binary_expression "local_7c < uVar22 ||\n              local_7c - uVar22 <\n              (uint)(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17))" (binary_expression "local_7c < uVar22" identifier < identifier) || (binary_expression "local_7c - uVar22 <\n              (uint)(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17))" (binary_expression "local_7c - uVar22" identifier - identifier) < (call_expression "(uint)(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17))" ( (binary_expression "local_78 < (undefined4 *******)(local_6c + (int)pppppppuVar17)" identifier < (cast_expression "(undefined4 *******)(local_6c + (int)pppppppuVar17)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_6c + (int)pppppppuVar17)" ( (binary_expression "local_6c + (int)pppppppuVar17" identifier + (cast_expression "(int)pppppppuVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))))) )) (compound_statement "{\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x317;\n            *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157ab7;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }" { (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e0a3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0x317;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0x317" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;" (assignment_expression "*(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9" (pointer_expression "*(int *)((int)puVar32 + -0x10)" * (cast_expression "(int *)((int)puVar32 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_84 + -0xf8bf9" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x157ab7;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x157ab7" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "bVar36 = CARRY4(local_64,local_6c);" (assignment_expression "bVar36 = CARRY4(local_64,local_6c)" identifier = (call_expression "CARRY4(local_64,local_6c)" identifier (argument_list "(local_64,local_6c)" ( identifier , identifier )))) ;) (expression_statement "local_64 = local_64 + local_6c;" (assignment_expression "local_64 = local_64 + local_6c" identifier = (binary_expression "local_64 + local_6c" identifier + identifier)) ;) (expression_statement "local_60 = local_60 + local_68 + (uint)bVar36;" (assignment_expression "local_60 = local_60 + local_68 + (uint)bVar36" identifier = (binary_expression "local_60 + local_68 + (uint)bVar36" (binary_expression "local_60 + local_68" identifier + identifier) + (cast_expression "(uint)bVar36" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((char)local_5c == '\0') {\n            if ((local_60 < 0) ||\n               (iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0))\n            {\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = of->base_ + local_64;\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)((int)puVar32 + -4) = 0;\n            *(section_size_type **)((int)puVar32 + -8) = &len;\n            *(_Rb_tree_color *)((int)puVar32 + -0xc) = local_50;\n            *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10) = this;\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157743;\n            puVar19 = Object::section_contents\n                                (*(Object **)((int)puVar32 + -0x10),*(uint *)((int)puVar32 + -0xc),\n                                 *(section_size_type **)((int)puVar32 + -8),\n                                 *(bool *)((int)puVar32 + -4));\n            local_78 = *(undefined4 *******)(local_58 + 8);\n            uVar22 = *(uint *)(local_58 + 0xc);\n            *(uint *)((int)puVar32 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)((int)puVar32 + -8) =\n                 uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18\n            ;\n            *(undefined4 *)((int)puVar32 + -0xc) = 1;\n            *(undefined4 *)((int)puVar32 + -0x10) = 0x40;\n            *(undefined4 ********)((int)puVar32 + -0x14) = pppppppuVar17;\n            *(uchar **)((int)puVar32 + -0x18) = local_5c;\n            *(section_size_type *)((int)puVar32 + -0x1c) = len;\n            *(uchar **)((int)puVar32 + -0x20) = puVar19;\n            *(undefined4 *)((int)puVar32 + -0x24) = 0x157773;\n            bVar36 = decompress_input_section\n                               (*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),\n                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),\n                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),\n                                *(Elf_Xword *)((int)puVar32 + -8));\n            puVar31 = (undefined1 *)puVar32;\n            if (!bVar36) {\n              pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n              ;\n              *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n              *(undefined4 ********)((int)puVar32 + -0x10) = &local_34;\n              p_Var13 = pp_Var12[0x10];\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157793;\n              (*p_Var13)();\n              local_78 = local_34;\n              *(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8;\n              uVar20 = gettext();\n              *(undefined4 *******)((int)puVar32 + -0xc) = local_78;\n              *(undefined4 *)((int)puVar32 + -0x10) = uVar20;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb;\n              Object::error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));\n              puVar31 = (undefined1 *)((int)puVar32 + -4);\n              if ((undefined4 *******)local_34 == &local_2c) goto LAB_0015743e;\n              puVar30 = (undefined1 *)((int)puVar32 + -0x14);\n              *(undefined4 *******)((int)puVar32 + -0x14) = local_34;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8;\n              operator_delete(*(void **)((int)puVar32 + -0x14));\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) {\nLAB_00157b2c:\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0xe34;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = pOVar6->postprocessing_buffer_ + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar22 = *(uint *)(local_58 + 0x18);\n            uVar26 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n            local_78 = (undefined4 ******)\n                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18);\n            if (rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_start) {\n              piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4);\n              uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset);\n              iVar21 = local_30 - *piVar3;\n              cVar28 = (char)local_80;\n              if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0) {\n                cVar28 = local_9d;\n              }\n              local_9d = cVar28;\n            }\n            local_2c = pppppppuVar17;\n            local_28 = local_5c;\n            *(undefined4 ********)((int)puVar32 + -0xc) = &local_34;\n            puVar30 = (undefined1 *)((int)puVar32 + -0x10);\n            *(Read_multiple **)((int)puVar32 + -0x10) = &rm;\n            local_34 = local_78;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15743b;\n            std::\n            vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n            ::emplace_back<gold::File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));\nLAB_0015743b:\n            puVar31 = puVar30 + 0x10;\n          }" if (parenthesized_expression "((char)local_5c == '\0')" ( (binary_expression "(char)local_5c == '\0'" (cast_expression "(char)local_5c" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if ((local_60 < 0) ||\n               (iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0))\n            {\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = of->base_ + local_64;\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)((int)puVar32 + -4) = 0;\n            *(section_size_type **)((int)puVar32 + -8) = &len;\n            *(_Rb_tree_color *)((int)puVar32 + -0xc) = local_50;\n            *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10) = this;\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x157743;\n            puVar19 = Object::section_contents\n                                (*(Object **)((int)puVar32 + -0x10),*(uint *)((int)puVar32 + -0xc),\n                                 *(section_size_type **)((int)puVar32 + -8),\n                                 *(bool *)((int)puVar32 + -4));\n            local_78 = *(undefined4 *******)(local_58 + 8);\n            uVar22 = *(uint *)(local_58 + 0xc);\n            *(uint *)((int)puVar32 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)((int)puVar32 + -8) =\n                 uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18\n            ;\n            *(undefined4 *)((int)puVar32 + -0xc) = 1;\n            *(undefined4 *)((int)puVar32 + -0x10) = 0x40;\n            *(undefined4 ********)((int)puVar32 + -0x14) = pppppppuVar17;\n            *(uchar **)((int)puVar32 + -0x18) = local_5c;\n            *(section_size_type *)((int)puVar32 + -0x1c) = len;\n            *(uchar **)((int)puVar32 + -0x20) = puVar19;\n            *(undefined4 *)((int)puVar32 + -0x24) = 0x157773;\n            bVar36 = decompress_input_section\n                               (*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),\n                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),\n                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),\n                                *(Elf_Xword *)((int)puVar32 + -8));\n            puVar31 = (undefined1 *)puVar32;\n            if (!bVar36) {\n              pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n              ;\n              *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n              *(undefined4 ********)((int)puVar32 + -0x10) = &local_34;\n              p_Var13 = pp_Var12[0x10];\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157793;\n              (*p_Var13)();\n              local_78 = local_34;\n              *(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8;\n              uVar20 = gettext();\n              *(undefined4 *******)((int)puVar32 + -0xc) = local_78;\n              *(undefined4 *)((int)puVar32 + -0x10) = uVar20;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb;\n              Object::error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));\n              puVar31 = (undefined1 *)((int)puVar32 + -4);\n              if ((undefined4 *******)local_34 == &local_2c) goto LAB_0015743e;\n              puVar30 = (undefined1 *)((int)puVar32 + -0x14);\n              *(undefined4 *******)((int)puVar32 + -0x14) = local_34;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8;\n              operator_delete(*(void **)((int)puVar32 + -0x14));\n              goto LAB_0015743b;\n            }\n          }" { (if_statement "if ((local_60 < 0) ||\n               (iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0))\n            {\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }" if (parenthesized_expression "((local_60 < 0) ||\n               (iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0))" ( (binary_expression "(local_60 < 0) ||\n               (iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0)" (parenthesized_expression "(local_60 < 0)" ( (binary_expression "local_60 < 0" identifier < number_literal) )) || (parenthesized_expression "(iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0)" ( (comma_expression "iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64),\n               iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0" (assignment_expression "iVar25 = local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64)" identifier = (binary_expression "local_60 + (uint)CARRY4((uint)pppppppuVar17,local_64)" identifier + (cast_expression "(uint)CARRY4((uint)pppppppuVar17,local_64)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)pppppppuVar17,local_64)" identifier (argument_list "((uint)pppppppuVar17,local_64)" ( (cast_expression "(uint)pppppppuVar17" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))))) , (comma_expression "iVar21 = *(int *)((int)&of->file_size_ + 4),\n               uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0" (assignment_expression "iVar21 = *(int *)((int)&of->file_size_ + 4)" identifier = (pointer_expression "*(int *)((int)&of->file_size_ + 4)" * (cast_expression "(int *)((int)&of->file_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((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) ))))) , (comma_expression "uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)),\n               iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0" (assignment_expression "uVar22 = (uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64))" identifier = (call_expression "(uint)(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64))" ( (binary_expression "*(undefined1 **)&of->file_size_ <\n                              (undefined1 *)((int)pppppppuVar17 + local_64)" (pointer_expression "*(undefined1 **)&of->file_size_" * (cast_expression "(undefined1 **)&of->file_size_" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier)))) < (cast_expression "(undefined1 *)((int)pppppppuVar17 + local_64)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppppuVar17 + local_64)" ( (binary_expression "(int)pppppppuVar17 + local_64" (cast_expression "(int)pppppppuVar17" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )))) , (comma_expression "iVar29 = iVar21 - iVar25,\n               (SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0" (assignment_expression "iVar29 = iVar21 - iVar25" identifier = (binary_expression "iVar21 - iVar25" identifier - identifier)) , (binary_expression "(SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)) != (int)(iVar29 - uVar22) < 0" (parenthesized_expression "(SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22))" ( (binary_expression "SBORROW4(iVar21,iVar25) != SBORROW4(iVar29,uVar22)" (call_expression "SBORROW4(iVar21,iVar25)" identifier (argument_list "(iVar21,iVar25)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar29,uVar22)" identifier (argument_list "(iVar29,uVar22)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar29 - uVar22) < 0" (cast_expression "(int)(iVar29 - uVar22)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar29 - uVar22)" ( (binary_expression "iVar29 - uVar22" identifier - identifier) ))) < number_literal)))))) ))) )) (compound_statement "{\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }" { (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e091" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0x6f;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0x6f" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)((int)puVar32 + -0x10)" * (cast_expression "(undefined ***)((int)puVar32 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65;" (assignment_expression "*(undefined1 **)((int)puVar32 + -0x14) = &LAB_00157b65" (pointer_expression "*(undefined1 **)((int)puVar32 + -0x14)" * (cast_expression "(undefined1 **)((int)puVar32 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&LAB_00157b65" & identifier)) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "local_5c = of->base_ + local_64;" (assignment_expression "local_5c = of->base_ + local_64" identifier = (binary_expression "of->base_ + local_64" (field_expression "of->base_" identifier -> field_identifier) + identifier)) ;) (if_statement "if ((char)local_80 == '\0') goto LAB_001573e9;" if (parenthesized_expression "((char)local_80 == '\0')" ( (binary_expression "(char)local_80 == '\0'" (cast_expression "(char)local_80" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001573e9;" goto statement_identifier ;)) (labeled_statement "LAB_0015772f:\n            *(undefined4 *)((int)puVar32 + -4) = 0;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar32 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)puVar32 + -4) = 0" (pointer_expression "*(undefined4 *)((int)puVar32 + -4)" * (cast_expression "(undefined4 *)((int)puVar32 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -4)" ( (binary_expression "(int)puVar32 + -4" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "*(section_size_type **)((int)puVar32 + -8) = &len;" (assignment_expression "*(section_size_type **)((int)puVar32 + -8) = &len" (pointer_expression "*(section_size_type **)((int)puVar32 + -8)" * (cast_expression "(section_size_type **)((int)puVar32 + -8)" ( (type_descriptor "section_size_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&len" & identifier)) ;) (expression_statement "*(_Rb_tree_color *)((int)puVar32 + -0xc) = local_50;" (assignment_expression "*(_Rb_tree_color *)((int)puVar32 + -0xc) = local_50" (pointer_expression "*(_Rb_tree_color *)((int)puVar32 + -0xc)" * (cast_expression "(_Rb_tree_color *)((int)puVar32 + -0xc)" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10) = this;" (assignment_expression "*(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10) = this" (pointer_expression "*(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10)" * (call_expression "(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x10)" (parenthesized_expression "(Sized_relobj_file<64,_true> **)" ( (comma_expression "Sized_relobj_file<64,_true> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x157743;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x157743" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "puVar19 = Object::" (assignment_expression "puVar19 = Object" identifier = identifier) : :) (expression_statement "section_contents\n                                (*(Object **)((int)puVar32 + -0x10),*(uint *)((int)puVar32 + -0xc),\n                                 *(section_size_type **)((int)puVar32 + -8),\n                                 *(bool *)((int)puVar32 + -4));" (call_expression "section_contents\n                                (*(Object **)((int)puVar32 + -0x10),*(uint *)((int)puVar32 + -0xc),\n                                 *(section_size_type **)((int)puVar32 + -8),\n                                 *(bool *)((int)puVar32 + -4))" identifier (argument_list "(*(Object **)((int)puVar32 + -0x10),*(uint *)((int)puVar32 + -0xc),\n                                 *(section_size_type **)((int)puVar32 + -8),\n                                 *(bool *)((int)puVar32 + -4))" ( (pointer_expression "*(Object **)((int)puVar32 + -0x10)" * (cast_expression "(Object **)((int)puVar32 + -0x10)" ( (type_descriptor "Object **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar32 + -0xc)" * (cast_expression "(uint *)((int)puVar32 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(section_size_type **)((int)puVar32 + -8)" * (cast_expression "(section_size_type **)((int)puVar32 + -8)" ( (type_descriptor "section_size_type **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(bool *)((int)puVar32 + -4)" * (cast_expression "(bool *)((int)puVar32 + -4)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -4)" ( (binary_expression "(int)puVar32 + -4" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "local_78 = *(undefined4 *******)(local_58 + 8);" (assignment_expression "local_78 = *(undefined4 *******)(local_58 + 8)" identifier = (pointer_expression "*(undefined4 *******)(local_58 + 8)" * (cast_expression "(undefined4 *******)(local_58 + 8)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(local_58 + 8)" ( (binary_expression "local_58 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar22 = *(uint *)(local_58 + 0xc);" (assignment_expression "uVar22 = *(uint *)(local_58 + 0xc)" identifier = (pointer_expression "*(uint *)(local_58 + 0xc)" * (cast_expression "(uint *)(local_58 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0xc)" ( (binary_expression "local_58 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)((int)puVar32 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;" (assignment_expression "*(uint *)((int)puVar32 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18" (pointer_expression "*(uint *)((int)puVar32 + -4)" * (cast_expression "(uint *)((int)puVar32 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -4)" ( (binary_expression "(int)puVar32 + -4" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18" (binary_expression "(uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8" (binary_expression "(uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8" (binary_expression "(uint)local_78 >> 0x18" (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_78 & 0xff0000) >> 8" (parenthesized_expression "((uint)local_78 & 0xff0000)" ( (binary_expression "(uint)local_78 & 0xff0000" (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_78 & 0xff00) << 8" (parenthesized_expression "((uint)local_78 & 0xff00)" ( (binary_expression "(uint)local_78 & 0xff00" (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_78 << 0x18" (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal))) ;) (expression_statement "*(uint *)((int)puVar32 + -8) =\n                 uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18\n            ;" (assignment_expression "*(uint *)((int)puVar32 + -8) =\n                 uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18" (pointer_expression "*(uint *)((int)puVar32 + -8)" * (cast_expression "(uint *)((int)puVar32 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 | uVar22 << 0x18" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8" (binary_expression "uVar22 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar22 & 0xff0000) >> 8" (parenthesized_expression "(uVar22 & 0xff0000)" ( (binary_expression "uVar22 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar22 & 0xff00) << 8" (parenthesized_expression "(uVar22 & 0xff00)" ( (binary_expression "uVar22 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar22 << 0x18" identifier << number_literal))) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0x10) = 0x40;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x10) = 0x40" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 ********)((int)puVar32 + -0x14) = pppppppuVar17;" (assignment_expression "*(undefined4 ********)((int)puVar32 + -0x14) = pppppppuVar17" (pointer_expression "*(undefined4 ********)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 ********)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uchar **)((int)puVar32 + -0x18) = local_5c;" (assignment_expression "*(uchar **)((int)puVar32 + -0x18) = local_5c" (pointer_expression "*(uchar **)((int)puVar32 + -0x18)" * (cast_expression "(uchar **)((int)puVar32 + -0x18)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x18)" ( (binary_expression "(int)puVar32 + -0x18" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(section_size_type *)((int)puVar32 + -0x1c) = len;" (assignment_expression "*(section_size_type *)((int)puVar32 + -0x1c) = len" (pointer_expression "*(section_size_type *)((int)puVar32 + -0x1c)" * (cast_expression "(section_size_type *)((int)puVar32 + -0x1c)" ( (type_descriptor "section_size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x1c)" ( (binary_expression "(int)puVar32 + -0x1c" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uchar **)((int)puVar32 + -0x20) = puVar19;" (assignment_expression "*(uchar **)((int)puVar32 + -0x20) = puVar19" (pointer_expression "*(uchar **)((int)puVar32 + -0x20)" * (cast_expression "(uchar **)((int)puVar32 + -0x20)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x20)" ( (binary_expression "(int)puVar32 + -0x20" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0x24) = 0x157773;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x24) = 0x157773" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x24)" ( (binary_expression "(int)puVar32 + -0x24" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "bVar36 = decompress_input_section\n                               (*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),\n                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),\n                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),\n                                *(Elf_Xword *)((int)puVar32 + -8));" (assignment_expression "bVar36 = decompress_input_section\n                               (*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),\n                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),\n                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),\n                                *(Elf_Xword *)((int)puVar32 + -8))" identifier = (call_expression "decompress_input_section\n                               (*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),\n                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),\n                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),\n                                *(Elf_Xword *)((int)puVar32 + -8))" identifier (argument_list "(*(uchar **)((int)puVar32 + -0x20),*(ulong *)((int)puVar32 + -0x1c),\n                                *(uchar **)((int)puVar32 + -0x18),*(ulong *)((int)puVar32 + -0x14),\n                                *(int *)((int)puVar32 + -0x10),*(bool *)((int)puVar32 + -0xc),\n                                *(Elf_Xword *)((int)puVar32 + -8))" ( (pointer_expression "*(uchar **)((int)puVar32 + -0x20)" * (cast_expression "(uchar **)((int)puVar32 + -0x20)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x20)" ( (binary_expression "(int)puVar32 + -0x20" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(ulong *)((int)puVar32 + -0x1c)" * (cast_expression "(ulong *)((int)puVar32 + -0x1c)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x1c)" ( (binary_expression "(int)puVar32 + -0x1c" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uchar **)((int)puVar32 + -0x18)" * (cast_expression "(uchar **)((int)puVar32 + -0x18)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x18)" ( (binary_expression "(int)puVar32 + -0x18" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(ulong *)((int)puVar32 + -0x14)" * (cast_expression "(ulong *)((int)puVar32 + -0x14)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0x10)" * (cast_expression "(int *)((int)puVar32 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(bool *)((int)puVar32 + -0xc)" * (cast_expression "(bool *)((int)puVar32 + -0xc)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(Elf_Xword *)((int)puVar32 + -8)" * (cast_expression "(Elf_Xword *)((int)puVar32 + -8)" ( (type_descriptor "Elf_Xword *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar31 = (undefined1 *)puVar32;" (assignment_expression "puVar31 = (undefined1 *)puVar32" identifier = (cast_expression "(undefined1 *)puVar32" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (!bVar36) {\n              pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n              ;\n              *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n              *(undefined4 ********)((int)puVar32 + -0x10) = &local_34;\n              p_Var13 = pp_Var12[0x10];\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157793;\n              (*p_Var13)();\n              local_78 = local_34;\n              *(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8;\n              uVar20 = gettext();\n              *(undefined4 *******)((int)puVar32 + -0xc) = local_78;\n              *(undefined4 *)((int)puVar32 + -0x10) = uVar20;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb;\n              Object::error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));\n              puVar31 = (undefined1 *)((int)puVar32 + -4);\n              if ((undefined4 *******)local_34 == &local_2c) goto LAB_0015743e;\n              puVar30 = (undefined1 *)((int)puVar32 + -0x14);\n              *(undefined4 *******)((int)puVar32 + -0x14) = local_34;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8;\n              operator_delete(*(void **)((int)puVar32 + -0x14));\n              goto LAB_0015743b;\n            }" if (parenthesized_expression "(!bVar36)" ( (unary_expression "!bVar36" ! identifier) )) (compound_statement "{\n              pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n              ;\n              *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n              *(undefined4 ********)((int)puVar32 + -0x10) = &local_34;\n              p_Var13 = pp_Var12[0x10];\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157793;\n              (*p_Var13)();\n              local_78 = local_34;\n              *(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8;\n              uVar20 = gettext();\n              *(undefined4 *******)((int)puVar32 + -0xc) = local_78;\n              *(undefined4 *)((int)puVar32 + -0x10) = uVar20;\n              *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this;\n                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb;\n              Object::error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));\n              puVar31 = (undefined1 *)((int)puVar32 + -4);\n              if ((undefined4 *******)local_34 == &local_2c) goto LAB_0015743e;\n              puVar30 = (undefined1 *)((int)puVar32 + -0x14);\n              *(undefined4 *******)((int)puVar32 + -0x14) = local_34;\n              *(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8;\n              operator_delete(*(void **)((int)puVar32 + -0x14));\n              goto LAB_0015743b;\n            }" { (expression_statement "pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n              ;" (assignment_expression "pp_Var12 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object" identifier = (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "*(_Rb_tree_color *)((int)puVar32 + -8) = local_50;" (assignment_expression "*(_Rb_tree_color *)((int)puVar32 + -8) = local_50" (pointer_expression "*(_Rb_tree_color *)((int)puVar32 + -8)" * (cast_expression "(_Rb_tree_color *)((int)puVar32 + -8)" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;" (assignment_expression "*(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this" (pointer_expression "*(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc)" * (call_expression "(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc)" (parenthesized_expression "(Sized_relobj_file<64,_true> **)" ( (comma_expression "Sized_relobj_file<64,_true> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ********)((int)puVar32 + -0x10) = &local_34;" (assignment_expression "*(undefined4 ********)((int)puVar32 + -0x10) = &local_34" (pointer_expression "*(undefined4 ********)((int)puVar32 + -0x10)" * (cast_expression "(undefined4 ********)((int)puVar32 + -0x10)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "p_Var13 = pp_Var12[0x10];" (assignment_expression "p_Var13 = pp_Var12[0x10]" identifier = (subscript_expression "pp_Var12[0x10]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x157793;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x157793" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*p_Var13)();" (call_expression "(*p_Var13)()" (parenthesized_expression "(*p_Var13)" ( (pointer_expression "*p_Var13" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "local_78 = local_34;" (assignment_expression "local_78 = local_34" identifier = identifier) ;) (expression_statement "*(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2;" (assignment_expression "*(undefined ***)((int)puVar32 + -0x14) = local_84 + -0x40ba2" (pointer_expression "*(undefined ***)((int)puVar32 + -0x14)" * (cast_expression "(undefined ***)((int)puVar32 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x40ba2" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x18) = 0x1577a8" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x18)" ( (binary_expression "(int)puVar32 + -0x18" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar20 = gettext();" (assignment_expression "uVar20 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *******)((int)puVar32 + -0xc) = local_78;" (assignment_expression "*(undefined4 *******)((int)puVar32 + -0xc) = local_78" (pointer_expression "*(undefined4 *******)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *******)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0x10) = uVar20;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x10) = uVar20" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this;" (assignment_expression "*(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14) = this" (pointer_expression "*(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14)" * (call_expression "(Sized_relobj_file<64,_true> **)((int)puVar32 + -0x14)" (parenthesized_expression "(Sized_relobj_file<64,_true> **)" ( (comma_expression "Sized_relobj_file<64,_true> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x18) = 0x1577bb" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x18)" ( (binary_expression "(int)puVar32 + -0x18" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "Object::error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));" statement_identifier : (ERROR ":" :) (expression_statement "error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10));" (call_expression "error(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10))" identifier (argument_list "(*(Object **)((int)puVar32 + -0x14),*(char **)((int)puVar32 + -0x10))" ( (pointer_expression "*(Object **)((int)puVar32 + -0x14)" * (cast_expression "(Object **)((int)puVar32 + -0x14)" ( (type_descriptor "Object **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;)) (expression_statement "puVar31 = (undefined1 *)((int)puVar32 + -4);" (assignment_expression "puVar31 = (undefined1 *)((int)puVar32 + -4)" identifier = (cast_expression "(undefined1 *)((int)puVar32 + -4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -4)" ( (binary_expression "(int)puVar32 + -4" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((undefined4 *******)local_34 == &local_2c) goto LAB_0015743e;" if (parenthesized_expression "((undefined4 *******)local_34 == &local_2c)" ( (binary_expression "(undefined4 *******)local_34 == &local_2c" (cast_expression "(undefined4 *******)local_34" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (pointer_expression "&local_2c" & identifier)) )) (goto_statement "goto LAB_0015743e;" goto statement_identifier ;)) (expression_statement "puVar30 = (undefined1 *)((int)puVar32 + -0x14);" (assignment_expression "puVar30 = (undefined1 *)((int)puVar32 + -0x14)" identifier = (cast_expression "(undefined1 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *******)((int)puVar32 + -0x14) = local_34;" (assignment_expression "*(undefined4 *******)((int)puVar32 + -0x14) = local_34" (pointer_expression "*(undefined4 *******)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *******)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x18) = 0x1577d8" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x18)" ( (binary_expression "(int)puVar32 + -0x18" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "operator_delete(*(void **)((int)puVar32 + -0x14));" (call_expression "operator_delete(*(void **)((int)puVar32 + -0x14))" identifier (argument_list "(*(void **)((int)puVar32 + -0x14))" ( (pointer_expression "*(void **)((int)puVar32 + -0x14)" * (cast_expression "(void **)((int)puVar32 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_0015743b;" goto statement_identifier ;) })) }) (else_clause "else {\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) {\nLAB_00157b2c:\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0xe34;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = pOVar6->postprocessing_buffer_ + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar22 = *(uint *)(local_58 + 0x18);\n            uVar26 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n            local_78 = (undefined4 ******)\n                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18);\n            if (rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_start) {\n              piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4);\n              uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset);\n              iVar21 = local_30 - *piVar3;\n              cVar28 = (char)local_80;\n              if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0) {\n                cVar28 = local_9d;\n              }\n              local_9d = cVar28;\n            }\n            local_2c = pppppppuVar17;\n            local_28 = local_5c;\n            *(undefined4 ********)((int)puVar32 + -0xc) = &local_34;\n            puVar30 = (undefined1 *)((int)puVar32 + -0x10);\n            *(Read_multiple **)((int)puVar32 + -0x10) = &rm;\n            local_34 = local_78;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15743b;\n            std::\n            vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n            ::emplace_back<gold::File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));\nLAB_0015743b:\n            puVar31 = puVar30 + 0x10;\n          }" else (compound_statement "{\n            if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) {\nLAB_00157b2c:\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0xe34;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }\n            local_5c = pOVar6->postprocessing_buffer_ + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar22 = *(uint *)(local_58 + 0x18);\n            uVar26 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar22 << 0x18;\n            local_78 = (undefined4 ******)\n                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18);\n            if (rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_start) {\n              piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4);\n              uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset);\n              iVar21 = local_30 - *piVar3;\n              cVar28 = (char)local_80;\n              if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0) {\n                cVar28 = local_9d;\n              }\n              local_9d = cVar28;\n            }\n            local_2c = pppppppuVar17;\n            local_28 = local_5c;\n            *(undefined4 ********)((int)puVar32 + -0xc) = &local_34;\n            puVar30 = (undefined1 *)((int)puVar32 + -0x10);\n            *(Read_multiple **)((int)puVar32 + -0x10) = &rm;\n            local_34 = local_78;\n                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15743b;\n            std::\n            vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n            ::emplace_back<gold::File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));\nLAB_0015743b:\n            puVar31 = puVar30 + 0x10;\n          }" { (if_statement "if (pOVar6->postprocessing_buffer_ == (uchar *)0x0) {\nLAB_00157b2c:\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0xe34;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }" if (parenthesized_expression "(pOVar6->postprocessing_buffer_ == (uchar *)0x0)" ( (binary_expression "pOVar6->postprocessing_buffer_ == (uchar *)0x0" (field_expression "pOVar6->postprocessing_buffer_" identifier -> field_identifier) == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00157b2c:\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)((int)puVar32 + -0xc) = 0xe34;\n              *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;\n              do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));\n            }" { (labeled_statement "LAB_00157b2c:\n              *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;" statement_identifier : (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e08d" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e08d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0xe34;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0xe34" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)((int)puVar32 + -0x10)" * (cast_expression "(undefined ***)((int)puVar32 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x157b4a" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                  *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "local_5c = pOVar6->postprocessing_buffer_ + local_64;" (assignment_expression "local_5c = pOVar6->postprocessing_buffer_ + local_64" identifier = (binary_expression "pOVar6->postprocessing_buffer_ + local_64" (field_expression "pOVar6->postprocessing_buffer_" identifier -> field_identifier) + identifier)) ;) (if_statement "if ((char)local_80 != '\0') goto LAB_0015772f;" if (parenthesized_expression "((char)local_80 != '\0')" ( (binary_expression "(char)local_80 != '\0'" (cast_expression "(char)local_80" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0015772f;" goto statement_identifier ;)) (labeled_statement "LAB_001573e9:\n            uVar22 = *(uint *)(local_58 + 0x18);" statement_identifier : (expression_statement "uVar22 = *(uint *)(local_58 + 0x18);" (assignment_expression "uVar22 = *(uint *)(local_58 + 0x18)" identifier = (pointer_expression "*(uint *)(local_58 + 0x18)" * (cast_expression "(uint *)(local_58 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0x18)" ( (binary_expression "local_58 + 0x18" identifier + number_literal) ))))) ;)) (expression_statement "uVar26 = *(uint *)(local_58 + 0x1c);" (assignment_expression "uVar26 = *(uint *)(local_58 + 0x1c)" identifier = (pointer_expression "*(uint *)(local_58 + 0x1c)" * (cast_expression "(uint *)(local_58 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0x1c)" ( (binary_expression "local_58 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_30 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar22 << 0x18;" (assignment_expression "local_30 = uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar22 << 0x18" identifier = (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8 |\n                       uVar22 << 0x18" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 | (uVar22 & 0xff00) << 8" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8" (binary_expression "uVar22 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar22 & 0xff0000) >> 8" (parenthesized_expression "(uVar22 & 0xff0000)" ( (binary_expression "uVar22 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar22 & 0xff00) << 8" (parenthesized_expression "(uVar22 & 0xff00)" ( (binary_expression "uVar22 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar22 << 0x18" identifier << number_literal))) ;) (expression_statement "local_78 = (undefined4 ******)\n                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18);" (assignment_expression "local_78 = (undefined4 ******)\n                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18)" identifier = (cast_expression "(undefined4 ******)\n                       (uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18)" ( (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                       uVar26 << 0x18" (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8" (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8" (binary_expression "uVar26 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar26 & 0xff0000) >> 8" (parenthesized_expression "(uVar26 & 0xff0000)" ( (binary_expression "uVar26 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar26 & 0xff00) << 8" (parenthesized_expression "(uVar26 & 0xff00)" ( (binary_expression "uVar26 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar26 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if (rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_start) {\n              piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4);\n              uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset);\n              iVar21 = local_30 - *piVar3;\n              cVar28 = (char)local_80;\n              if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0) {\n                cVar28 = local_9d;\n              }\n              local_9d = cVar28;\n            }" if (parenthesized_expression "(rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_start)" ( (ERROR "rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::" (comma_expression "rm.\n                super__Vector_base<gold::File_read::Read_multiple_entry,_std" (binary_expression "rm.\n                super__Vector_base<gold" (field_expression "rm.\n                super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::File_read::Read_multiple_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : : (binary_expression "Read_multiple_entry>_>\n                ._M_impl._M_finish !=\n                rm.\n                super__Vector_base<gold" (field_expression "Read_multiple_entry>_>\n                ._M_impl._M_finish" (field_expression "Read_multiple_entry>_>\n                ._M_impl" (binary_expression "Read_multiple_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (binary_expression "rm.\n                super__Vector_base<gold" (field_expression "rm.\n                super__Vector_base" identifier . field_identifier) < identifier)) : : identifier : : (comma_expression "Read_multiple_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Read_multiple_entry>_>\n                ._M_impl._M_start" (field_expression "Read_multiple_entry>_>\n                ._M_impl" (binary_expression "Read_multiple_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n              piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4);\n              uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset);\n              iVar21 = local_30 - *piVar3;\n              cVar28 = (char)local_80;\n              if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0) {\n                cVar28 = local_9d;\n              }\n              local_9d = cVar28;\n            }" { (expression_statement "piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4);" (assignment_expression "piVar3 = (int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4)" identifier = (cast_expression "(int *)((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4)" ( (ERROR "(int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::" (comma_expression "(int)&rm.\n                                     super__Vector_base<gold::File_read::Read_multiple_entry,_std" (binary_expression "(int)&rm.\n                                     super__Vector_base<gold" (cast_expression "(int)&rm.\n                                     super__Vector_base" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rm.\n                                     super__Vector_base" & (field_expression "rm.\n                                     super__Vector_base" identifier . field_identifier))) < identifier) (ERROR "::File_read::Read_multiple_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (binary_expression "Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset + 4" (field_expression "Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1].file_offset" (subscript_expression "Read_multiple_entry>_>\n                                     ._M_impl._M_finish[-1]" (field_expression "Read_multiple_entry>_>\n                                     ._M_impl._M_finish" (field_expression "Read_multiple_entry>_>\n                                     ._M_impl" (binary_expression "Read_multiple_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ number_literal ]) . field_identifier) + number_literal) )))) ;) (expression_statement "uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset);" (assignment_expression "uVar22 = (uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset)" identifier = (call_expression "(uint)(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset)" ( (binary_expression "local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base<gold" (binary_expression "local_78 <\n                             *(undefined4 ********)\n                              &rm.\n                               super__Vector_base" identifier < (pointer_expression "*(undefined4 ********)\n                              &rm.\n                               super__Vector_base" * (cast_expression "(undefined4 ********)\n                              &rm.\n                               super__Vector_base" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (pointer_expression "&rm.\n                               super__Vector_base" & (field_expression "rm.\n                               super__Vector_base" identifier . field_identifier))))) < identifier) (ERROR "::File_read::Read_multiple_entry" : : identifier : : identifier) , (ERROR "_std::allocator<gold::File_read::" identifier : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1].file_offset" (subscript_expression "Read_multiple_entry>_>\n                               ._M_impl._M_finish[-1]" (field_expression "Read_multiple_entry>_>\n                               ._M_impl._M_finish" (field_expression "Read_multiple_entry>_>\n                               ._M_impl" (binary_expression "Read_multiple_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ number_literal ]) . field_identifier) )))) ;) (expression_statement "iVar21 = local_30 - *piVar3;" (assignment_expression "iVar21 = local_30 - *piVar3" identifier = (binary_expression "local_30 - *piVar3" identifier - (pointer_expression "*piVar3" * identifier))) ;) (expression_statement "cVar28 = (char)local_80;" (assignment_expression "cVar28 = (char)local_80" identifier = (cast_expression "(char)local_80" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if ((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0) {\n                cVar28 = local_9d;\n              }" if (parenthesized_expression "((SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0)" ( (binary_expression "(SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)) ==\n                  (int)(iVar21 - uVar22) < 0" (parenthesized_expression "(SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22))" ( (binary_expression "SBORROW4(local_30,*piVar3) != SBORROW4(iVar21,uVar22)" (call_expression "SBORROW4(local_30,*piVar3)" identifier (argument_list "(local_30,*piVar3)" ( identifier , (pointer_expression "*piVar3" * identifier) ))) != (call_expression "SBORROW4(iVar21,uVar22)" identifier (argument_list "(iVar21,uVar22)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar21 - uVar22) < 0" (cast_expression "(int)(iVar21 - uVar22)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar21 - uVar22)" ( (binary_expression "iVar21 - uVar22" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n                cVar28 = local_9d;\n              }" { (expression_statement "cVar28 = local_9d;" (assignment_expression "cVar28 = local_9d" identifier = identifier) ;) })) (expression_statement "local_9d = cVar28;" (assignment_expression "local_9d = cVar28" identifier = identifier) ;) })) (expression_statement "local_2c = pppppppuVar17;" (assignment_expression "local_2c = pppppppuVar17" identifier = identifier) ;) (expression_statement "local_28 = local_5c;" (assignment_expression "local_28 = local_5c" identifier = identifier) ;) (expression_statement "*(undefined4 ********)((int)puVar32 + -0xc) = &local_34;" (assignment_expression "*(undefined4 ********)((int)puVar32 + -0xc) = &local_34" (pointer_expression "*(undefined4 ********)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 ********)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "puVar30 = (undefined1 *)((int)puVar32 + -0x10);" (assignment_expression "puVar30 = (undefined1 *)((int)puVar32 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar32 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(Read_multiple **)((int)puVar32 + -0x10) = &rm;" (assignment_expression "*(Read_multiple **)((int)puVar32 + -0x10) = &rm" (pointer_expression "*(Read_multiple **)((int)puVar32 + -0x10)" * (cast_expression "(Read_multiple **)((int)puVar32 + -0x10)" ( (type_descriptor "Read_multiple **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&rm" & identifier)) ;) (expression_statement "local_34 = local_78;" (assignment_expression "local_34 = local_78" identifier = identifier) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x15743b;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x15743b" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "std::\n            vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n            ::emplace_back<gold::File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));" statement_identifier (ERROR "::\n            vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n            ::emplace_back<gold::File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));" statement_identifier (ERROR "::Read_multiple_entry,_std::allocator<gold:" : : (comma_expression "Read_multiple_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "File_read::Read_multiple_entry>_>\n            ::emplace_back<gold::File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));" statement_identifier (ERROR "::Read_multiple_entry>_>\n            ::emplace_back<gold:" : : (binary_expression "Read_multiple_entry>_" identifier > identifier) > : : (binary_expression "emplace_back<gold" identifier < identifier) :) : (labeled_statement "File_read::Read_multiple_entry>\n                      (*(vector<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));" statement_identifier (ERROR "::Read_multiple_entry>\n                      (*(vector<gold:" : : identifier > ( * ( (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));" statement_identifier (ERROR "::Read_multiple_entry,_std::allocator<gold:" : : (comma_expression "Read_multiple_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "File_read::Read_multiple_entry>_>\n                         **)((int)puVar32 + -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));" statement_identifier : (ERROR ":Read_multiple_entry>_>\n                         **)((int)puVar32" : (binary_expression "Read_multiple_entry>_" identifier > identifier) > * * ) ( ( primitive_type (ERROR ")" )) identifier) (expression_statement "+ -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc));" (comma_expression "+ -0x10),*(Read_multiple_entry **)((int)puVar32 + -0xc)" (unary_expression "+ -0x10" + number_literal) (ERROR ")" )) , (pointer_expression "*(Read_multiple_entry **)((int)puVar32 + -0xc)" * (cast_expression "(Read_multiple_entry **)((int)puVar32 + -0xc)" ( (type_descriptor "Read_multiple_entry **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) (ERROR ")" )) ;))))))) (labeled_statement "LAB_0015743b:\n            puVar31 = puVar30 + 0x10;" statement_identifier : (expression_statement "puVar31 = puVar30 + 0x10;" (assignment_expression "puVar31 = puVar30 + 0x10" identifier = (binary_expression "puVar30 + 0x10" identifier + number_literal)) ;)) }))) (labeled_statement "LAB_0015743e:\n          local_54->view = local_5c;" statement_identifier : (expression_statement "local_54->view = local_5c;" (assignment_expression "local_54->view = local_5c" (field_expression "local_54->view" identifier -> field_identifier) = identifier) ;)) (expression_statement "puVar32 = (undefined4 *)puVar31;" (assignment_expression "puVar32 = (undefined4 *)puVar31" identifier = (cast_expression "(undefined4 *)puVar31" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (((pOVar6->super_Output_data).field_0x1c & 1) == 0) {\nLAB_0015794c:\n            ppuVar34 = local_84;\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15796a;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }" if (parenthesized_expression "(((pOVar6->super_Output_data).field_0x1c & 1) == 0)" ( (binary_expression "((pOVar6->super_Output_data).field_0x1c & 1) == 0" (parenthesized_expression "((pOVar6->super_Output_data).field_0x1c & 1)" ( (binary_expression "(pOVar6->super_Output_data).field_0x1c & 1" (field_expression "(pOVar6->super_Output_data).field_0x1c" (parenthesized_expression "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0015794c:\n            ppuVar34 = local_84;\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n            *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x15796a;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }" { (labeled_statement "LAB_0015794c:\n            ppuVar34 = local_84;" statement_identifier : (expression_statement "ppuVar34 = local_84;" (assignment_expression "ppuVar34 = local_84" identifier = identifier) ;)) (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e093" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;" (assignment_expression "*(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55" (pointer_expression "*(undefined ***)((int)puVar32 + -0x10)" * (cast_expression "(undefined ***)((int)puVar32 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "ppuVar34 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x15796a;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x15796a" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "uVar26 = (uint)(pOVar6->super_Output_data).address_;" (assignment_expression "uVar26 = (uint)(pOVar6->super_Output_data).address_" identifier = (field_expression "(uint)(pOVar6->super_Output_data).address_" (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)) ;) (expression_statement "iVar21 = *(int *)((int)&(pOVar6->super_Output_data).address_ + 4);" (assignment_expression "iVar21 = *(int *)((int)&(pOVar6->super_Output_data).address_ + 4)" identifier = (pointer_expression "*(int *)((int)&(pOVar6->super_Output_data).address_ + 4)" * (cast_expression "(int *)((int)&(pOVar6->super_Output_data).address_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar6->super_Output_data).address_ + 4)" ( (binary_expression "(int)&(pOVar6->super_Output_data).address_ + 4" (cast_expression "(int)&(pOVar6->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar6->super_Output_data).address_" & (field_expression "(pOVar6->super_Output_data).address_" (parenthesized_expression "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "pGVar18 = (*local_74)->options_;" (assignment_expression "pGVar18 = (*local_74)->options_" identifier = (field_expression "(*local_74)->options_" (parenthesized_expression "(*local_74)" ( (pointer_expression "*local_74" * identifier) )) -> field_identifier)) ;) (expression_statement "uVar22 = CONCAT31(local_5c._1_3_,(byte)pOVar6->field_0x90 >> 5);" (assignment_expression "uVar22 = CONCAT31(local_5c._1_3_,(byte)pOVar6->field_0x90 >> 5)" identifier = (call_expression "CONCAT31(local_5c._1_3_,(byte)pOVar6->field_0x90 >> 5)" identifier (argument_list "(local_5c._1_3_,(byte)pOVar6->field_0x90 >> 5)" ( (field_expression "local_5c._1_3_" identifier . field_identifier) , (binary_expression "(byte)pOVar6->field_0x90 >> 5" (cast_expression "(byte)pOVar6->field_0x90" ( (type_descriptor "byte" type_identifier) ) (field_expression "pOVar6->field_0x90" identifier -> field_identifier)) >> number_literal) )))) ;) (expression_statement "*(uint *)&local_54->address = uVar26 + local_6c;" (assignment_expression "*(uint *)&local_54->address = uVar26 + local_6c" (pointer_expression "*(uint *)&local_54->address" * (cast_expression "(uint *)&local_54->address" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_54->address" & (field_expression "local_54->address" identifier -> field_identifier)))) = (binary_expression "uVar26 + local_6c" identifier + identifier)) ;) (expression_statement "*(uint *)((int)&local_54->address + 4) = iVar21 + local_68 + (uint)CARRY4(uVar26,local_6c)\n          ;" (assignment_expression "*(uint *)((int)&local_54->address + 4) = iVar21 + local_68 + (uint)CARRY4(uVar26,local_6c)" (pointer_expression "*(uint *)((int)&local_54->address + 4)" * (cast_expression "(uint *)((int)&local_54->address + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_54->address + 4)" ( (binary_expression "(int)&local_54->address + 4" (cast_expression "(int)&local_54->address" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_54->address" & (field_expression "local_54->address" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "iVar21 + local_68 + (uint)CARRY4(uVar26,local_6c)" (binary_expression "iVar21 + local_68" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar26,local_6c)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar26,local_6c)" identifier (argument_list "(uVar26,local_6c)" ( identifier , identifier )))))) ;) (labeled_statement "LAB_0015747d:\n          local_5c = (uchar *)(uVar22 & 0xffffff01);" statement_identifier : (expression_statement "local_5c = (uchar *)(uVar22 & 0xffffff01);" (assignment_expression "local_5c = (uchar *)(uVar22 & 0xffffff01)" identifier = (cast_expression "(uchar *)(uVar22 & 0xffffff01)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar22 & 0xffffff01)" ( (binary_expression "uVar22 & 0xffffff01" identifier & number_literal) )))) ;)) (expression_statement "*(uint *)&local_54->offset = local_64;" (assignment_expression "*(uint *)&local_54->offset = local_64" (pointer_expression "*(uint *)&local_54->offset" * (cast_expression "(uint *)&local_54->offset" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_54->offset" & (field_expression "local_54->offset" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(int *)((int)&local_54->offset + 4) = local_60;" (assignment_expression "*(int *)((int)&local_54->offset + 4) = local_60" (pointer_expression "*(int *)((int)&local_54->offset + 4)" * (cast_expression "(int *)((int)&local_54->offset + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_54->offset + 4)" ( (binary_expression "(int)&local_54->offset + 4" (cast_expression "(int)&local_54->offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_54->offset" & (field_expression "local_54->offset" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "local_54->view_size = (section_size_type)pppppppuVar17;" (assignment_expression "local_54->view_size = (section_size_type)pppppppuVar17" (field_expression "local_54->view_size" identifier -> field_identifier) = (cast_expression "(section_size_type)pppppppuVar17" ( (type_descriptor "section_size_type" type_identifier) ) identifier)) ;) (expression_statement "local_54->is_input_output_view = (local_6c & local_68) == 0xffffffff;" (assignment_expression "local_54->is_input_output_view = (local_6c & local_68) == 0xffffffff" (field_expression "local_54->is_input_output_view" identifier -> field_identifier) = (binary_expression "(local_6c & local_68) == 0xffffffff" (parenthesized_expression "(local_6c & local_68)" ( (binary_expression "local_6c & local_68" identifier & identifier) )) == number_literal)) ;) (expression_statement "local_54->is_postprocessing_view = (bool)(char)local_5c;" (assignment_expression "local_54->is_postprocessing_view = (bool)(char)local_5c" (field_expression "local_54->is_postprocessing_view" identifier -> field_identifier) = (cast_expression "(bool)(char)local_5c" ( (type_descriptor "bool" primitive_type) ) (cast_expression "(char)local_5c" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (if_statement "if (pGVar18 == (General_options *)0x0) {\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x1579be;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }" if (parenthesized_expression "(pGVar18 == (General_options *)0x0)" ( (binary_expression "pGVar18 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)((int)puVar32 + -0xc) = 0x5c;\n            *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;\n                    /* WARNING: Subroutine does not return */\n            *(undefined4 *)((int)puVar32 + -0x14) = 0x1579be;\n            do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));\n          }" { (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e00a" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e00a" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c;" (assignment_expression "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41f7c" (pointer_expression "*(undefined ***)((int)puVar32 + -0x10)" * (cast_expression "(undefined ***)((int)puVar32 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x41f7c" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x1579be;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x1579be" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                                *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) }))) (expression_statement "bVar37 = false;" (assignment_expression "bVar37 = false" identifier = false) ;) (expression_statement "bVar36 = (bool)(((pGVar18->relocatable_).value ^ 1U) & &DAT_00000008 < pppppppuVar17);" (assignment_expression "bVar36 = (bool)(((pGVar18->relocatable_).value ^ 1U) & &DAT_00000008 < pppppppuVar17)" identifier = (cast_expression "(bool)(((pGVar18->relocatable_).value ^ 1U) & &DAT_00000008 < pppppppuVar17)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(((pGVar18->relocatable_).value ^ 1U) & &DAT_00000008 < pppppppuVar17)" ( (binary_expression "((pGVar18->relocatable_).value ^ 1U) & &DAT_00000008 < pppppppuVar17" (parenthesized_expression "((pGVar18->relocatable_).value ^ 1U)" ( (binary_expression "(pGVar18->relocatable_).value ^ 1U" (field_expression "(pGVar18->relocatable_).value" (parenthesized_expression "(pGVar18->relocatable_)" ( (field_expression "pGVar18->relocatable_" identifier -> field_identifier) )) . field_identifier) ^ number_literal) )) & (binary_expression "&DAT_00000008 < pppppppuVar17" (pointer_expression "&DAT_00000008" & identifier) < identifier)) )))) ;) (expression_statement "bVar38 = bVar36 == false;" (assignment_expression "bVar38 = bVar36 == false" identifier = (binary_expression "bVar36 == false" identifier == false)) ;) (if_statement "if (!bVar38) {\n          iVar21 = 0xc;\n          pbVar33 = (byte *)pOVar6->name_;\n          ppuVar34 = local_84 + -0x41295;\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar37 = *pbVar33 < *(byte *)ppuVar34;\n            bVar38 = *pbVar33 == *(byte *)ppuVar34;\n            pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n            ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n          } while (bVar38);\n          bVar36 = false;\n          bVar37 = (!bVar37 && !bVar38) == bVar37;\n          if (!bVar37) {\n            iVar21 = 0xc;\n            pbVar33 = (byte *)pOVar6->name_;\n            ppuVar34 = local_84 + -0x41292;\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar36 = *pbVar33 < *(byte *)ppuVar34;\n              bVar37 = *pbVar33 == *(byte *)ppuVar34;\n              pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n              ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n            } while (bVar37);\n            if ((!bVar36 && !bVar37) != bVar36) {\n              bVar36 = false;\n              goto LAB_001574ca;\n            }\n          }\n          *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n          *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n          *(Layout **)((int)puVar32 + -0x10) = layout;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)((int)puVar32 + -0x14) = 0x1578cc;\n          bVar36 = Layout::is_ctors_in_init_array\n                             (*(Layout **)((int)puVar32 + -0x10),*(Relobj **)((int)puVar32 + -0xc),\n                              *(uint *)((int)puVar32 + -8));\n        }" if (parenthesized_expression "(!bVar38)" ( (unary_expression "!bVar38" ! identifier) )) (compound_statement "{\n          iVar21 = 0xc;\n          pbVar33 = (byte *)pOVar6->name_;\n          ppuVar34 = local_84 + -0x41295;\n          do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar37 = *pbVar33 < *(byte *)ppuVar34;\n            bVar38 = *pbVar33 == *(byte *)ppuVar34;\n            pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n            ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n          } while (bVar38);\n          bVar36 = false;\n          bVar37 = (!bVar37 && !bVar38) == bVar37;\n          if (!bVar37) {\n            iVar21 = 0xc;\n            pbVar33 = (byte *)pOVar6->name_;\n            ppuVar34 = local_84 + -0x41292;\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar36 = *pbVar33 < *(byte *)ppuVar34;\n              bVar37 = *pbVar33 == *(byte *)ppuVar34;\n              pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n              ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n            } while (bVar37);\n            if ((!bVar36 && !bVar37) != bVar36) {\n              bVar36 = false;\n              goto LAB_001574ca;\n            }\n          }\n          *(_Rb_tree_color *)((int)puVar32 + -8) = local_50;\n          *(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;\n          *(Layout **)((int)puVar32 + -0x10) = layout;\n                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */\n          *(undefined4 *)((int)puVar32 + -0x14) = 0x1578cc;\n          bVar36 = Layout::is_ctors_in_init_array\n                             (*(Layout **)((int)puVar32 + -0x10),*(Relobj **)((int)puVar32 + -0xc),\n                              *(uint *)((int)puVar32 + -8));\n        }" { (expression_statement "iVar21 = 0xc;" (assignment_expression "iVar21 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar33 = (byte *)pOVar6->name_;" (assignment_expression "pbVar33 = (byte *)pOVar6->name_" identifier = (cast_expression "(byte *)pOVar6->name_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar6->name_" identifier -> field_identifier))) ;) (expression_statement "ppuVar34 = local_84 + -0x41295;" (assignment_expression "ppuVar34 = local_84 + -0x41295" identifier = (binary_expression "local_84 + -0x41295" identifier + number_literal)) ;) (do_statement "do {\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar37 = *pbVar33 < *(byte *)ppuVar34;\n            bVar38 = *pbVar33 == *(byte *)ppuVar34;\n            pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n            ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n          } while (bVar38);" do (compound_statement "{\n            if (iVar21 == 0) break;\n            iVar21 = iVar21 + -1;\n            bVar37 = *pbVar33 < *(byte *)ppuVar34;\n            bVar38 = *pbVar33 == *(byte *)ppuVar34;\n            pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n            ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n          }" { (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar37 = *pbVar33 < *(byte *)ppuVar34;" (assignment_expression "bVar37 = *pbVar33 < *(byte *)ppuVar34" identifier = (binary_expression "*pbVar33 < *(byte *)ppuVar34" (pointer_expression "*pbVar33" * identifier) < (pointer_expression "*(byte *)ppuVar34" * (cast_expression "(byte *)ppuVar34" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar38 = *pbVar33 == *(byte *)ppuVar34;" (assignment_expression "bVar38 = *pbVar33 == *(byte *)ppuVar34" identifier = (binary_expression "*pbVar33 == *(byte *)ppuVar34" (pointer_expression "*pbVar33" * identifier) == (pointer_expression "*(byte *)ppuVar34" * (cast_expression "(byte *)ppuVar34" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;" (assignment_expression "pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1" identifier = (binary_expression "pbVar33 + (uint)bVar39 * -2 + 1" (binary_expression "pbVar33 + (uint)bVar39 * -2" identifier + (binary_expression "(uint)bVar39 * -2" (cast_expression "(uint)bVar39" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);" (assignment_expression "ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar34 + (uint)bVar39 * -2 + 1)" ( (binary_expression "(int)ppuVar34 + (uint)bVar39 * -2 + 1" (binary_expression "(int)ppuVar34 + (uint)bVar39 * -2" (cast_expression "(int)ppuVar34" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar39 * -2" (cast_expression "(uint)bVar39" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar38)" ( identifier )) ;) (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) (expression_statement "bVar37 = (!bVar37 && !bVar38) == bVar37;" (assignment_expression "bVar37 = (!bVar37 && !bVar38) == bVar37" identifier = (binary_expression "(!bVar37 && !bVar38) == bVar37" (parenthesized_expression "(!bVar37 && !bVar38)" ( (binary_expression "!bVar37 && !bVar38" (unary_expression "!bVar37" ! identifier) && (unary_expression "!bVar38" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar37) {\n            iVar21 = 0xc;\n            pbVar33 = (byte *)pOVar6->name_;\n            ppuVar34 = local_84 + -0x41292;\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar36 = *pbVar33 < *(byte *)ppuVar34;\n              bVar37 = *pbVar33 == *(byte *)ppuVar34;\n              pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n              ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n            } while (bVar37);\n            if ((!bVar36 && !bVar37) != bVar36) {\n              bVar36 = false;\n              goto LAB_001574ca;\n            }\n          }" if (parenthesized_expression "(!bVar37)" ( (unary_expression "!bVar37" ! identifier) )) (compound_statement "{\n            iVar21 = 0xc;\n            pbVar33 = (byte *)pOVar6->name_;\n            ppuVar34 = local_84 + -0x41292;\n            do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar36 = *pbVar33 < *(byte *)ppuVar34;\n              bVar37 = *pbVar33 == *(byte *)ppuVar34;\n              pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n              ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n            } while (bVar37);\n            if ((!bVar36 && !bVar37) != bVar36) {\n              bVar36 = false;\n              goto LAB_001574ca;\n            }\n          }" { (expression_statement "iVar21 = 0xc;" (assignment_expression "iVar21 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar33 = (byte *)pOVar6->name_;" (assignment_expression "pbVar33 = (byte *)pOVar6->name_" identifier = (cast_expression "(byte *)pOVar6->name_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar6->name_" identifier -> field_identifier))) ;) (expression_statement "ppuVar34 = local_84 + -0x41292;" (assignment_expression "ppuVar34 = local_84 + -0x41292" identifier = (binary_expression "local_84 + -0x41292" identifier + number_literal)) ;) (do_statement "do {\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar36 = *pbVar33 < *(byte *)ppuVar34;\n              bVar37 = *pbVar33 == *(byte *)ppuVar34;\n              pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n              ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n            } while (bVar37);" do (compound_statement "{\n              if (iVar21 == 0) break;\n              iVar21 = iVar21 + -1;\n              bVar36 = *pbVar33 < *(byte *)ppuVar34;\n              bVar37 = *pbVar33 == *(byte *)ppuVar34;\n              pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;\n              ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);\n            }" { (if_statement "if (iVar21 == 0) break;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = iVar21 + -1;" (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ;) (expression_statement "bVar36 = *pbVar33 < *(byte *)ppuVar34;" (assignment_expression "bVar36 = *pbVar33 < *(byte *)ppuVar34" identifier = (binary_expression "*pbVar33 < *(byte *)ppuVar34" (pointer_expression "*pbVar33" * identifier) < (pointer_expression "*(byte *)ppuVar34" * (cast_expression "(byte *)ppuVar34" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar37 = *pbVar33 == *(byte *)ppuVar34;" (assignment_expression "bVar37 = *pbVar33 == *(byte *)ppuVar34" identifier = (binary_expression "*pbVar33 == *(byte *)ppuVar34" (pointer_expression "*pbVar33" * identifier) == (pointer_expression "*(byte *)ppuVar34" * (cast_expression "(byte *)ppuVar34" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1;" (assignment_expression "pbVar33 = pbVar33 + (uint)bVar39 * -2 + 1" identifier = (binary_expression "pbVar33 + (uint)bVar39 * -2 + 1" (binary_expression "pbVar33 + (uint)bVar39 * -2" identifier + (binary_expression "(uint)bVar39 * -2" (cast_expression "(uint)bVar39" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1);" (assignment_expression "ppuVar34 = (undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar34 + (uint)bVar39 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar34 + (uint)bVar39 * -2 + 1)" ( (binary_expression "(int)ppuVar34 + (uint)bVar39 * -2 + 1" (binary_expression "(int)ppuVar34 + (uint)bVar39 * -2" (cast_expression "(int)ppuVar34" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar39 * -2" (cast_expression "(uint)bVar39" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar37)" ( identifier )) ;) (if_statement "if ((!bVar36 && !bVar37) != bVar36) {\n              bVar36 = false;\n              goto LAB_001574ca;\n            }" if (parenthesized_expression "((!bVar36 && !bVar37) != bVar36)" ( (binary_expression "(!bVar36 && !bVar37) != bVar36" (parenthesized_expression "(!bVar36 && !bVar37)" ( (binary_expression "!bVar36 && !bVar37" (unary_expression "!bVar36" ! identifier) && (unary_expression "!bVar37" ! identifier)) )) != identifier) )) (compound_statement "{\n              bVar36 = false;\n              goto LAB_001574ca;\n            }" { (expression_statement "bVar36 = false;" (assignment_expression "bVar36 = false" identifier = false) ;) (goto_statement "goto LAB_001574ca;" goto statement_identifier ;) })) })) (expression_statement "*(_Rb_tree_color *)((int)puVar32 + -8) = local_50;" (assignment_expression "*(_Rb_tree_color *)((int)puVar32 + -8) = local_50" (pointer_expression "*(_Rb_tree_color *)((int)puVar32 + -8)" * (cast_expression "(_Rb_tree_color *)((int)puVar32 + -8)" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this;" (assignment_expression "*(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc) = this" (pointer_expression "*(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc)" * (call_expression "(Sized_relobj_file<64,_true> **)((int)puVar32 + -0xc)" (parenthesized_expression "(Sized_relobj_file<64,_true> **)" ( (comma_expression "Sized_relobj_file<64,_true> **" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_true> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(Layout **)((int)puVar32 + -0x10) = layout;" (assignment_expression "*(Layout **)((int)puVar32 + -0x10) = layout" (pointer_expression "*(Layout **)((int)puVar32 + -0x10)" * (cast_expression "(Layout **)((int)puVar32 + -0x10)" ( (type_descriptor "Layout **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x1578cc;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x1578cc" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (ERROR "bVar36 = Layout::" (assignment_expression "bVar36 = Layout" identifier = identifier) : :) (expression_statement "is_ctors_in_init_array\n                             (*(Layout **)((int)puVar32 + -0x10),*(Relobj **)((int)puVar32 + -0xc),\n                              *(uint *)((int)puVar32 + -8));" (call_expression "is_ctors_in_init_array\n                             (*(Layout **)((int)puVar32 + -0x10),*(Relobj **)((int)puVar32 + -0xc),\n                              *(uint *)((int)puVar32 + -8))" identifier (argument_list "(*(Layout **)((int)puVar32 + -0x10),*(Relobj **)((int)puVar32 + -0xc),\n                              *(uint *)((int)puVar32 + -8))" ( (pointer_expression "*(Layout **)((int)puVar32 + -0x10)" * (cast_expression "(Layout **)((int)puVar32 + -0x10)" ( (type_descriptor "Layout **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(Relobj **)((int)puVar32 + -0xc)" * (cast_expression "(Relobj **)((int)puVar32 + -0xc)" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar32 + -8)" * (cast_expression "(uint *)((int)puVar32 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (labeled_statement "LAB_001574ca:\n        local_54->is_ctors_reverse_view = bVar36;" statement_identifier : (expression_statement "local_54->is_ctors_reverse_view = bVar36;" (assignment_expression "local_54->is_ctors_reverse_view = bVar36" (field_expression "local_54->is_ctors_reverse_view" identifier -> field_identifier) = identifier) ;)) (goto_statement "goto LAB_001574d0;" goto statement_identifier ;) })) (if_statement "if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= local_50) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x549;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x10efe6;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x1579dc;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" if (parenthesized_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= local_50)" ( (binary_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <= local_50" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) <= identifier) )) (compound_statement "{\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x549;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x10efe6;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x1579dc;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" { (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e04d;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e04d" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e04d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0x549;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0x549" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x10efe6;" (assignment_expression "*(int *)((int)puVar32 + -0x10) = (int)local_84 + -0x10efe6" (pointer_expression "*(int *)((int)puVar32 + -0x10)" * (cast_expression "(int *)((int)puVar32 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_84 + -0x10efe6" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x1579dc;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x1579dc" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "pRVar10 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                )._M_impl._M_start[local_50];" (assignment_expression "pRVar10 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                )._M_impl._M_start[local_50]" identifier = (subscript_expression "(((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                )._M_impl._M_start[local_50]" (field_expression "(((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                )._M_impl._M_start" (field_expression "(((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                )._M_impl" (parenthesized_expression "(((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                )" ( (binary_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>" (binary_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_" (binary_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold" (binary_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base<gold::Relocatable_relocs*,_std" (binary_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base<gold" (field_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)->\n                super__Vector_base" (parenthesized_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)" ( (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) )) -> field_identifier) < identifier) (ERROR "::Relocatable_relocs" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relocatable_relocs" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) [ identifier ])) ;) (if_statement "if (pRVar10 == (Relocatable_relocs *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x2ce;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a7b;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" if (parenthesized_expression "(pRVar10 == (Relocatable_relocs *)0x0)" ( (binary_expression "pRVar10 == (Relocatable_relocs *)0x0" identifier == (cast_expression "(Relocatable_relocs *)0x0" ( (type_descriptor "Relocatable_relocs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x2ce;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a7b;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" { (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e0a3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0x2ce;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0x2ce" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;" (assignment_expression "*(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9" (pointer_expression "*(int *)((int)puVar32 + -0x10)" * (cast_expression "(int *)((int)puVar32 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_84 + -0xf8bf9" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x157a7b;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x157a7b" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "pOVar11 = pRVar10->posd_;" (assignment_expression "pOVar11 = pRVar10->posd_" identifier = (field_expression "pRVar10->posd_" identifier -> field_identifier)) ;) (if_statement "if (pOVar11 == (Output_data *)0x0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x2d0;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a5d;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" if (parenthesized_expression "(pOVar11 == (Output_data *)0x0)" ( (binary_expression "pOVar11 == (Output_data *)0x0" identifier == (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x2d0;\n        *(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a5d;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" { (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e0a3" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e0a3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0x2d0;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0x2d0" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9;" (assignment_expression "*(int *)((int)puVar32 + -0x10) = (int)local_84 + -0xf8bf9" (pointer_expression "*(int *)((int)puVar32 + -0x10)" * (cast_expression "(int *)((int)puVar32 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_84 + -0xf8bf9" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x157a5d;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x157a5d" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "bVar5 = pOVar11->field_0x1c;" (assignment_expression "bVar5 = pOVar11->field_0x1c" identifier = (field_expression "pOVar11->field_0x1c" identifier -> field_identifier)) ;) (if_statement "if ((bVar5 & 4) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157b2c;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" if (parenthesized_expression "((bVar5 & 4) == 0)" ( (binary_expression "(bVar5 & 4) == 0" (parenthesized_expression "(bVar5 & 4)" ( (binary_expression "bVar5 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xe3;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157b2c;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" { (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e080" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e080" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0xe3;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0xe3" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)((int)puVar32 + -0x10)" * (cast_expression "(undefined ***)((int)puVar32 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x157b2c;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x157b2c" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "uVar22 = (uint)pOVar11->offset_;" (assignment_expression "uVar22 = (uint)pOVar11->offset_" identifier = (cast_expression "(uint)pOVar11->offset_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar11->offset_" identifier -> field_identifier))) ;) (expression_statement "iVar21 = *(int *)((int)&pOVar11->offset_ + 4);" (assignment_expression "iVar21 = *(int *)((int)&pOVar11->offset_ + 4)" identifier = (pointer_expression "*(int *)((int)&pOVar11->offset_ + 4)" * (cast_expression "(int *)((int)&pOVar11->offset_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar11->offset_ + 4)" ( (binary_expression "(int)&pOVar11->offset_ + 4" (cast_expression "(int)&pOVar11->offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar11->offset_" & (field_expression "pOVar11->offset_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "*(uint *)&local_54->offset = uVar22;" (assignment_expression "*(uint *)&local_54->offset = uVar22" (pointer_expression "*(uint *)&local_54->offset" * (cast_expression "(uint *)&local_54->offset" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_54->offset" & (field_expression "local_54->offset" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(int *)((int)&local_54->offset + 4) = iVar21;" (assignment_expression "*(int *)((int)&local_54->offset + 4) = iVar21" (pointer_expression "*(int *)((int)&local_54->offset + 4)" * (cast_expression "(int *)((int)&local_54->offset + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_54->offset + 4)" ( (binary_expression "(int)&local_54->offset + 4" (cast_expression "(int)&local_54->offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_54->offset" & (field_expression "local_54->offset" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (if_statement "if ((bVar5 & 2) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xcf;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157b0e;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" if (parenthesized_expression "((bVar5 & 2) == 0)" ( (binary_expression "(bVar5 & 2) == 0" (parenthesized_expression "(bVar5 & 2)" ( (binary_expression "bVar5 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xcf;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157b0e;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" { (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e083" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0xcf;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0xcf" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)((int)puVar32 + -0x10)" * (cast_expression "(undefined ***)((int)puVar32 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x157b0e;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x157b0e" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "uVar26 = (uint)pOVar11->data_size_;" (assignment_expression "uVar26 = (uint)pOVar11->data_size_" identifier = (cast_expression "(uint)pOVar11->data_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar11->data_size_" identifier -> field_identifier))) ;) (expression_statement "local_54->view_size = uVar26;" (assignment_expression "local_54->view_size = uVar26" (field_expression "local_54->view_size" identifier -> field_identifier) = identifier) ;) (if_statement "if (iVar21 < 0) {\nLAB_00157ad5:\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157af0;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" if (parenthesized_expression "(iVar21 < 0)" ( (binary_expression "iVar21 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_00157ad5:\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0x6f;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157af0;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" { (labeled_statement "LAB_00157ad5:\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;" statement_identifier : (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e091" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e091" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0x6f;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0x6f" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)((int)puVar32 + -0x10)" * (cast_expression "(undefined ***)((int)puVar32 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x157af0;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x157af0" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "local_94 = uVar26;" (assignment_expression "local_94 = uVar26" identifier = identifier) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_60 = iVar21 + (uint)CARRY4(uVar26,uVar22);" (assignment_expression "local_60 = iVar21 + (uint)CARRY4(uVar26,uVar22)" identifier = (binary_expression "iVar21 + (uint)CARRY4(uVar26,uVar22)" identifier + (cast_expression "(uint)CARRY4(uVar26,uVar22)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar26,uVar22)" identifier (argument_list "(uVar26,uVar22)" ( identifier , identifier )))))) ;) (expression_statement "local_64 = uVar26 + uVar22;" (assignment_expression "local_64 = uVar26 + uVar22" identifier = (binary_expression "uVar26 + uVar22" identifier + identifier)) ;) (expression_statement "local_6c = *(uint *)((int)&of->file_size_ + 4);" (assignment_expression "local_6c = *(uint *)((int)&of->file_size_ + 4)" identifier = (pointer_expression "*(uint *)((int)&of->file_size_ + 4)" * (cast_expression "(uint *)((int)&of->file_size_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((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) ))))) ;) (expression_statement "uVar26 = (uint)((uint)of->file_size_ < uVar26 + uVar22);" (assignment_expression "uVar26 = (uint)((uint)of->file_size_ < uVar26 + uVar22)" identifier = (call_expression "(uint)((uint)of->file_size_ < uVar26 + uVar22)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)of->file_size_ < uVar26 + uVar22)" ( (binary_expression "(uint)of->file_size_ < uVar26 + uVar22" (cast_expression "(uint)of->file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "of->file_size_" identifier -> field_identifier)) < (binary_expression "uVar26 + uVar22" identifier + identifier)) )))) ;) (if_statement "if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar26)) !=\n          (int)((local_6c - local_60) - uVar26) < 0) goto LAB_00157ad5;" if (parenthesized_expression "((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar26)) !=\n          (int)((local_6c - local_60) - uVar26) < 0)" ( (binary_expression "(SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar26)) !=\n          (int)((local_6c - local_60) - uVar26) < 0" (parenthesized_expression "(SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar26))" ( (binary_expression "SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar26)" (call_expression "SBORROW4(local_6c,local_60)" identifier (argument_list "(local_6c,local_60)" ( identifier , identifier ))) != (call_expression "SBORROW4(local_6c - local_60,uVar26)" identifier (argument_list "(local_6c - local_60,uVar26)" ( (binary_expression "local_6c - local_60" identifier - identifier) , identifier )))) )) != (binary_expression "(int)((local_6c - local_60) - uVar26) < 0" (cast_expression "(int)((local_6c - local_60) - uVar26)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((local_6c - local_60) - uVar26)" ( (binary_expression "(local_6c - local_60) - uVar26" (parenthesized_expression "(local_6c - local_60)" ( (binary_expression "local_6c - local_60" identifier - identifier) )) - identifier) ))) < number_literal)) )) (goto_statement "goto LAB_00157ad5;" goto statement_identifier ;)) (expression_statement "local_54->view = of->base_ + uVar22;" (assignment_expression "local_54->view = of->base_ + uVar22" (field_expression "local_54->view" identifier -> field_identifier) = (binary_expression "of->base_ + uVar22" (field_expression "of->base_" identifier -> field_identifier) + identifier)) ;) (if_statement "if ((bVar5 & 1) == 0) {\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157ad5;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" if (parenthesized_expression "((bVar5 & 1) == 0)" ( (binary_expression "(bVar5 & 1) == 0" (parenthesized_expression "(bVar5 & 1)" ( (binary_expression "bVar5 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xc5;\n        *(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157ad5;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" { (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e093" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e093" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)((int)puVar32 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)((int)puVar32 + -0x10)" * (cast_expression "(undefined ***)((int)puVar32 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x157ad5;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x157ad5" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "uVar14 = pOVar11->address_;" (assignment_expression "uVar14 = pOVar11->address_" identifier = (field_expression "pOVar11->address_" identifier -> field_identifier)) ;) (expression_statement "local_50 = local_50 + _S_black;" (assignment_expression "local_50 = local_50 + _S_black" identifier = (binary_expression "local_50 + _S_black" identifier + identifier)) ;) (expression_statement "*(undefined4 *)((int)&local_54->address + 4) = *(undefined4 *)((int)&pOVar11->address_ + 4);" (assignment_expression "*(undefined4 *)((int)&local_54->address + 4) = *(undefined4 *)((int)&pOVar11->address_ + 4)" (pointer_expression "*(undefined4 *)((int)&local_54->address + 4)" * (cast_expression "(undefined4 *)((int)&local_54->address + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_54->address + 4)" ( (binary_expression "(int)&local_54->address + 4" (cast_expression "(int)&local_54->address" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_54->address" & (field_expression "local_54->address" identifier -> field_identifier))) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)&pOVar11->address_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar11->address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar11->address_ + 4)" ( (binary_expression "(int)&pOVar11->address_ + 4" (cast_expression "(int)&pOVar11->address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar11->address_" & (field_expression "pOVar11->address_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "*(int *)&local_54->address = (int)uVar14;" (assignment_expression "*(int *)&local_54->address = (int)uVar14" (pointer_expression "*(int *)&local_54->address" * (cast_expression "(int *)&local_54->address" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_54->address" & (field_expression "local_54->address" identifier -> field_identifier)))) = (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_54->is_input_output_view = false;" (assignment_expression "local_54->is_input_output_view = false" (field_expression "local_54->is_input_output_view" identifier -> field_identifier) = false) ;) (expression_statement "local_54->is_postprocessing_view = false;" (assignment_expression "local_54->is_postprocessing_view = false" (field_expression "local_54->is_postprocessing_view" identifier -> field_identifier) = false) ;) (expression_statement "local_54->is_ctors_reverse_view = false;" (assignment_expression "local_54->is_ctors_reverse_view = false" (field_expression "local_54->is_ctors_reverse_view" identifier -> field_identifier) = false) ;) (expression_statement "local_58 = local_58 + 0x40;" (assignment_expression "local_58 = local_58 + 0x40" identifier = (binary_expression "local_58 + 0x40" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_50 != local_70)" ( (binary_expression "local_50 != local_70" identifier != identifier) )) ;) (labeled_statement "LAB_001574e4:\n    pRVar16 = rm.\n              super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n              ._M_impl._M_finish;" statement_identifier : (ERROR "pRVar16 = rm.\n              super__Vector_base<gold::" (assignment_expression "pRVar16 = rm.\n              super__Vector_base<gold" identifier = (binary_expression "rm.\n              super__Vector_base<gold" (field_expression "rm.\n              super__Vector_base" identifier . field_identifier) < identifier)) : :) (labeled_statement "File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n              ._M_impl._M_finish;" statement_identifier (ERROR "::Read_multiple_entry,_std::allocator<gold:" : : (comma_expression "Read_multiple_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "File_read::Read_multiple_entry>_>\n              ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Read_multiple_entry>_>\n              ._M_impl._M_finish;" (field_expression "Read_multiple_entry>_>\n              ._M_impl._M_finish" (field_expression "Read_multiple_entry>_>\n              ._M_impl" (binary_expression "Read_multiple_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)))) (ERROR "pRVar15 = rm.\n              super__Vector_base<gold::" (assignment_expression "pRVar15 = rm.\n              super__Vector_base<gold" identifier = (binary_expression "rm.\n              super__Vector_base<gold" (field_expression "rm.\n              super__Vector_base" identifier . field_identifier) < identifier)) : :) (labeled_statement "File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n              ._M_impl._M_start;" statement_identifier (ERROR "::Read_multiple_entry,_std::allocator<gold:" : : (comma_expression "Read_multiple_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "File_read::Read_multiple_entry>_>\n              ._M_impl._M_start;" statement_identifier : (ERROR ":" :) (expression_statement "Read_multiple_entry>_>\n              ._M_impl._M_start;" (field_expression "Read_multiple_entry>_>\n              ._M_impl._M_start" (field_expression "Read_multiple_entry>_>\n              ._M_impl" (binary_expression "Read_multiple_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) (if_statement "if (rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n        ._M_impl._M_finish !=\n        rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n        ._M_impl._M_start) {\n      if (local_9d == '\0') {\n        puVar32[-1] = 0;\n        uVar26 = (int)pRVar16 - (int)pRVar15 >> 4;\n        uVar22 = 0x1f;\n        if (uVar26 != 0) {\n          for (; uVar26 >> uVar22 == 0; uVar22 = uVar22 - 1) {\n          }\n        }\n        puVar32[-2] = (0x1f - (uVar22 ^ 0x1f)) * 2;\n        puVar32[-3] = pRVar16;\n        puVar32[-4] = pRVar15;\n        puVar32[-5] = 0x1578f6;\n        std::\n        __introsort_loop<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                  ();\n        if ((int)pRVar16 - (int)pRVar15 < 0x101) {\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar16;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157944;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n        }\n        else {\n          pRVar35 = pRVar15 + 0x10;\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar35;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157913;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n          for (; pRVar16 != pRVar35; pRVar35 = pRVar35 + 1) {\n            puVar32[-3] = 0;\n            puVar32[-4] = pRVar35;\n            puVar32[-5] = 0x15792c;\n            std::\n            __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Read_multiple_compare>_>\n                      ();\n          }\n        }\n      }\n      pIVar9 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;\n      if (pIVar9 == (Input_file *)0x0) {\n        puVar32[-1] = 0x1579e1;\n        Object::input_file((Object *)*puVar32);\nLAB_001579e8:\n        ppuVar34 = local_84;\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xcf;\n        *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a06;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      puVar32[-1] = &rm;\n      puVar32[-2] = *(undefined4 *)\n                     ((int)&(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_ +\n                     4);\n      puVar32[-3] = (int)(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_;\n      puVar32[-4] = &pIVar9->file_;\n      puVar32[-5] = 0x157522;\n      File_read::read_multiple\n                ((File_read *)puVar32[-4],*(off_t *)(puVar32 + -3),(Read_multiple *)puVar32[-1]);\n    }" if (parenthesized_expression "(rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n        ._M_impl._M_finish !=\n        rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n        ._M_impl._M_start)" ( (ERROR "rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n        ._M_impl._M_finish !=\n        rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::" (comma_expression "rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std" (binary_expression "rm.\n        super__Vector_base<gold" (field_expression "rm.\n        super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::File_read::Read_multiple_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : : (binary_expression "Read_multiple_entry>_>\n        ._M_impl._M_finish !=\n        rm.\n        super__Vector_base<gold" (field_expression "Read_multiple_entry>_>\n        ._M_impl._M_finish" (field_expression "Read_multiple_entry>_>\n        ._M_impl" (binary_expression "Read_multiple_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (binary_expression "rm.\n        super__Vector_base<gold" (field_expression "rm.\n        super__Vector_base" identifier . field_identifier) < identifier)) : : identifier : : (comma_expression "Read_multiple_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Read_multiple_entry>_>\n        ._M_impl._M_start" (field_expression "Read_multiple_entry>_>\n        ._M_impl" (binary_expression "Read_multiple_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      if (local_9d == '\0') {\n        puVar32[-1] = 0;\n        uVar26 = (int)pRVar16 - (int)pRVar15 >> 4;\n        uVar22 = 0x1f;\n        if (uVar26 != 0) {\n          for (; uVar26 >> uVar22 == 0; uVar22 = uVar22 - 1) {\n          }\n        }\n        puVar32[-2] = (0x1f - (uVar22 ^ 0x1f)) * 2;\n        puVar32[-3] = pRVar16;\n        puVar32[-4] = pRVar15;\n        puVar32[-5] = 0x1578f6;\n        std::\n        __introsort_loop<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                  ();\n        if ((int)pRVar16 - (int)pRVar15 < 0x101) {\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar16;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157944;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n        }\n        else {\n          pRVar35 = pRVar15 + 0x10;\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar35;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157913;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n          for (; pRVar16 != pRVar35; pRVar35 = pRVar35 + 1) {\n            puVar32[-3] = 0;\n            puVar32[-4] = pRVar35;\n            puVar32[-5] = 0x15792c;\n            std::\n            __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Read_multiple_compare>_>\n                      ();\n          }\n        }\n      }\n      pIVar9 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;\n      if (pIVar9 == (Input_file *)0x0) {\n        puVar32[-1] = 0x1579e1;\n        Object::input_file((Object *)*puVar32);\nLAB_001579e8:\n        ppuVar34 = local_84;\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xcf;\n        *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a06;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }\n      puVar32[-1] = &rm;\n      puVar32[-2] = *(undefined4 *)\n                     ((int)&(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_ +\n                     4);\n      puVar32[-3] = (int)(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_;\n      puVar32[-4] = &pIVar9->file_;\n      puVar32[-5] = 0x157522;\n      File_read::read_multiple\n                ((File_read *)puVar32[-4],*(off_t *)(puVar32 + -3),(Read_multiple *)puVar32[-1]);\n    }" { (if_statement "if (local_9d == '\0') {\n        puVar32[-1] = 0;\n        uVar26 = (int)pRVar16 - (int)pRVar15 >> 4;\n        uVar22 = 0x1f;\n        if (uVar26 != 0) {\n          for (; uVar26 >> uVar22 == 0; uVar22 = uVar22 - 1) {\n          }\n        }\n        puVar32[-2] = (0x1f - (uVar22 ^ 0x1f)) * 2;\n        puVar32[-3] = pRVar16;\n        puVar32[-4] = pRVar15;\n        puVar32[-5] = 0x1578f6;\n        std::\n        __introsort_loop<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                  ();\n        if ((int)pRVar16 - (int)pRVar15 < 0x101) {\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar16;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157944;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n        }\n        else {\n          pRVar35 = pRVar15 + 0x10;\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar35;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157913;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n          for (; pRVar16 != pRVar35; pRVar35 = pRVar35 + 1) {\n            puVar32[-3] = 0;\n            puVar32[-4] = pRVar35;\n            puVar32[-5] = 0x15792c;\n            std::\n            __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Read_multiple_compare>_>\n                      ();\n          }\n        }\n      }" if (parenthesized_expression "(local_9d == '\0')" ( (binary_expression "local_9d == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        puVar32[-1] = 0;\n        uVar26 = (int)pRVar16 - (int)pRVar15 >> 4;\n        uVar22 = 0x1f;\n        if (uVar26 != 0) {\n          for (; uVar26 >> uVar22 == 0; uVar22 = uVar22 - 1) {\n          }\n        }\n        puVar32[-2] = (0x1f - (uVar22 ^ 0x1f)) * 2;\n        puVar32[-3] = pRVar16;\n        puVar32[-4] = pRVar15;\n        puVar32[-5] = 0x1578f6;\n        std::\n        __introsort_loop<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                  ();\n        if ((int)pRVar16 - (int)pRVar15 < 0x101) {\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar16;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157944;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n        }\n        else {\n          pRVar35 = pRVar15 + 0x10;\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar35;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157913;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n          for (; pRVar16 != pRVar35; pRVar35 = pRVar35 + 1) {\n            puVar32[-3] = 0;\n            puVar32[-4] = pRVar35;\n            puVar32[-5] = 0x15792c;\n            std::\n            __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Read_multiple_compare>_>\n                      ();\n          }\n        }\n      }" { (expression_statement "puVar32[-1] = 0;" (assignment_expression "puVar32[-1] = 0" (subscript_expression "puVar32[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar26 = (int)pRVar16 - (int)pRVar15 >> 4;" (assignment_expression "uVar26 = (int)pRVar16 - (int)pRVar15 >> 4" identifier = (binary_expression "(int)pRVar16 - (int)pRVar15 >> 4" (binary_expression "(int)pRVar16 - (int)pRVar15" (cast_expression "(int)pRVar16" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pRVar15" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (expression_statement "uVar22 = 0x1f;" (assignment_expression "uVar22 = 0x1f" identifier = number_literal) ;) (if_statement "if (uVar26 != 0) {\n          for (; uVar26 >> uVar22 == 0; uVar22 = uVar22 - 1) {\n          }\n        }" if (parenthesized_expression "(uVar26 != 0)" ( (binary_expression "uVar26 != 0" identifier != number_literal) )) (compound_statement "{\n          for (; uVar26 >> uVar22 == 0; uVar22 = uVar22 - 1) {\n          }\n        }" { (for_statement "for (; uVar26 >> uVar22 == 0; uVar22 = uVar22 - 1) {\n          }" for ( ; (binary_expression "uVar26 >> uVar22 == 0" (binary_expression "uVar26 >> uVar22" identifier >> identifier) == number_literal) ; (assignment_expression "uVar22 = uVar22 - 1" identifier = (binary_expression "uVar22 - 1" identifier - number_literal)) ) (compound_statement "{\n          }" { })) })) (expression_statement "puVar32[-2] = (0x1f - (uVar22 ^ 0x1f)) * 2;" (assignment_expression "puVar32[-2] = (0x1f - (uVar22 ^ 0x1f)) * 2" (subscript_expression "puVar32[-2]" identifier [ number_literal ]) = (binary_expression "(0x1f - (uVar22 ^ 0x1f)) * 2" (parenthesized_expression "(0x1f - (uVar22 ^ 0x1f))" ( (binary_expression "0x1f - (uVar22 ^ 0x1f)" number_literal - (parenthesized_expression "(uVar22 ^ 0x1f)" ( (binary_expression "uVar22 ^ 0x1f" identifier ^ number_literal) ))) )) * number_literal)) ;) (expression_statement "puVar32[-3] = pRVar16;" (assignment_expression "puVar32[-3] = pRVar16" (subscript_expression "puVar32[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar32[-4] = pRVar15;" (assignment_expression "puVar32[-4] = pRVar15" (subscript_expression "puVar32[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar32[-5] = 0x1578f6;" (assignment_expression "puVar32[-5] = 0x1578f6" (subscript_expression "puVar32[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "std::\n        __introsort_loop<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                  ();" statement_identifier (ERROR "::\n        __introsort_loop<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,_int,___gnu_cxx:" : : (binary_expression "__introsort_loop<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<gold" identifier < identifier) : : (comma_expression "File_read::Read_multiple_entry*,_std" identifier (ERROR "::Read_multiple_entry*" : : identifier *) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "File_read::Read_multiple_entry>_>,_int,___gnu_cxx" identifier (ERROR "::Read_multiple_entry>_>" : : (binary_expression "Read_multiple_entry>_" identifier > identifier) >) , (comma_expression "_int,___gnu_cxx" identifier , identifier)) :) : (labeled_statement "__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                  ();" statement_identifier (ERROR "::_Iter_comp_iter<gold:" : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) :) : (expression_statement "Read_multiple_compare>_>\n                  ();" (binary_expression "Read_multiple_compare>_>\n                  ()" (binary_expression "Read_multiple_compare>_" identifier > identifier) > (parenthesized_expression "()" ( identifier ))) ;))) (if_statement "if ((int)pRVar16 - (int)pRVar15 < 0x101) {\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar16;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157944;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n        }\n        else {\n          pRVar35 = pRVar15 + 0x10;\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar35;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157913;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n          for (; pRVar16 != pRVar35; pRVar35 = pRVar35 + 1) {\n            puVar32[-3] = 0;\n            puVar32[-4] = pRVar35;\n            puVar32[-5] = 0x15792c;\n            std::\n            __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Read_multiple_compare>_>\n                      ();\n          }\n        }" if (parenthesized_expression "((int)pRVar16 - (int)pRVar15 < 0x101)" ( (binary_expression "(int)pRVar16 - (int)pRVar15 < 0x101" (binary_expression "(int)pRVar16 - (int)pRVar15" (cast_expression "(int)pRVar16" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pRVar15" ( (type_descriptor "int" primitive_type) ) identifier)) < number_literal) )) (compound_statement "{\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar16;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157944;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n        }" { (expression_statement "puVar32[-2] = 0;" (assignment_expression "puVar32[-2] = 0" (subscript_expression "puVar32[-2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar32[-3] = pRVar16;" (assignment_expression "puVar32[-3] = pRVar16" (subscript_expression "puVar32[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar32[-4] = pRVar15;" (assignment_expression "puVar32[-4] = pRVar15" (subscript_expression "puVar32[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar32[-5] = 0x157944;" (assignment_expression "puVar32[-5] = 0x157944" (subscript_expression "puVar32[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();" statement_identifier (ERROR "::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx:" : : (binary_expression "__insertion_sort<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<gold" identifier < identifier) : : (comma_expression "File_read::Read_multiple_entry*,_std" identifier (ERROR "::Read_multiple_entry*" : : identifier *) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "File_read::Read_multiple_entry>_>,___gnu_cxx" identifier (ERROR "::Read_multiple_entry>_>" : : (binary_expression "Read_multiple_entry>_" identifier > identifier) >) , identifier) :) : (labeled_statement "__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();" statement_identifier (ERROR "::_Iter_comp_iter<gold:" : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) :) : (expression_statement "Read_multiple_compare>_>\n                    ();" (binary_expression "Read_multiple_compare>_>\n                    ()" (binary_expression "Read_multiple_compare>_" identifier > identifier) > (parenthesized_expression "()" ( identifier ))) ;))) }) (else_clause "else {\n          pRVar35 = pRVar15 + 0x10;\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar35;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157913;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n          for (; pRVar16 != pRVar35; pRVar35 = pRVar35 + 1) {\n            puVar32[-3] = 0;\n            puVar32[-4] = pRVar35;\n            puVar32[-5] = 0x15792c;\n            std::\n            __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Read_multiple_compare>_>\n                      ();\n          }\n        }" else (compound_statement "{\n          pRVar35 = pRVar15 + 0x10;\n          puVar32[-2] = 0;\n          puVar32[-3] = pRVar35;\n          puVar32[-4] = pRVar15;\n          puVar32[-5] = 0x157913;\n          std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();\n          for (; pRVar16 != pRVar35; pRVar35 = pRVar35 + 1) {\n            puVar32[-3] = 0;\n            puVar32[-4] = pRVar35;\n            puVar32[-5] = 0x15792c;\n            std::\n            __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Read_multiple_compare>_>\n                      ();\n          }\n        }" { (expression_statement "pRVar35 = pRVar15 + 0x10;" (assignment_expression "pRVar35 = pRVar15 + 0x10" identifier = (binary_expression "pRVar15 + 0x10" identifier + number_literal)) ;) (expression_statement "puVar32[-2] = 0;" (assignment_expression "puVar32[-2] = 0" (subscript_expression "puVar32[-2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar32[-3] = pRVar35;" (assignment_expression "puVar32[-3] = pRVar35" (subscript_expression "puVar32[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar32[-4] = pRVar15;" (assignment_expression "puVar32[-4] = pRVar15" (subscript_expression "puVar32[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar32[-5] = 0x157913;" (assignment_expression "puVar32[-5] = 0x157913" (subscript_expression "puVar32[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "std::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();" statement_identifier (ERROR "::\n          __insertion_sort<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx:" : : (binary_expression "__insertion_sort<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<gold" identifier < identifier) : : (comma_expression "File_read::Read_multiple_entry*,_std" identifier (ERROR "::Read_multiple_entry*" : : identifier *) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "File_read::Read_multiple_entry>_>,___gnu_cxx" identifier (ERROR "::Read_multiple_entry>_>" : : (binary_expression "Read_multiple_entry>_" identifier > identifier) >) , identifier) :) : (labeled_statement "__ops::_Iter_comp_iter<gold::Read_multiple_compare>_>\n                    ();" statement_identifier (ERROR "::_Iter_comp_iter<gold:" : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) :) : (expression_statement "Read_multiple_compare>_>\n                    ();" (binary_expression "Read_multiple_compare>_>\n                    ()" (binary_expression "Read_multiple_compare>_" identifier > identifier) > (parenthesized_expression "()" ( identifier ))) ;))) (for_statement "for (; pRVar16 != pRVar35; pRVar35 = pRVar35 + 1) {\n            puVar32[-3] = 0;\n            puVar32[-4] = pRVar35;\n            puVar32[-5] = 0x15792c;\n            std::\n            __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Read_multiple_compare>_>\n                      ();\n          }" for ( ; (binary_expression "pRVar16 != pRVar35" identifier != identifier) ; (assignment_expression "pRVar35 = pRVar35 + 1" identifier = (binary_expression "pRVar35 + 1" identifier + number_literal)) ) (compound_statement "{\n            puVar32[-3] = 0;\n            puVar32[-4] = pRVar35;\n            puVar32[-5] = 0x15792c;\n            std::\n            __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Read_multiple_compare>_>\n                      ();\n          }" { (expression_statement "puVar32[-3] = 0;" (assignment_expression "puVar32[-3] = 0" (subscript_expression "puVar32[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar32[-4] = pRVar35;" (assignment_expression "puVar32[-4] = pRVar35" (subscript_expression "puVar32[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar32[-5] = 0x15792c;" (assignment_expression "puVar32[-5] = 0x15792c" (subscript_expression "puVar32[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "std::\n            __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Read_multiple_compare>_>\n                      ();" statement_identifier (ERROR "::\n            __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::File_read::Read_multiple_entry*,_std::vector<gold::File_read::Read_multiple_entry>_>,___gnu_cxx:" : : (binary_expression "__unguarded_linear_insert<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<gold" identifier < identifier) : : (comma_expression "File_read::Read_multiple_entry*,_std" identifier (ERROR "::Read_multiple_entry*" : : identifier *) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "File_read::Read_multiple_entry>_>,___gnu_cxx" identifier (ERROR "::Read_multiple_entry>_>" : : (binary_expression "Read_multiple_entry>_" identifier > identifier) >) , identifier) :) : (labeled_statement "__ops::_Val_comp_iter<gold::Read_multiple_compare>_>\n                      ();" statement_identifier (ERROR "::_Val_comp_iter<gold:" : : (binary_expression "_Val_comp_iter<gold" identifier < identifier) :) : (expression_statement "Read_multiple_compare>_>\n                      ();" (binary_expression "Read_multiple_compare>_>\n                      ()" (binary_expression "Read_multiple_compare>_" identifier > identifier) > (parenthesized_expression "()" ( identifier ))) ;))) })) }))) })) (expression_statement "pIVar9 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_;" (assignment_expression "pIVar9 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_" identifier = (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.input_file_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pIVar9 == (Input_file *)0x0) {\n        puVar32[-1] = 0x1579e1;\n        Object::input_file((Object *)*puVar32);\nLAB_001579e8:\n        ppuVar34 = local_84;\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xcf;\n        *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a06;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" if (parenthesized_expression "(pIVar9 == (Input_file *)0x0)" ( (binary_expression "pIVar9 == (Input_file *)0x0" identifier == (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar32[-1] = 0x1579e1;\n        Object::input_file((Object *)*puVar32);\nLAB_001579e8:\n        ppuVar34 = local_84;\n        *(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)((int)puVar32 + -0xc) = 0xcf;\n        *(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)puVar32 + -0x14) = 0x157a06;\n        do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));\n      }" { (expression_statement "puVar32[-1] = 0x1579e1;" (assignment_expression "puVar32[-1] = 0x1579e1" (subscript_expression "puVar32[-1]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "Object::input_file((Object *)*puVar32);" statement_identifier : (ERROR ":" :) (expression_statement "input_file((Object *)*puVar32);" (call_expression "input_file((Object *)*puVar32)" identifier (argument_list "((Object *)*puVar32)" ( (cast_expression "(Object *)*puVar32" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar32" * identifier)) ))) ;)) (labeled_statement "LAB_001579e8:\n        ppuVar34 = local_84;" statement_identifier : (expression_statement "ppuVar34 = local_84;" (assignment_expression "ppuVar34 = local_84" identifier = identifier) ;)) (expression_statement "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083;" (assignment_expression "*(undefined ***)((int)puVar32 + -8) = local_84 + -0x3e083" (pointer_expression "*(undefined ***)((int)puVar32 + -8)" * (cast_expression "(undefined ***)((int)puVar32 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_84 + -0x3e083" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar32 + -0xc) = 0xcf;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0xc) = 0xcf" (pointer_expression "*(undefined4 *)((int)puVar32 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar32 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55;" (assignment_expression "*(undefined ***)((int)puVar32 + -0x10) = ppuVar34 + -0x41c55" (pointer_expression "*(undefined ***)((int)puVar32 + -0x10)" * (cast_expression "(undefined ***)((int)puVar32 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "ppuVar34 + -0x41c55" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar32 + -0x14) = 0x157a06;" (assignment_expression "*(undefined4 *)((int)puVar32 + -0x14) = 0x157a06" (pointer_expression "*(undefined4 *)((int)puVar32 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar32 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0x14)" ( (binary_expression "(int)puVar32 + -0x14" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8));" (call_expression "do_gold_unreachable(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" identifier (argument_list "(*(char **)((int)puVar32 + -0x10),*(int *)((int)puVar32 + -0xc),\n                            *(char **)((int)puVar32 + -8))" ( (pointer_expression "*(char **)((int)puVar32 + -0x10)" * (cast_expression "(char **)((int)puVar32 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -0x10)" ( (binary_expression "(int)puVar32 + -0x10" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar32 + -0xc)" * (cast_expression "(int *)((int)puVar32 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar32 + -0xc)" ( (binary_expression "(int)puVar32 + -0xc" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar32 + -8)" * (cast_expression "(char **)((int)puVar32 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar32 + -8)" ( (binary_expression "(int)puVar32 + -8" (cast_expression "(int)puVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "puVar32[-1] = &rm;" (assignment_expression "puVar32[-1] = &rm" (subscript_expression "puVar32[-1]" identifier [ number_literal ]) = (pointer_expression "&rm" & identifier)) ;) (expression_statement "puVar32[-2] = *(undefined4 *)\n                     ((int)&(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_ +\n                     4);" (assignment_expression "puVar32[-2] = *(undefined4 *)\n                     ((int)&(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_ +\n                     4)" (subscript_expression "puVar32[-2]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)\n                     ((int)&(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_ +\n                     4)" * (cast_expression "(undefined4 *)\n                     ((int)&(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_ +\n                     4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_ +\n                     4)" ( (binary_expression "(int)&(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_ +\n                     4" (cast_expression "(int)&(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_" & (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "puVar32[-3] = (int)(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_;" (assignment_expression "puVar32[-3] = (int)(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_" (subscript_expression "puVar32[-3]" identifier [ number_literal ]) = (cast_expression "(int)(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.offset_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "puVar32[-4] = &pIVar9->file_;" (assignment_expression "puVar32[-4] = &pIVar9->file_" (subscript_expression "puVar32[-4]" identifier [ number_literal ]) = (pointer_expression "&pIVar9->file_" & (field_expression "pIVar9->file_" identifier -> field_identifier))) ;) (expression_statement "puVar32[-5] = 0x157522;" (assignment_expression "puVar32[-5] = 0x157522" (subscript_expression "puVar32[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "File_read::read_multiple\n                ((File_read *)puVar32[-4],*(off_t *)(puVar32 + -3),(Read_multiple *)puVar32[-1]);" statement_identifier : (ERROR ":" :) (expression_statement "read_multiple\n                ((File_read *)puVar32[-4],*(off_t *)(puVar32 + -3),(Read_multiple *)puVar32[-1]);" (call_expression "read_multiple\n                ((File_read *)puVar32[-4],*(off_t *)(puVar32 + -3),(Read_multiple *)puVar32[-1])" identifier (argument_list "((File_read *)puVar32[-4],*(off_t *)(puVar32 + -3),(Read_multiple *)puVar32[-1])" ( (cast_expression "(File_read *)puVar32[-4]" ( (type_descriptor "File_read *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar32[-4]" identifier [ number_literal ])) , (pointer_expression "*(off_t *)(puVar32 + -3)" * (cast_expression "(off_t *)(puVar32 + -3)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + -3)" ( (binary_expression "puVar32 + -3" identifier + number_literal) )))) , (cast_expression "(Read_multiple *)puVar32[-1]" ( (type_descriptor "Read_multiple *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar32[-1]" identifier [ number_literal ])) ))) ;)) })) (if_statement "if (rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n        ._M_impl._M_start != (pointer)0x0) {\n      puVar32[-4] = rm.\n                    super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                    ._M_impl._M_start;\n      puVar32[-5] = 0x157538;\n      operator_delete((void *)puVar32[-4]);\n    }" if (parenthesized_expression "(rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n        ._M_impl._M_start != (pointer)0x0)" ( (ERROR "rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::" (comma_expression "rm.\n        super__Vector_base<gold::File_read::Read_multiple_entry,_std" (binary_expression "rm.\n        super__Vector_base<gold" (field_expression "rm.\n        super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::File_read::Read_multiple_entry" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (binary_expression "Read_multiple_entry>_>\n        ._M_impl._M_start != (pointer)0x0" (field_expression "Read_multiple_entry>_>\n        ._M_impl._M_start" (field_expression "Read_multiple_entry>_>\n        ._M_impl" (binary_expression "Read_multiple_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n      puVar32[-4] = rm.\n                    super__Vector_base<gold::File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                    ._M_impl._M_start;\n      puVar32[-5] = 0x157538;\n      operator_delete((void *)puVar32[-4]);\n    }" { (ERROR "puVar32[-4] = rm.\n                    super__Vector_base<gold::" (assignment_expression "puVar32[-4] = rm.\n                    super__Vector_base<gold" (subscript_expression "puVar32[-4]" identifier [ number_literal ]) = (binary_expression "rm.\n                    super__Vector_base<gold" (field_expression "rm.\n                    super__Vector_base" identifier . field_identifier) < identifier)) : :) (labeled_statement "File_read::Read_multiple_entry,_std::allocator<gold::File_read::Read_multiple_entry>_>\n                    ._M_impl._M_start;" statement_identifier (ERROR "::Read_multiple_entry,_std::allocator<gold:" : : (comma_expression "Read_multiple_entry,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "File_read::Read_multiple_entry>_>\n                    ._M_impl._M_start;" statement_identifier : (ERROR ":" :) (expression_statement "Read_multiple_entry>_>\n                    ._M_impl._M_start;" (field_expression "Read_multiple_entry>_>\n                    ._M_impl._M_start" (field_expression "Read_multiple_entry>_>\n                    ._M_impl" (binary_expression "Read_multiple_entry>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;))) (expression_statement "puVar32[-5] = 0x157538;" (assignment_expression "puVar32[-5] = 0x157538" (subscript_expression "puVar32[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "operator_delete((void *)puVar32[-4]);" (call_expression "operator_delete((void *)puVar32[-4])" identifier (argument_list "((void *)puVar32[-4])" ( (cast_expression "(void *)puVar32[-4]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar32[-4]" identifier [ number_literal ])) ))) ;) })) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_001571d0(int *param_1,undefined4 param_2,int param_3,int param_4,int *param_5)\n\n{\n  uint *puVar1;\n  int iVar2;\n  code *pcVar3;\n  byte bVar4;\n  char cVar5;\n  undefined4 *****pppppuVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  byte bVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  byte *pbVar18;\n  undefined **ppuVar19;\n  int iVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  byte bVar24;\n  uint auStack_d0 [9];\n  undefined1 auStack_ac [15];\n  char local_9d;\n  undefined4 ****local_9c;\n  undefined4 local_98;\n  uint local_94;\n  undefined4 local_90;\n  undefined4 ****local_8c;\n  undefined4 local_88;\n  undefined **local_84;\n  uint local_80;\n  uint local_7c;\n  undefined4 ****local_78;\n  int *local_74;\n  uint local_70;\n  uint local_6c;\n  uint local_68;\n  uint local_64;\n  uint local_60;\n  uint local_5c;\n  int local_58;\n  uint *local_54;\n  uint local_50;\n  undefined4 local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 ****local_34;\n  uint local_30;\n  undefined4 ****local_2c;\n  uint local_28;\n  \n  bVar24 = 0;\n  local_84 = &__DT_PLTGOT;\n  puVar17 = auStack_ac;\n  local_40 = 0;\n  local_70 = param_1[10];\n  local_58 = param_3 + 0x40;\n  local_3c = 0;\n  local_38 = 0;\n  if (1 < local_70) {\n    local_74 = &DAT_0038f378;\n    local_50 = 1;\n    local_9d = '\x01';\n    do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    iVar8 = local_3c;\n    iVar2 = local_40;\n    if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }\n    if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_001571d0(int *param_1,undefined4 param_2,int param_3,int param_4,int *param_5)\n\n{\n  uint *puVar1;\n  int iVar2;\n  code *pcVar3;\n  byte bVar4;\n  char cVar5;\n  undefined4 *****pppppuVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  byte bVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  byte *pbVar18;\n  undefined **ppuVar19;\n  int iVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  byte bVar24;\n  uint auStack_d0 [9];\n  undefined1 auStack_ac [15];\n  char local_9d;\n  undefined4 ****local_9c;\n  undefined4 local_98;\n  uint local_94;\n  undefined4 local_90;\n  undefined4 ****local_8c;\n  undefined4 local_88;\n  undefined **local_84;\n  uint local_80;\n  uint local_7c;\n  undefined4 ****local_78;\n  int *local_74;\n  uint local_70;\n  uint local_6c;\n  uint local_68;\n  uint local_64;\n  uint local_60;\n  uint local_5c;\n  int local_58;\n  uint *local_54;\n  uint local_50;\n  undefined4 local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 ****local_34;\n  uint local_30;\n  undefined4 ****local_2c;\n  uint local_28;\n  \n  bVar24 = 0;\n  local_84 = &__DT_PLTGOT;\n  puVar17 = auStack_ac;\n  local_40 = 0;\n  local_70 = param_1[10];\n  local_58 = param_3 + 0x40;\n  local_3c = 0;\n  local_38 = 0;\n  if (1 < local_70) {\n    local_74 = &DAT_0038f378;\n    local_50 = 1;\n    local_9d = '\x01';\n    do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    iVar8 = local_3c;\n    iVar2 = local_40;\n    if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }\n    if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_001571d0(int *param_1,undefined4 param_2,int param_3,int param_4,int *param_5)" identifier (parameter_list "(int *param_1,undefined4 param_2,int param_3,int param_4,int *param_5)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  int iVar2;\n  code *pcVar3;\n  byte bVar4;\n  char cVar5;\n  undefined4 *****pppppuVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  byte bVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  byte *pbVar18;\n  undefined **ppuVar19;\n  int iVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  byte bVar24;\n  uint auStack_d0 [9];\n  undefined1 auStack_ac [15];\n  char local_9d;\n  undefined4 ****local_9c;\n  undefined4 local_98;\n  uint local_94;\n  undefined4 local_90;\n  undefined4 ****local_8c;\n  undefined4 local_88;\n  undefined **local_84;\n  uint local_80;\n  uint local_7c;\n  undefined4 ****local_78;\n  int *local_74;\n  uint local_70;\n  uint local_6c;\n  uint local_68;\n  uint local_64;\n  uint local_60;\n  uint local_5c;\n  int local_58;\n  uint *local_54;\n  uint local_50;\n  undefined4 local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 ****local_34;\n  uint local_30;\n  undefined4 ****local_2c;\n  uint local_28;\n  \n  bVar24 = 0;\n  local_84 = &__DT_PLTGOT;\n  puVar17 = auStack_ac;\n  local_40 = 0;\n  local_70 = param_1[10];\n  local_58 = param_3 + 0x40;\n  local_3c = 0;\n  local_38 = 0;\n  if (1 < local_70) {\n    local_74 = &DAT_0038f378;\n    local_50 = 1;\n    local_9d = '\x01';\n    do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    iVar8 = local_3c;\n    iVar2 = local_40;\n    if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }\n    if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }\n  }\n  return;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "undefined4 *****pppppuVar6;" type_identifier (pointer_declarator "*****pppppuVar6" * (pointer_declarator "****pppppuVar6" * (pointer_declarator "***pppppuVar6" * (pointer_declarator "**pppppuVar6" * (pointer_declarator "*pppppuVar6" * identifier))))) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined1 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "undefined **ppuVar19;" type_identifier (pointer_declarator "**ppuVar19" * (pointer_declarator "*ppuVar19" * identifier)) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "bool bVar22;" primitive_type identifier ;) (declaration "bool bVar23;" primitive_type identifier ;) (declaration "byte bVar24;" type_identifier identifier ;) (declaration "uint auStack_d0 [9];" type_identifier (array_declarator "auStack_d0 [9]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_ac [15];" type_identifier (array_declarator "auStack_ac [15]" identifier [ number_literal ]) ;) (declaration "char local_9d;" primitive_type identifier ;) (declaration "undefined4 ****local_9c;" type_identifier (pointer_declarator "****local_9c" * (pointer_declarator "***local_9c" * (pointer_declarator "**local_9c" * (pointer_declarator "*local_9c" * identifier)))) ;) (declaration "undefined4 local_98;" type_identifier identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "undefined4 local_90;" type_identifier identifier ;) (declaration "undefined4 ****local_8c;" type_identifier (pointer_declarator "****local_8c" * (pointer_declarator "***local_8c" * (pointer_declarator "**local_8c" * (pointer_declarator "*local_8c" * identifier)))) ;) (declaration "undefined4 local_88;" type_identifier identifier ;) (declaration "undefined **local_84;" type_identifier (pointer_declarator "**local_84" * (pointer_declarator "*local_84" * identifier)) ;) (declaration "uint local_80;" type_identifier identifier ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "undefined4 ****local_78;" type_identifier (pointer_declarator "****local_78" * (pointer_declarator "***local_78" * (pointer_declarator "**local_78" * (pointer_declarator "*local_78" * identifier)))) ;) (declaration "int *local_74;" primitive_type (pointer_declarator "*local_74" * identifier) ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "uint local_6c;" type_identifier identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "uint local_60;" type_identifier identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "int local_58;" primitive_type identifier ;) (declaration "uint *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "uint local_50;" type_identifier identifier ;) (declaration "undefined4 local_44;" type_identifier identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 ****local_34;" type_identifier (pointer_declarator "****local_34" * (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier)))) ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "undefined4 ****local_2c;" type_identifier (pointer_declarator "****local_2c" * (pointer_declarator "***local_2c" * (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier)))) ;) (declaration "uint local_28;" type_identifier identifier ;) (expression_statement "bVar24 = 0;" (assignment_expression "bVar24 = 0" identifier = number_literal) ;) (expression_statement "local_84 = &__DT_PLTGOT;" (assignment_expression "local_84 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "puVar17 = auStack_ac;" (assignment_expression "puVar17 = auStack_ac" identifier = identifier) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_70 = param_1[10];" (assignment_expression "local_70 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "local_58 = param_3 + 0x40;" (assignment_expression "local_58 = param_3 + 0x40" identifier = (binary_expression "param_3 + 0x40" identifier + number_literal)) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (if_statement "if (1 < local_70) {\n    local_74 = &DAT_0038f378;\n    local_50 = 1;\n    local_9d = '\x01';\n    do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    iVar8 = local_3c;\n    iVar2 = local_40;\n    if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }\n    if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }\n  }" if (parenthesized_expression "(1 < local_70)" ( (binary_expression "1 < local_70" number_literal < identifier) )) (compound_statement "{\n    local_74 = &DAT_0038f378;\n    local_50 = 1;\n    local_9d = '\x01';\n    do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    iVar8 = local_3c;\n    iVar2 = local_40;\n    if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }\n    if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }\n  }" { (expression_statement "local_74 = &DAT_0038f378;" (assignment_expression "local_74 = &DAT_0038f378" identifier = (pointer_expression "&DAT_0038f378" & identifier)) ;) (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" identifier = number_literal) ;) (expression_statement "local_9d = '\x01';" (assignment_expression "local_9d = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (do_statement "do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);" do (compound_statement "{\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    }" { (while_statement "while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }" { (expression_statement "local_54 = (uint *)(local_50 * 0x1c + *param_5);" (assignment_expression "local_54 = (uint *)(local_50 * 0x1c + *param_5)" identifier = (cast_expression "(uint *)(local_50 * 0x1c + *param_5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_50 * 0x1c + *param_5)" ( (binary_expression "local_50 * 0x1c + *param_5" (binary_expression "local_50 * 0x1c" identifier * number_literal) + (pointer_expression "*param_5" * identifier)) )))) ;) (expression_statement "*local_54 = 0;" (assignment_expression "*local_54 = 0" (pointer_expression "*local_54" * identifier) = number_literal) ;) (expression_statement "iVar2 = *(int *)(param_1[0xe] + local_50 * 4);" (assignment_expression "iVar2 = *(int *)(param_1[0xe] + local_50 * 4)" identifier = (pointer_expression "*(int *)(param_1[0xe] + local_50 * 4)" * (cast_expression "(int *)(param_1[0xe] + local_50 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0xe] + local_50 * 4)" ( (binary_expression "param_1[0xe] + local_50 * 4" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) + (binary_expression "local_50 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar2 != 0) break;" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_001574d0:\n        local_50 = local_50 + 1;" statement_identifier : (expression_statement "local_50 = local_50 + 1;" (assignment_expression "local_50 = local_50 + 1" identifier = (binary_expression "local_50 + 1" identifier + number_literal)) ;)) (expression_statement "local_58 = local_58 + 0x40;" (assignment_expression "local_58 = local_58 + 0x40" identifier = (binary_expression "local_58 + 0x40" identifier + number_literal)) ;) (if_statement "if (local_50 == local_70) goto LAB_001574e4;" if (parenthesized_expression "(local_50 == local_70)" ( (binary_expression "local_50 == local_70" identifier == identifier) )) (goto_statement "goto LAB_001574e4;" goto statement_identifier ;)) })) (expression_statement "uVar9 = *(uint *)(local_58 + 4);" (assignment_expression "uVar9 = *(uint *)(local_58 + 4)" identifier = (pointer_expression "*(uint *)(local_58 + 4)" * (cast_expression "(uint *)(local_58 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 4)" ( (binary_expression "local_58 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (if_statement "if (uVar9 == 8) goto LAB_001574d0;" if (parenthesized_expression "(uVar9 == 8)" ( (binary_expression "uVar9 == 8" identifier == number_literal) )) (goto_statement "goto LAB_001574d0;" goto statement_identifier ;)) (expression_statement "iVar8 = *(int *)(*local_74 + 8);" (assignment_expression "iVar8 = *(int *)(*local_74 + 8)" identifier = (pointer_expression "*(int *)(*local_74 + 8)" * (cast_expression "(int *)(*local_74 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_74 + 8)" ( (binary_expression "*local_74 + 8" (pointer_expression "*local_74" * identifier) + number_literal) ))))) ;) (if_statement "if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e00a" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41f7c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1579a3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1579a3" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }" if (parenthesized_expression "((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0))" ( (binary_expression "(((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)" (parenthesized_expression "(((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9))))" ( (binary_expression "((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))" (parenthesized_expression "((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0'))" ( (binary_expression "(*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')" (parenthesized_expression "(*(char *)(iVar8 + 0x318d) == '\0')" ( (binary_expression "*(char *)(iVar8 + 0x318d) == '\0'" (pointer_expression "*(char *)(iVar8 + 0x318d)" * (cast_expression "(char *)(iVar8 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x318d)" ( (binary_expression "iVar8 + 0x318d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(iVar8 + 0x3095) == '\0')" ( (binary_expression "*(char *)(iVar8 + 0x3095) == '\0'" (pointer_expression "*(char *)(iVar8 + 0x3095)" * (cast_expression "(char *)(iVar8 + 0x3095)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x3095)" ( (binary_expression "iVar8 + 0x3095" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "((uVar9 != 4 && (uVar9 != 9)))" ( (parenthesized_expression "(uVar9 != 4 && (uVar9 != 9))" ( (binary_expression "uVar9 != 4 && (uVar9 != 9)" (binary_expression "uVar9 != 4" identifier != number_literal) && (parenthesized_expression "(uVar9 != 9)" ( (binary_expression "uVar9 != 9" identifier != number_literal) ))) )) ))) )) || (parenthesized_expression "((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)" ( (binary_expression "(*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0" (parenthesized_expression "(*(uint *)(local_58 + 0xc) >> 0x18 & 2)" ( (binary_expression "*(uint *)(local_58 + 0xc) >> 0x18 & 2" (binary_expression "*(uint *)(local_58 + 0xc) >> 0x18" (pointer_expression "*(uint *)(local_58 + 0xc)" * (cast_expression "(uint *)(local_58 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0xc)" ( (binary_expression "local_58 + 0xc" identifier + number_literal) )))) >> number_literal) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }" { (expression_statement "bVar4 = *(byte *)(iVar2 + 0x90);" (assignment_expression "bVar4 = *(byte *)(iVar2 + 0x90)" identifier = (pointer_expression "*(byte *)(iVar2 + 0x90)" * (cast_expression "(byte *)(iVar2 + 0x90)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x90)" ( (binary_expression "iVar2 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "bVar13 = bVar4 >> 5;" (assignment_expression "bVar13 = bVar4 >> 5" identifier = (binary_expression "bVar4 >> 5" identifier >> number_literal)) ;) (expression_statement "local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;" (assignment_expression "local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01" identifier = (binary_expression "CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01" (call_expression "CONCAT31(local_5c._1_3_,bVar13)" identifier (argument_list "(local_5c._1_3_,bVar13)" ( (field_expression "local_5c._1_3_" identifier . field_identifier) , identifier ))) & number_literal)) ;) (if_statement "if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }" if (parenthesized_expression "((bVar13 & 1) == 0)" ( (binary_expression "(bVar13 & 1) == 0" (parenthesized_expression "(bVar13 & 1)" ( (binary_expression "bVar13 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }" { (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }" if (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 4) == 0)" ( (binary_expression "(*(byte *)(iVar2 + 0x1c) & 4) == 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 4)" ( (binary_expression "*(byte *)(iVar2 + 0x1c) & 4" (pointer_expression "*(byte *)(iVar2 + 0x1c)" * (cast_expression "(byte *)(iVar2 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e080" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e080" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xe3;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xe3" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a99;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a99" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_64 = *(uint *)(iVar2 + 0x14);" (assignment_expression "local_64 = *(uint *)(iVar2 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x14)" * (cast_expression "(uint *)(iVar2 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_60 = *(uint *)(iVar2 + 0x18);" (assignment_expression "local_60 = *(uint *)(iVar2 + 0x18)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x18)" * (cast_expression "(uint *)(iVar2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;" if (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 2) == 0)" ( (binary_expression "(*(byte *)(iVar2 + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar2 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar2 + 0x1c)" * (cast_expression "(byte *)(iVar2 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_001579e8;" goto statement_identifier ;)) (expression_statement "local_78 = *(undefined4 *****)(iVar2 + 0xc);" (assignment_expression "local_78 = *(undefined4 *****)(iVar2 + 0xc)" identifier = (pointer_expression "*(undefined4 *****)(iVar2 + 0xc)" * (cast_expression "(undefined4 *****)(iVar2 + 0xc)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "local_7c = *(uint *)(iVar2 + 0x10);" (assignment_expression "local_7c = *(uint *)(iVar2 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }" else (compound_statement "{\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }" { (expression_statement "local_78 = *(undefined4 *****)(iVar2 + 0xc);" (assignment_expression "local_78 = *(undefined4 *****)(iVar2 + 0xc)" identifier = (pointer_expression "*(undefined4 *****)(iVar2 + 0xc)" * (cast_expression "(undefined4 *****)(iVar2 + 0xc)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "local_7c = *(uint *)(iVar2 + 0x10);" (assignment_expression "local_7c = *(uint *)(iVar2 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x10)" * (cast_expression "(uint *)(iVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) }))) (expression_statement "puVar1 = (uint *)(param_1[0x21] + local_50 * 8);" (assignment_expression "puVar1 = (uint *)(param_1[0x21] + local_50 * 8)" identifier = (cast_expression "(uint *)(param_1[0x21] + local_50 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x21] + local_50 * 8)" ( (binary_expression "param_1[0x21] + local_50 * 8" (subscript_expression "param_1[0x21]" identifier [ number_literal ]) + (binary_expression "local_50 * 8" identifier * number_literal)) )))) ;) (expression_statement "local_6c = *puVar1;" (assignment_expression "local_6c = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "local_68 = puVar1[1];" (assignment_expression "local_68 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (if_statement "if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }" if (parenthesized_expression "((local_68 & local_6c) == 0xffffffff)" ( (binary_expression "(local_68 & local_6c) == 0xffffffff" (parenthesized_expression "(local_68 & local_6c)" ( (binary_expression "local_68 & local_6c" identifier & identifier) )) == number_literal) )) (compound_statement "{\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }" { (expression_statement "local_8c = local_78;" (assignment_expression "local_8c = local_78" identifier = identifier) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (if_statement "if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }" if (parenthesized_expression "(local_7c != 0)" ( (binary_expression "local_7c != 0" identifier != number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e09f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_84 + -0x107be7" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a3f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a3f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;" if (parenthesized_expression "((undefined4 *****)local_78 == (undefined4 *****)0x0)" ( (binary_expression "(undefined4 *****)local_78 == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)local_78" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_001574d0;" goto statement_identifier ;)) (expression_statement "pppppuVar6 = (undefined4 *****)local_78;" (assignment_expression "pppppuVar6 = (undefined4 *****)local_78" identifier = (cast_expression "(undefined4 *****)local_78" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }" if (parenthesized_expression "((char)local_5c != '\0')" ( (binary_expression "(char)local_5c != '\0'" (cast_expression "(char)local_5c" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }" { (if_statement "if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;" if (parenthesized_expression "(*(int *)(iVar2 + 0x8c) == 0)" ( (binary_expression "*(int *)(iVar2 + 0x8c) == 0" (pointer_expression "*(int *)(iVar2 + 0x8c)" * (cast_expression "(int *)(iVar2 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x8c)" ( (binary_expression "iVar2 + 0x8c" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00157b2c;" goto statement_identifier ;)) (expression_statement "*local_54 = *(int *)(iVar2 + 0x8c) + local_64;" (assignment_expression "*local_54 = *(int *)(iVar2 + 0x8c) + local_64" (pointer_expression "*local_54" * identifier) = (binary_expression "*(int *)(iVar2 + 0x8c) + local_64" (pointer_expression "*(int *)(iVar2 + 0x8c)" * (cast_expression "(int *)(iVar2 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x8c)" ( (binary_expression "iVar2 + 0x8c" identifier + number_literal) )))) + identifier)) ;) (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;" if (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar2 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar2 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar2 + 0x1c)" * (cast_expression "(byte *)(iVar2 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0015794c;" goto statement_identifier ;)) (expression_statement "uVar9 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar9 = *(uint *)(iVar2 + 4)" identifier = (pointer_expression "*(uint *)(iVar2 + 4)" * (cast_expression "(uint *)(iVar2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_54[2] = *(uint *)(iVar2 + 8);" (assignment_expression "local_54[2] = *(uint *)(iVar2 + 8)" (subscript_expression "local_54[2]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(iVar2 + 8)" * (cast_expression "(uint *)(iVar2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_54[1] = uVar9;" (assignment_expression "local_54[1] = uVar9" (subscript_expression "local_54[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);" (assignment_expression "uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5)" identifier = (call_expression "CONCAT31(local_5c._1_3_,bVar4 >> 5)" identifier (argument_list "(local_5c._1_3_,bVar4 >> 5)" ( (field_expression "local_5c._1_3_" identifier . field_identifier) , (binary_expression "bVar4 >> 5" identifier >> number_literal) )))) ;) (expression_statement "iVar8 = *(int *)(*local_74 + 8);" (assignment_expression "iVar8 = *(int *)(*local_74 + 8)" identifier = (pointer_expression "*(int *)(*local_74 + 8)" * (cast_expression "(int *)(*local_74 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_74 + 8)" ( (binary_expression "*local_74 + 8" (pointer_expression "*local_74" * identifier) + number_literal) ))))) ;) (goto_statement "goto LAB_0015747d;" goto statement_identifier ;) })) (if_statement "if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }" if (parenthesized_expression "(((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0))" ( (binary_expression "((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)" (parenthesized_expression "((int)local_60 < 0)" ( (binary_expression "(int)local_60 < 0" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)" ( (comma_expression "local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0" (assignment_expression "local_6c = *(uint *)(param_4 + 0xc)" identifier = (pointer_expression "*(uint *)(param_4 + 0xc)" * (cast_expression "(uint *)(param_4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) , (comma_expression "iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0" (assignment_expression "iVar14 = local_60 + CARRY4((uint)local_78,local_64)" identifier = (binary_expression "local_60 + CARRY4((uint)local_78,local_64)" identifier + (call_expression "CARRY4((uint)local_78,local_64)" identifier (argument_list "((uint)local_78,local_64)" ( (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier ))))) , (comma_expression "uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0" (assignment_expression "uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           )" identifier = (call_expression "(uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           )" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           )" ( (binary_expression "*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)" (pointer_expression "*(undefined1 **)(param_4 + 8)" * (cast_expression "(undefined1 **)(param_4 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) )))) < (cast_expression "(undefined1 *)((int)local_78 + local_64)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_78 + local_64)" ( (binary_expression "(int)local_78 + local_64" (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )))) , (comma_expression "iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0" (assignment_expression "iVar20 = local_6c - iVar14" identifier = (binary_expression "local_6c - iVar14" identifier - identifier)) , (binary_expression "(SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0" (parenthesized_expression "(SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9))" ( (binary_expression "SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)" (call_expression "SBORROW4(local_6c,iVar14)" identifier (argument_list "(local_6c,iVar14)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar20,uVar9)" identifier (argument_list "(iVar20,uVar9)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar20 - uVar9) < 0" (cast_expression "(int)(iVar20 - uVar9)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar20 - uVar9)" ( (binary_expression "iVar20 - uVar9" identifier - identifier) ))) < number_literal)))))) ))) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e091" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x6f;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x6f" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a21;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a21" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*local_54 = local_64 + *(int *)(param_4 + 0x10);" (assignment_expression "*local_54 = local_64 + *(int *)(param_4 + 0x10)" (pointer_expression "*local_54" * identifier) = (binary_expression "local_64 + *(int *)(param_4 + 0x10)" identifier + (pointer_expression "*(int *)(param_4 + 0x10)" * (cast_expression "(int *)(param_4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) )))))) ;) (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;" if (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar2 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar2 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar2 + 0x1c)" * (cast_expression "(byte *)(iVar2 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0015794c;" goto statement_identifier ;)) (expression_statement "uVar9 = *(uint *)(iVar2 + 8);" (assignment_expression "uVar9 = *(uint *)(iVar2 + 8)" identifier = (pointer_expression "*(uint *)(iVar2 + 8)" * (cast_expression "(uint *)(iVar2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_54[1] = *(uint *)(iVar2 + 4);" (assignment_expression "local_54[1] = *(uint *)(iVar2 + 4)" (subscript_expression "local_54[1]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(iVar2 + 4)" * (cast_expression "(uint *)(iVar2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_54[2] = uVar9;" (assignment_expression "local_54[2] = uVar9" (subscript_expression "local_54[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_54[4] = local_60;" (assignment_expression "local_54[4] = local_60" (subscript_expression "local_54[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_54[3] = local_64;" (assignment_expression "local_54[3] = local_64" (subscript_expression "local_54[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_54[5] = (uint)local_78;" (assignment_expression "local_54[5] = (uint)local_78" (subscript_expression "local_54[5]" identifier [ number_literal ]) = (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(undefined2 *)(local_54 + 6) = 1;" (assignment_expression "*(undefined2 *)(local_54 + 6) = 1" (pointer_expression "*(undefined2 *)(local_54 + 6)" * (cast_expression "(undefined2 *)(local_54 + 6)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_54 + 6)" ( (binary_expression "local_54 + 6" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }" else (compound_statement "{\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }" { (expression_statement "uVar9 = *(uint *)(local_58 + 0x24);" (assignment_expression "uVar9 = *(uint *)(local_58 + 0x24)" identifier = (pointer_expression "*(uint *)(local_58 + 0x24)" * (cast_expression "(uint *)(local_58 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0x24)" ( (binary_expression "local_58 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);" (assignment_expression "pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18)" identifier = (cast_expression "(undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18)" ( (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }" if (parenthesized_expression "(*(int *)(local_58 + 0x20) != 0)" ( (binary_expression "*(int *)(local_58 + 0x20) != 0" (pointer_expression "*(int *)(local_58 + 0x20)" * (cast_expression "(int *)(local_58 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0x20)" ( (binary_expression "local_58 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e09f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_84 + -0x107be7" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157988;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157988" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar8 = param_1[0xd];" (assignment_expression "iVar8 = param_1[0xd]" identifier = (subscript_expression "param_1[0xd]" identifier [ number_literal ])) ;) (if_statement "if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }" { (labeled_statement "LAB_001577e0:\n            local_80 = local_80 & 0xffffff00;" statement_identifier : (expression_statement "local_80 = local_80 & 0xffffff00;" (assignment_expression "local_80 = local_80 & 0xffffff00" identifier = (binary_expression "local_80 & 0xffffff00" identifier & number_literal)) ;)) }) (else_clause "else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }" else (compound_statement "{\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }" { (expression_statement "uVar9 = iVar8 + 4;" (assignment_expression "uVar9 = iVar8 + 4" identifier = (binary_expression "iVar8 + 4" identifier + number_literal)) ;) (expression_statement "uVar12 = *(uint *)(iVar8 + 8);" (assignment_expression "uVar12 = *(uint *)(iVar8 + 8)" identifier = (pointer_expression "*(uint *)(iVar8 + 8)" * (cast_expression "(uint *)(iVar8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = uVar9;" (assignment_expression "uVar10 = uVar9" identifier = identifier) ;) (if_statement "if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;" if (parenthesized_expression "(*(uint *)(iVar8 + 8) == 0)" ( (binary_expression "*(uint *)(iVar8 + 8) == 0" (pointer_expression "*(uint *)(iVar8 + 8)" * (cast_expression "(uint *)(iVar8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_001577e0;" goto statement_identifier ;)) (do_statement "do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);" do (compound_statement "{\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            }" { (while_statement "while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }" while (parenthesized_expression "(uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50)" ( (comma_expression "uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50" (assignment_expression "uVar11 = uVar12" identifier = identifier) , (binary_expression "*(uint *)(uVar11 + 0x10) < local_50" (pointer_expression "*(uint *)(uVar11 + 0x10)" * (cast_expression "(uint *)(uVar11 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0x10)" ( (binary_expression "uVar11 + 0x10" identifier + number_literal) )))) < identifier)) )) (compound_statement "{\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }" { (expression_statement "puVar1 = (uint *)(uVar11 + 0xc);" (assignment_expression "puVar1 = (uint *)(uVar11 + 0xc)" identifier = (cast_expression "(uint *)(uVar11 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0xc)" ( (binary_expression "uVar11 + 0xc" identifier + number_literal) )))) ;) (expression_statement "uVar12 = *puVar1;" (assignment_expression "uVar12 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "uVar11 = uVar10;" (assignment_expression "uVar11 = uVar10" identifier = identifier) ;) (if_statement "if (*puVar1 == 0) goto LAB_00157368;" if (parenthesized_expression "(*puVar1 == 0)" ( (binary_expression "*puVar1 == 0" (pointer_expression "*puVar1" * identifier) == number_literal) )) (goto_statement "goto LAB_00157368;" goto statement_identifier ;)) })) (expression_statement "uVar12 = *(uint *)(uVar11 + 8);" (assignment_expression "uVar12 = *(uint *)(uVar11 + 8)" identifier = (pointer_expression "*(uint *)(uVar11 + 8)" * (cast_expression "(uint *)(uVar11 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 8)" ( (binary_expression "uVar11 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = uVar11;" (assignment_expression "uVar10 = uVar11" identifier = identifier) ;) }) while (parenthesized_expression "(*(uint *)(uVar11 + 8) != 0)" ( (binary_expression "*(uint *)(uVar11 + 8) != 0" (pointer_expression "*(uint *)(uVar11 + 8)" * (cast_expression "(uint *)(uVar11 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 8)" ( (binary_expression "uVar11 + 8" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_00157368:\n            local_80 = uVar9 & 0xffffff00;" statement_identifier : (expression_statement "local_80 = uVar9 & 0xffffff00;" (assignment_expression "local_80 = uVar9 & 0xffffff00" identifier = (binary_expression "uVar9 & 0xffffff00" identifier & number_literal)) ;)) (if_statement "if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }" if (parenthesized_expression "((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50))" ( (binary_expression "(uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)" (parenthesized_expression "(uVar9 != uVar11)" ( (binary_expression "uVar9 != uVar11" identifier != identifier) )) && (parenthesized_expression "(*(uint *)(uVar11 + 0x10) <= local_50)" ( (binary_expression "*(uint *)(uVar11 + 0x10) <= local_50" (pointer_expression "*(uint *)(uVar11 + 0x10)" * (cast_expression "(uint *)(uVar11 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0x10)" ( (binary_expression "uVar11 + 0x10" identifier + number_literal) )))) <= identifier) ))) )) (compound_statement "{\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }" { (expression_statement "local_80 = CONCAT31((int3)(uVar9 >> 8),1);" (assignment_expression "local_80 = CONCAT31((int3)(uVar9 >> 8),1)" identifier = (call_expression "CONCAT31((int3)(uVar9 >> 8),1)" identifier (argument_list "((int3)(uVar9 >> 8),1)" ( (call_expression "(int3)(uVar9 >> 8)" (parenthesized_expression "(int3)" ( identifier )) (argument_list "(uVar9 >> 8)" ( (binary_expression "uVar9 >> 8" identifier >> number_literal) ))) , number_literal )))) ;) (expression_statement "pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);" (assignment_expression "pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14)" identifier = (pointer_expression "*(undefined4 ******)(uVar11 + 0x14)" * (cast_expression "(undefined4 ******)(uVar11 + 0x14)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(uVar11 + 0x14)" ( (binary_expression "uVar11 + 0x14" identifier + number_literal) ))))) ;) })) }))) (if_statement "if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;" if (parenthesized_expression "(pppppuVar6 == (undefined4 *****)0x0)" ( (binary_expression "pppppuVar6 == (undefined4 *****)0x0" identifier == (cast_expression "(undefined4 *****)0x0" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_001574d0;" goto statement_identifier ;)) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);" (assignment_expression "uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6)" identifier = (binary_expression "local_68 + CARRY4(local_6c,(uint)pppppuVar6)" identifier + (call_expression "CARRY4(local_6c,(uint)pppppuVar6)" identifier (argument_list "(local_6c,(uint)pppppuVar6)" ( identifier , (cast_expression "(uint)pppppuVar6" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) ;) (expression_statement "local_9c = pppppuVar6;" (assignment_expression "local_9c = pppppuVar6" identifier = identifier) ;) (if_statement "if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }" if (parenthesized_expression "(local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))" ( (binary_expression "local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6))" (binary_expression "local_7c < uVar9" identifier < identifier) || (binary_expression "local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6))" (binary_expression "local_7c - uVar9" identifier - identifier) < (call_expression "(uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6))" ( (binary_expression "local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)" identifier < (cast_expression "(undefined4 *****)(local_6c + (int)pppppuVar6)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(local_6c + (int)pppppuVar6)" ( (binary_expression "local_6c + (int)pppppuVar6" identifier + (cast_expression "(int)pppppuVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ))))) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e0a3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x317;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x317" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_84 + -0xf8bf9" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157ab7;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157ab7" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar21 = CARRY4(local_64,local_6c);" (assignment_expression "bVar21 = CARRY4(local_64,local_6c)" identifier = (call_expression "CARRY4(local_64,local_6c)" identifier (argument_list "(local_64,local_6c)" ( identifier , identifier )))) ;) (expression_statement "local_64 = local_64 + local_6c;" (assignment_expression "local_64 = local_64 + local_6c" identifier = (binary_expression "local_64 + local_6c" identifier + identifier)) ;) (expression_statement "local_60 = local_60 + local_68 + (uint)bVar21;" (assignment_expression "local_60 = local_60 + local_68 + (uint)bVar21" identifier = (binary_expression "local_60 + local_68 + (uint)bVar21" (binary_expression "local_60 + local_68" identifier + identifier) + (cast_expression "(uint)bVar21" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }" if (parenthesized_expression "((char)local_5c == '\0')" ( (binary_expression "(char)local_5c == '\0'" (cast_expression "(char)local_5c" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }" { (if_statement "if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }" if (parenthesized_expression "(((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0))" ( (binary_expression "((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)" (parenthesized_expression "((int)local_60 < 0)" ( (binary_expression "(int)local_60 < 0" (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)" ( (comma_expression "iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64)" identifier = (binary_expression "local_60 + CARRY4((uint)pppppuVar6,local_64)" identifier + (call_expression "CARRY4((uint)pppppuVar6,local_64)" identifier (argument_list "((uint)pppppuVar6,local_64)" ( (cast_expression "(uint)pppppuVar6" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier ))))) , (comma_expression "uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64))" identifier = (call_expression "(uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64))" ( (binary_expression "*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)" (pointer_expression "*(undefined1 **)(param_4 + 8)" * (cast_expression "(undefined1 **)(param_4 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) )))) < (cast_expression "(undefined1 *)((int)pppppuVar6 + local_64)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppuVar6 + local_64)" ( (binary_expression "(int)pppppuVar6 + local_64" (cast_expression "(int)pppppuVar6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )))) , (comma_expression "iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "iVar8 = *(int *)(param_4 + 0xc) - iVar20" identifier = (binary_expression "*(int *)(param_4 + 0xc) - iVar20" (pointer_expression "*(int *)(param_4 + 0xc)" * (cast_expression "(int *)(param_4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) )))) - identifier)) , (binary_expression "(SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9))" ( (binary_expression "SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)" (call_expression "SBORROW4(*(int *)(param_4 + 0xc),iVar20)" identifier (argument_list "(*(int *)(param_4 + 0xc),iVar20)" ( (pointer_expression "*(int *)(param_4 + 0xc)" * (cast_expression "(int *)(param_4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) )))) , identifier ))) != (call_expression "SBORROW4(iVar8,uVar9)" identifier (argument_list "(iVar8,uVar9)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar8 - uVar9) < 0" (cast_expression "(int)(iVar8 - uVar9)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar8 - uVar9)" ( (binary_expression "iVar8 - uVar9" identifier - identifier) ))) < number_literal))))) ))) )) (compound_statement "{\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e091" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x6f;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x6f" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" * (cast_expression "(undefined1 **)(puVar17 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (pointer_expression "&LAB_00157b65" & identifier)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_5c = local_64 + *(int *)(param_4 + 0x10);" (assignment_expression "local_5c = local_64 + *(int *)(param_4 + 0x10)" identifier = (binary_expression "local_64 + *(int *)(param_4 + 0x10)" identifier + (pointer_expression "*(int *)(param_4 + 0x10)" * (cast_expression "(int *)(param_4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) )))))) ;) (if_statement "if ((char)local_80 == '\0') goto LAB_001573e9;" if (parenthesized_expression "((char)local_80 == '\0')" ( (binary_expression "(char)local_80 == '\0'" (cast_expression "(char)local_80" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001573e9;" goto statement_identifier ;)) (labeled_statement "LAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(puVar17 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 **)(puVar17 + -8) = &local_44;" (assignment_expression "*(undefined4 **)(puVar17 + -8) = &local_44" (pointer_expression "*(undefined4 **)(puVar17 + -8)" * (cast_expression "(undefined4 **)(puVar17 + -8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (pointer_expression "&local_44" & identifier)) ;) (expression_statement "*(uint *)(puVar17 + -0xc) = local_50;" (assignment_expression "*(uint *)(puVar17 + -0xc) = local_50" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x10) = param_1;" (assignment_expression "*(int **)(puVar17 + -0x10) = param_1" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157743;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157743" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = FUN_000b19a0();" (assignment_expression "uVar7 = FUN_000b19a0()" identifier = (call_expression "FUN_000b19a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_78 = *(undefined4 *****)(local_58 + 8);" (assignment_expression "local_78 = *(undefined4 *****)(local_58 + 8)" identifier = (pointer_expression "*(undefined4 *****)(local_58 + 8)" * (cast_expression "(undefined4 *****)(local_58 + 8)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(local_58 + 8)" ( (binary_expression "local_58 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar9 = *(uint *)(local_58 + 0xc);" (assignment_expression "uVar9 = *(uint *)(local_58 + 0xc)" identifier = (pointer_expression "*(uint *)(local_58 + 0xc)" * (cast_expression "(uint *)(local_58 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0xc)" ( (binary_expression "local_58 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;" (assignment_expression "*(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18" (pointer_expression "*(uint *)(puVar17 + -4)" * (cast_expression "(uint *)(puVar17 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = (binary_expression "(uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18" (binary_expression "(uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8" (binary_expression "(uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8" (binary_expression "(uint)local_78 >> 0x18" (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)local_78 & 0xff0000) >> 8" (parenthesized_expression "((uint)local_78 & 0xff0000)" ( (binary_expression "(uint)local_78 & 0xff0000" (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)local_78 & 0xff00) << 8" (parenthesized_expression "((uint)local_78 & 0xff00)" ( (binary_expression "(uint)local_78 & 0xff00" (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(int)local_78 << 0x18" (cast_expression "(int)local_78" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal))) ;) (expression_statement "*(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "*(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (pointer_expression "*(uint *)(puVar17 + -8)" * (cast_expression "(uint *)(puVar17 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0x40;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0x40" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;" (assignment_expression "*(undefined4 ******)(puVar17 + -0x14) = pppppuVar6" (pointer_expression "*(undefined4 ******)(puVar17 + -0x14)" * (cast_expression "(undefined4 ******)(puVar17 + -0x14)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0x18) = local_5c;" (assignment_expression "*(uint *)(puVar17 + -0x18) = local_5c" (pointer_expression "*(uint *)(puVar17 + -0x18)" * (cast_expression "(uint *)(puVar17 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x1c) = local_44;" (assignment_expression "*(undefined4 *)(puVar17 + -0x1c) = local_44" (pointer_expression "*(undefined4 *)(puVar17 + -0x1c)" * (cast_expression "(undefined4 *)(puVar17 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x1c)" ( (binary_expression "puVar17 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x20) = uVar7;" (assignment_expression "*(undefined4 *)(puVar17 + -0x20) = uVar7" (pointer_expression "*(undefined4 *)(puVar17 + -0x20)" * (cast_expression "(undefined4 *)(puVar17 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x20)" ( (binary_expression "puVar17 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x157773;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x157773" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x24)" ( (binary_expression "puVar17 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar5 = FUN_0019ee80();" (assignment_expression "cVar5 = FUN_0019ee80()" identifier = (call_expression "FUN_0019ee80()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" identifier = identifier) ;) (if_statement "if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }" { (expression_statement "iVar8 = *param_1;" (assignment_expression "iVar8 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "*(uint *)(puVar17 + -8) = local_50;" (assignment_expression "*(uint *)(puVar17 + -8) = local_50" (pointer_expression "*(uint *)(puVar17 + -8)" * (cast_expression "(uint *)(puVar17 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0xc) = param_1;" (assignment_expression "*(int **)(puVar17 + -0xc) = param_1" (pointer_expression "*(int **)(puVar17 + -0xc)" * (cast_expression "(int **)(puVar17 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 ******)(puVar17 + -0x10) = &local_34;" (assignment_expression "*(undefined4 ******)(puVar17 + -0x10) = &local_34" (pointer_expression "*(undefined4 ******)(puVar17 + -0x10)" * (cast_expression "(undefined4 ******)(puVar17 + -0x10)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "pcVar3 = *(code **)(iVar8 + 0x40);" (assignment_expression "pcVar3 = *(code **)(iVar8 + 0x40)" identifier = (pointer_expression "*(code **)(iVar8 + 0x40)" * (cast_expression "(code **)(iVar8 + 0x40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x40)" ( (binary_expression "iVar8 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157793;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157793" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "local_78 = local_34;" (assignment_expression "local_78 = local_34" identifier = identifier) ;) (expression_statement "*(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;" (assignment_expression "*(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2" (pointer_expression "*(undefined ***)(puVar17 + -0x14)" * (cast_expression "(undefined ***)(puVar17 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = (binary_expression "local_84 + -0x40ba2" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0x1577a8;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0x1577a8" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar7 = gettext();" (assignment_expression "uVar7 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *****)(puVar17 + -0xc) = local_78;" (assignment_expression "*(undefined4 *****)(puVar17 + -0xc) = local_78" (pointer_expression "*(undefined4 *****)(puVar17 + -0xc)" * (cast_expression "(undefined4 *****)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x14) = param_1;" (assignment_expression "*(int **)(puVar17 + -0x14) = param_1" (pointer_expression "*(int **)(puVar17 + -0x14)" * (cast_expression "(int **)(puVar17 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0x1577bb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0x1577bb" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000b1840();" (call_expression "FUN_000b1840()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar16 = puVar17 + -4;" (assignment_expression "puVar16 = puVar17 + -4" identifier = (binary_expression "puVar17 + -4" identifier + number_literal)) ;) (if_statement "if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;" if (parenthesized_expression "((undefined4 *****)local_34 == &local_2c)" ( (binary_expression "(undefined4 *****)local_34 == &local_2c" (cast_expression "(undefined4 *****)local_34" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (pointer_expression "&local_2c" & identifier)) )) (goto_statement "goto LAB_0015743e;" goto statement_identifier ;)) (expression_statement "puVar15 = puVar17 + -0x14;" (assignment_expression "puVar15 = puVar17 + -0x14" identifier = (binary_expression "puVar17 + -0x14" identifier + number_literal)) ;) (expression_statement "*(undefined4 *****)(puVar17 + -0x14) = local_34;" (assignment_expression "*(undefined4 *****)(puVar17 + -0x14) = local_34" (pointer_expression "*(undefined4 *****)(puVar17 + -0x14)" * (cast_expression "(undefined4 *****)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0x1577d8;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0x1577d8" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" * (cast_expression "(undefined4 *)(puVar17 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x18)" ( (binary_expression "puVar17 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0015743b;" goto statement_identifier ;) })) }) (else_clause "else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }" else (compound_statement "{\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }" { (if_statement "if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }" if (parenthesized_expression "(*(int *)(iVar2 + 0x8c) == 0)" ( (binary_expression "*(int *)(iVar2 + 0x8c) == 0" (pointer_expression "*(int *)(iVar2 + 0x8c)" * (cast_expression "(int *)(iVar2 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x8c)" ( (binary_expression "iVar2 + 0x8c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }" { (labeled_statement "LAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;" statement_identifier : (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e08d" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xe34;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xe34" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157b4a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157b4a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_5c = *(int *)(iVar2 + 0x8c) + local_64;" (assignment_expression "local_5c = *(int *)(iVar2 + 0x8c) + local_64" identifier = (binary_expression "*(int *)(iVar2 + 0x8c) + local_64" (pointer_expression "*(int *)(iVar2 + 0x8c)" * (cast_expression "(int *)(iVar2 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x8c)" ( (binary_expression "iVar2 + 0x8c" identifier + number_literal) )))) + identifier)) ;) (if_statement "if ((char)local_80 != '\0') goto LAB_0015772f;" if (parenthesized_expression "((char)local_80 != '\0')" ( (binary_expression "(char)local_80 != '\0'" (cast_expression "(char)local_80" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0015772f;" goto statement_identifier ;)) (labeled_statement "LAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);" statement_identifier : (expression_statement "uVar9 = *(uint *)(local_58 + 0x18);" (assignment_expression "uVar9 = *(uint *)(local_58 + 0x18)" identifier = (pointer_expression "*(uint *)(local_58 + 0x18)" * (cast_expression "(uint *)(local_58 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0x18)" ( (binary_expression "local_58 + 0x18" identifier + number_literal) ))))) ;)) (expression_statement "uVar12 = *(uint *)(local_58 + 0x1c);" (assignment_expression "uVar12 = *(uint *)(local_58 + 0x1c)" identifier = (pointer_expression "*(uint *)(local_58 + 0x1c)" * (cast_expression "(uint *)(local_58 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + 0x1c)" ( (binary_expression "local_58 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;" (assignment_expression "local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18" identifier = (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" ( (binary_expression "uVar9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" ( (binary_expression "uVar9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar9 << 0x18" identifier << number_literal))) ;) (expression_statement "local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);" (assignment_expression "local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18)" identifier = (cast_expression "(undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18)" ( (type_descriptor "undefined4 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18)" ( (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18" (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8" (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8" (binary_expression "uVar12 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar12 & 0xff0000) >> 8" (parenthesized_expression "(uVar12 & 0xff0000)" ( (binary_expression "uVar12 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar12 & 0xff00) << 8" (parenthesized_expression "(uVar12 & 0xff00)" ( (binary_expression "uVar12 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar12 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "cVar5 = local_9d;" (assignment_expression "cVar5 = local_9d" identifier = identifier) ;) (if_statement "if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }" if (parenthesized_expression "((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0))" ( (binary_expression "(local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)" (parenthesized_expression "(local_3c != local_40)" ( (binary_expression "local_3c != local_40" identifier != identifier) )) && (parenthesized_expression "(uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)" ( (comma_expression "uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10))" identifier = (call_expression "(uint)(local_78 < *(undefined4 ******)(local_3c + -0x10))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_78 < *(undefined4 ******)(local_3c + -0x10))" ( (binary_expression "local_78 < *(undefined4 ******)(local_3c + -0x10)" identifier < (pointer_expression "*(undefined4 ******)(local_3c + -0x10)" * (cast_expression "(undefined4 ******)(local_3c + -0x10)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(local_3c + -0x10)" ( (binary_expression "local_3c + -0x10" identifier + number_literal) ))))) )))) , (comma_expression "iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "iVar8 = local_30 - *(int *)(local_3c + -0xc)" identifier = (binary_expression "local_30 - *(int *)(local_3c + -0xc)" identifier - (pointer_expression "*(int *)(local_3c + -0xc)" * (cast_expression "(int *)(local_3c + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + -0xc)" ( (binary_expression "local_3c + -0xc" identifier + number_literal) )))))) , (comma_expression "cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "cVar5 = (char)local_80" identifier = (cast_expression "(char)local_80" ( (type_descriptor "char" primitive_type) ) identifier)) , (binary_expression "(SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0" (parenthesized_expression "(SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9))" ( (binary_expression "SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)" (call_expression "SBORROW4(local_30,*(int *)(local_3c + -0xc))" identifier (argument_list "(local_30,*(int *)(local_3c + -0xc))" ( identifier , (pointer_expression "*(int *)(local_3c + -0xc)" * (cast_expression "(int *)(local_3c + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_3c + -0xc)" ( (binary_expression "local_3c + -0xc" identifier + number_literal) )))) ))) != (call_expression "SBORROW4(iVar8,uVar9)" identifier (argument_list "(iVar8,uVar9)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar8 - uVar9) < 0" (cast_expression "(int)(iVar8 - uVar9)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar8 - uVar9)" ( (binary_expression "iVar8 - uVar9" identifier - identifier) ))) < number_literal))))) ))) )) (compound_statement "{\n              cVar5 = local_9d;\n            }" { (expression_statement "cVar5 = local_9d;" (assignment_expression "cVar5 = local_9d" identifier = identifier) ;) })) (expression_statement "local_9d = cVar5;" (assignment_expression "local_9d = cVar5" identifier = identifier) ;) (expression_statement "local_28 = local_5c;" (assignment_expression "local_28 = local_5c" identifier = identifier) ;) (expression_statement "*(undefined4 ******)(puVar17 + -0xc) = &local_34;" (assignment_expression "*(undefined4 ******)(puVar17 + -0xc) = &local_34" (pointer_expression "*(undefined4 ******)(puVar17 + -0xc)" * (cast_expression "(undefined4 ******)(puVar17 + -0xc)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "puVar15 = puVar17 + -0x10;" (assignment_expression "puVar15 = puVar17 + -0x10" identifier = (binary_expression "puVar17 + -0x10" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar17 + -0x10) = &local_40;" (assignment_expression "*(int **)(puVar17 + -0x10) = &local_40" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x15743b;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x15743b" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_34 = local_78;" (assignment_expression "local_34 = local_78" identifier = identifier) ;) (expression_statement "local_2c = pppppuVar6;" (assignment_expression "local_2c = pppppuVar6" identifier = identifier) ;) (expression_statement "FUN_0014ebe0();" (call_expression "FUN_0014ebe0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0015743b:\n            puVar16 = puVar15 + 0x10;" statement_identifier : (expression_statement "puVar16 = puVar15 + 0x10;" (assignment_expression "puVar16 = puVar15 + 0x10" identifier = (binary_expression "puVar15 + 0x10" identifier + number_literal)) ;)) }))) (labeled_statement "LAB_0015743e:\n          *local_54 = local_5c;" statement_identifier : (expression_statement "*local_54 = local_5c;" (assignment_expression "*local_54 = local_5c" (pointer_expression "*local_54" * identifier) = identifier) ;)) (expression_statement "puVar17 = puVar16;" (assignment_expression "puVar17 = puVar16" identifier = identifier) ;) (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }" if (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar2 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar2 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar2 + 0x1c)" * (cast_expression "(byte *)(iVar2 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }" { (labeled_statement "LAB_0015794c:\n            ppuVar19 = local_84;" statement_identifier : (expression_statement "ppuVar19 = local_84;" (assignment_expression "ppuVar19 = local_84" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e093" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e093" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "ppuVar19 + -0x41c55" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x15796a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x15796a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar12 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 4)" identifier = (pointer_expression "*(uint *)(iVar2 + 4)" * (cast_expression "(uint *)(iVar2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(iVar2 + 8);" (assignment_expression "iVar20 = *(int *)(iVar2 + 8)" identifier = (pointer_expression "*(int *)(iVar2 + 8)" * (cast_expression "(int *)(iVar2 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(*local_74 + 8);" (assignment_expression "iVar8 = *(int *)(*local_74 + 8)" identifier = (pointer_expression "*(int *)(*local_74 + 8)" * (cast_expression "(int *)(*local_74 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_74 + 8)" ( (binary_expression "*local_74 + 8" (pointer_expression "*local_74" * identifier) + number_literal) ))))) ;) (expression_statement "uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);" (assignment_expression "uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5)" identifier = (call_expression "CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5)" identifier (argument_list "(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5)" ( (field_expression "local_5c._1_3_" identifier . field_identifier) , (binary_expression "*(byte *)(iVar2 + 0x90) >> 5" (pointer_expression "*(byte *)(iVar2 + 0x90)" * (cast_expression "(byte *)(iVar2 + 0x90)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x90)" ( (binary_expression "iVar2 + 0x90" identifier + number_literal) )))) >> number_literal) )))) ;) (expression_statement "local_54[1] = uVar12 + local_6c;" (assignment_expression "local_54[1] = uVar12 + local_6c" (subscript_expression "local_54[1]" identifier [ number_literal ]) = (binary_expression "uVar12 + local_6c" identifier + identifier)) ;) (expression_statement "local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);" (assignment_expression "local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c)" (subscript_expression "local_54[2]" identifier [ number_literal ]) = (binary_expression "iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c)" (binary_expression "iVar20 + local_68" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar12,local_6c)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar12,local_6c)" identifier (argument_list "(uVar12,local_6c)" ( identifier , identifier )))))) ;) (labeled_statement "LAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;" statement_identifier : (expression_statement "local_5c = uVar9 & 0xffffff01;" (assignment_expression "local_5c = uVar9 & 0xffffff01" identifier = (binary_expression "uVar9 & 0xffffff01" identifier & number_literal)) ;)) (expression_statement "local_54[3] = local_64;" (assignment_expression "local_54[3] = local_64" (subscript_expression "local_54[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_54[4] = local_60;" (assignment_expression "local_54[4] = local_60" (subscript_expression "local_54[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_54[5] = (uint)pppppuVar6;" (assignment_expression "local_54[5] = (uint)pppppuVar6" (subscript_expression "local_54[5]" identifier [ number_literal ]) = (cast_expression "(uint)pppppuVar6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;" (assignment_expression "*(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff" (pointer_expression "*(bool *)(local_54 + 6)" * (cast_expression "(bool *)(local_54 + 6)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_54 + 6)" ( (binary_expression "local_54 + 6" identifier + number_literal) )))) = (binary_expression "(local_6c & local_68) == 0xffffffff" (parenthesized_expression "(local_6c & local_68)" ( (binary_expression "local_6c & local_68" identifier & identifier) )) == number_literal)) ;) (expression_statement "*(char *)((int)local_54 + 0x19) = (char)local_5c;" (assignment_expression "*(char *)((int)local_54 + 0x19) = (char)local_5c" (pointer_expression "*(char *)((int)local_54 + 0x19)" * (cast_expression "(char *)((int)local_54 + 0x19)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_54 + 0x19)" ( (binary_expression "(int)local_54 + 0x19" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(char)local_5c" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e00a" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41f7c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1579be;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1579be" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (expression_statement "bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;" (assignment_expression "bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6" identifier = (binary_expression "(*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6" (parenthesized_expression "(*(byte *)(iVar8 + 0x318d) ^ 1)" ( (binary_expression "*(byte *)(iVar8 + 0x318d) ^ 1" (pointer_expression "*(byte *)(iVar8 + 0x318d)" * (cast_expression "(byte *)(iVar8 + 0x318d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x318d)" ( (binary_expression "iVar8 + 0x318d" identifier + number_literal) )))) ^ number_literal) )) & (binary_expression "&DAT_00000008 < pppppuVar6" (pointer_expression "&DAT_00000008" & identifier) < identifier))) ;) (expression_statement "bVar23 = bVar4 == 0;" (assignment_expression "bVar23 = bVar4 == 0" identifier = (binary_expression "bVar4 == 0" identifier == number_literal)) ;) (if_statement "if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }" if (parenthesized_expression "(!bVar23)" ( (unary_expression "!bVar23" ! identifier) )) (compound_statement "{\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }" { (expression_statement "iVar8 = 0xc;" (assignment_expression "iVar8 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar18 = *(byte **)(iVar2 + 0x20);" (assignment_expression "pbVar18 = *(byte **)(iVar2 + 0x20)" identifier = (pointer_expression "*(byte **)(iVar2 + 0x20)" * (cast_expression "(byte **)(iVar2 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x20)" ( (binary_expression "iVar2 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "ppuVar19 = local_84 + -0x41295;" (assignment_expression "ppuVar19 = local_84 + -0x41295" identifier = (binary_expression "local_84 + -0x41295" identifier + number_literal)) ;) (do_statement "do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);" do (compound_statement "{\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar21 = *pbVar18 < *(byte *)ppuVar19;" (assignment_expression "bVar21 = *pbVar18 < *(byte *)ppuVar19" identifier = (binary_expression "*pbVar18 < *(byte *)ppuVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*(byte *)ppuVar19" * (cast_expression "(byte *)ppuVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar23 = *pbVar18 == *(byte *)ppuVar19;" (assignment_expression "bVar23 = *pbVar18 == *(byte *)ppuVar19" identifier = (binary_expression "*pbVar18 == *(byte *)ppuVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*(byte *)ppuVar19" * (cast_expression "(byte *)ppuVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar24 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar24 * -2" identifier + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);" (assignment_expression "ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar19 + (uint)bVar24 * -2 + 1)" ( (binary_expression "(int)ppuVar19 + (uint)bVar24 * -2 + 1" (binary_expression "(int)ppuVar19 + (uint)bVar24 * -2" (cast_expression "(int)ppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar23)" ( identifier )) ;) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" identifier = false) ;) (expression_statement "bVar21 = (!bVar21 && !bVar23) == bVar21;" (assignment_expression "bVar21 = (!bVar21 && !bVar23) == bVar21" identifier = (binary_expression "(!bVar21 && !bVar23) == bVar21" (parenthesized_expression "(!bVar21 && !bVar23)" ( (binary_expression "!bVar21 && !bVar23" (unary_expression "!bVar21" ! identifier) && (unary_expression "!bVar23" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }" if (parenthesized_expression "(!bVar21)" ( (unary_expression "!bVar21" ! identifier) )) (compound_statement "{\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }" { (expression_statement "iVar8 = 0xc;" (assignment_expression "iVar8 = 0xc" identifier = number_literal) ;) (expression_statement "pbVar18 = *(byte **)(iVar2 + 0x20);" (assignment_expression "pbVar18 = *(byte **)(iVar2 + 0x20)" identifier = (pointer_expression "*(byte **)(iVar2 + 0x20)" * (cast_expression "(byte **)(iVar2 + 0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar2 + 0x20)" ( (binary_expression "iVar2 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "ppuVar19 = local_84 + -0x41292;" (assignment_expression "ppuVar19 = local_84 + -0x41292" identifier = (binary_expression "local_84 + -0x41292" identifier + number_literal)) ;) (do_statement "do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);" do (compound_statement "{\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar22 = *pbVar18 < *(byte *)ppuVar19;" (assignment_expression "bVar22 = *pbVar18 < *(byte *)ppuVar19" identifier = (binary_expression "*pbVar18 < *(byte *)ppuVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*(byte *)ppuVar19" * (cast_expression "(byte *)ppuVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "bVar21 = *pbVar18 == *(byte *)ppuVar19;" (assignment_expression "bVar21 = *pbVar18 == *(byte *)ppuVar19" identifier = (binary_expression "*pbVar18 == *(byte *)ppuVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*(byte *)ppuVar19" * (cast_expression "(byte *)ppuVar19" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (expression_statement "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1" identifier = (binary_expression "pbVar18 + (uint)bVar24 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar24 * -2" identifier + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);" (assignment_expression "ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1)" identifier = (cast_expression "(undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar19 + (uint)bVar24 * -2 + 1)" ( (binary_expression "(int)ppuVar19 + (uint)bVar24 * -2 + 1" (binary_expression "(int)ppuVar19 + (uint)bVar24 * -2" (cast_expression "(int)ppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) }) while (parenthesized_expression "(bVar21)" ( identifier )) ;) (if_statement "if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }" if (parenthesized_expression "((!bVar22 && !bVar21) != bVar22)" ( (binary_expression "(!bVar22 && !bVar21) != bVar22" (parenthesized_expression "(!bVar22 && !bVar21)" ( (binary_expression "!bVar22 && !bVar21" (unary_expression "!bVar22" ! identifier) && (unary_expression "!bVar21" ! identifier)) )) != identifier) )) (compound_statement "{\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }" { (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001574ca;" goto statement_identifier ;) })) })) (expression_statement "*(uint *)(puVar17 + -8) = local_50;" (assignment_expression "*(uint *)(puVar17 + -8) = local_50" (pointer_expression "*(uint *)(puVar17 + -8)" * (cast_expression "(uint *)(puVar17 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0xc) = param_1;" (assignment_expression "*(int **)(puVar17 + -0xc) = param_1" (pointer_expression "*(int **)(puVar17 + -0xc)" * (cast_expression "(int **)(puVar17 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = param_2;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = param_2" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1578cc;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1578cc" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar4 = FUN_0009e8a0();" (assignment_expression "bVar4 = FUN_0009e8a0()" identifier = (call_expression "FUN_0009e8a0()" identifier (argument_list "()" ( )))) ;) })) (labeled_statement "LAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;" statement_identifier : (expression_statement "*(byte *)((int)local_54 + 0x1a) = bVar4;" (assignment_expression "*(byte *)((int)local_54 + 0x1a) = bVar4" (pointer_expression "*(byte *)((int)local_54 + 0x1a)" * (cast_expression "(byte *)((int)local_54 + 0x1a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_54 + 0x1a)" ( (binary_expression "(int)local_54 + 0x1a" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (goto_statement "goto LAB_001574d0;" goto statement_identifier ;) })) (if_statement "if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }" if (parenthesized_expression "((uint)param_1[10] <= local_50)" ( (binary_expression "(uint)param_1[10] <= local_50" (cast_expression "(uint)param_1[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e04d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x549;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x549" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_84 + -0x10efe6" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1579dc;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1579dc" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);" (assignment_expression "iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4)" identifier = (pointer_expression "*(int *)(*(int *)param_1[0x11] + local_50 * 4)" * (cast_expression "(int *)(*(int *)param_1[0x11] + local_50 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_1[0x11] + local_50 * 4)" ( (binary_expression "*(int *)param_1[0x11] + local_50 * 4" (pointer_expression "*(int *)param_1[0x11]" * (cast_expression "(int *)param_1[0x11]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x11]" identifier [ number_literal ]))) + (binary_expression "local_50 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e0a3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x2ce;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x2ce" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_84 + -0xf8bf9" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a7b;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a7b" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar2 = *(int *)(iVar2 + 0x10);" (assignment_expression "iVar2 = *(int *)(iVar2 + 0x10)" identifier = (pointer_expression "*(int *)(iVar2 + 0x10)" * (cast_expression "(int *)(iVar2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e0a3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x2d0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x2d0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "(int)local_84 + -0xf8bf9" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a5d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a5d" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar4 = *(byte *)(iVar2 + 0x1c);" (assignment_expression "bVar4 = *(byte *)(iVar2 + 0x1c)" identifier = (pointer_expression "*(byte *)(iVar2 + 0x1c)" * (cast_expression "(byte *)(iVar2 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }" if (parenthesized_expression "((bVar4 & 4) == 0)" ( (binary_expression "(bVar4 & 4) == 0" (parenthesized_expression "(bVar4 & 4)" ( (binary_expression "bVar4 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e080" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e080" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xe3;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xe3" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157b2c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157b2c" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar9 = *(uint *)(iVar2 + 0x14);" (assignment_expression "uVar9 = *(uint *)(iVar2 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x14)" * (cast_expression "(uint *)(iVar2 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x18);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x18)" identifier = (pointer_expression "*(uint *)(iVar2 + 0x18)" * (cast_expression "(uint *)(iVar2 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x18)" ( (binary_expression "iVar2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_54[3] = uVar9;" (assignment_expression "local_54[3] = uVar9" (subscript_expression "local_54[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_54[4] = uVar12;" (assignment_expression "local_54[4] = uVar12" (subscript_expression "local_54[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }" if (parenthesized_expression "((bVar4 & 2) == 0)" ( (binary_expression "(bVar4 & 2) == 0" (parenthesized_expression "(bVar4 & 2)" ( (binary_expression "bVar4 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e083" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e083" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xcf;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xcf" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157b0e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157b0e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar10 = *(uint *)(iVar2 + 0xc);" (assignment_expression "uVar10 = *(uint *)(iVar2 + 0xc)" identifier = (pointer_expression "*(uint *)(iVar2 + 0xc)" * (cast_expression "(uint *)(iVar2 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "local_54[5] = uVar10;" (assignment_expression "local_54[5] = uVar10" (subscript_expression "local_54[5]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }" if (parenthesized_expression "((int)uVar12 < 0)" ( (binary_expression "(int)uVar12 < 0" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }" { (labeled_statement "LAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;" statement_identifier : (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e091" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x6f;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x6f" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157af0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157af0" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_64 = uVar10 + uVar9;" (assignment_expression "local_64 = uVar10 + uVar9" identifier = (binary_expression "uVar10 + uVar9" identifier + identifier)) ;) (expression_statement "local_60 = uVar12 + CARRY4(uVar10,uVar9);" (assignment_expression "local_60 = uVar12 + CARRY4(uVar10,uVar9)" identifier = (binary_expression "uVar12 + CARRY4(uVar10,uVar9)" identifier + (call_expression "CARRY4(uVar10,uVar9)" identifier (argument_list "(uVar10,uVar9)" ( identifier , identifier ))))) ;) (expression_statement "local_6c = *(uint *)(param_4 + 0xc);" (assignment_expression "local_6c = *(uint *)(param_4 + 0xc)" identifier = (pointer_expression "*(uint *)(param_4 + 0xc)" * (cast_expression "(uint *)(param_4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xc)" ( (binary_expression "param_4 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);" (assignment_expression "uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64)" identifier = (call_expression "(uint)(*(uint *)(param_4 + 8) < local_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_4 + 8) < local_64)" ( (binary_expression "*(uint *)(param_4 + 8) < local_64" (pointer_expression "*(uint *)(param_4 + 8)" * (cast_expression "(uint *)(param_4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) )))) < identifier) )))) ;) (expression_statement "local_94 = uVar10;" (assignment_expression "local_94 = uVar10" identifier = identifier) ;) (if_statement "if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;" if (parenthesized_expression "((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0)" ( (binary_expression "(SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0" (parenthesized_expression "(SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12))" ( (binary_expression "SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)" (call_expression "SBORROW4(local_6c,local_60)" identifier (argument_list "(local_6c,local_60)" ( identifier , identifier ))) != (call_expression "SBORROW4(local_6c - local_60,uVar12)" identifier (argument_list "(local_6c - local_60,uVar12)" ( (binary_expression "local_6c - local_60" identifier - identifier) , identifier )))) )) != (binary_expression "(int)((local_6c - local_60) - uVar12) < 0" (cast_expression "(int)((local_6c - local_60) - uVar12)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((local_6c - local_60) - uVar12)" ( (binary_expression "(local_6c - local_60) - uVar12" (parenthesized_expression "(local_6c - local_60)" ( (binary_expression "local_6c - local_60" identifier - identifier) )) - identifier) ))) < number_literal)) )) (goto_statement "goto LAB_00157ad5;" goto statement_identifier ;)) (expression_statement "*local_54 = *(int *)(param_4 + 0x10) + uVar9;" (assignment_expression "*local_54 = *(int *)(param_4 + 0x10) + uVar9" (pointer_expression "*local_54" * identifier) = (binary_expression "*(int *)(param_4 + 0x10) + uVar9" (pointer_expression "*(int *)(param_4 + 0x10)" * (cast_expression "(int *)(param_4 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) )))) + identifier)) ;) (if_statement "if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }" if (parenthesized_expression "((bVar4 & 1) == 0)" ( (binary_expression "(bVar4 & 1) == 0" (parenthesized_expression "(bVar4 & 1)" ( (binary_expression "bVar4 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e093" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e093" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "local_84 + -0x41c55" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157ad5;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157ad5" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar9 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar9 = *(uint *)(iVar2 + 4)" identifier = (pointer_expression "*(uint *)(iVar2 + 4)" * (cast_expression "(uint *)(iVar2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) ))))) ;) (expression_statement "local_50 = local_50 + 1;" (assignment_expression "local_50 = local_50 + 1" identifier = (binary_expression "local_50 + 1" identifier + number_literal)) ;) (expression_statement "local_54[2] = *(uint *)(iVar2 + 8);" (assignment_expression "local_54[2] = *(uint *)(iVar2 + 8)" (subscript_expression "local_54[2]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(iVar2 + 8)" * (cast_expression "(uint *)(iVar2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_54[1] = uVar9;" (assignment_expression "local_54[1] = uVar9" (subscript_expression "local_54[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined2 *)(local_54 + 6) = 0;" (assignment_expression "*(undefined2 *)(local_54 + 6) = 0" (pointer_expression "*(undefined2 *)(local_54 + 6)" * (cast_expression "(undefined2 *)(local_54 + 6)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_54 + 6)" ( (binary_expression "local_54 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)local_54 + 0x1a) = 0;" (assignment_expression "*(undefined1 *)((int)local_54 + 0x1a) = 0" (pointer_expression "*(undefined1 *)((int)local_54 + 0x1a)" * (cast_expression "(undefined1 *)((int)local_54 + 0x1a)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_54 + 0x1a)" ( (binary_expression "(int)local_54 + 0x1a" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_58 = local_58 + 0x40;" (assignment_expression "local_58 = local_58 + 0x40" identifier = (binary_expression "local_58 + 0x40" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_50 != local_70)" ( (binary_expression "local_50 != local_70" identifier != identifier) )) ;) (labeled_statement "LAB_001574e4:\n    iVar8 = local_3c;" statement_identifier : (expression_statement "iVar8 = local_3c;" (assignment_expression "iVar8 = local_3c" identifier = identifier) ;)) (expression_statement "iVar2 = local_40;" (assignment_expression "iVar2 = local_40" identifier = identifier) ;) (if_statement "if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }" if (parenthesized_expression "(local_3c != local_40)" ( (binary_expression "local_3c != local_40" identifier != identifier) )) (compound_statement "{\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }" { (if_statement "if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }" if (parenthesized_expression "(local_9d == '\0')" ( (binary_expression "local_9d == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }" { (expression_statement "*(undefined4 *)(puVar17 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = iVar8 - iVar2 >> 4;" (assignment_expression "uVar12 = iVar8 - iVar2 >> 4" identifier = (binary_expression "iVar8 - iVar2 >> 4" (binary_expression "iVar8 - iVar2" identifier - identifier) >> number_literal)) ;) (expression_statement "uVar9 = 0x1f;" (assignment_expression "uVar9 = 0x1f" identifier = number_literal) ;) (if_statement "if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }" if (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) )) (compound_statement "{\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }" { (for_statement "for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }" for ( ; (binary_expression "uVar12 >> uVar9 == 0" (binary_expression "uVar12 >> uVar9" identifier >> identifier) == number_literal) ; (assignment_expression "uVar9 = uVar9 - 1" identifier = (binary_expression "uVar9 - 1" identifier - number_literal)) ) (compound_statement "{\n          }" { })) })) (expression_statement "*(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;" (assignment_expression "*(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2" (pointer_expression "*(uint *)(puVar17 + -8)" * (cast_expression "(uint *)(puVar17 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "(0x1f - (uVar9 ^ 0x1f)) * 2" (parenthesized_expression "(0x1f - (uVar9 ^ 0x1f))" ( (binary_expression "0x1f - (uVar9 ^ 0x1f)" number_literal - (parenthesized_expression "(uVar9 ^ 0x1f)" ( (binary_expression "uVar9 ^ 0x1f" identifier ^ number_literal) ))) )) * number_literal)) ;) (expression_statement "*(int *)(puVar17 + -0xc) = iVar8;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar8" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar2;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar2" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1578f6;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1578f6" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00156f90();" (call_expression "FUN_00156f90()" identifier (argument_list "()" ( ))) ;) (if_statement "if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }" if (parenthesized_expression "(iVar8 - iVar2 < 0x101)" ( (binary_expression "iVar8 - iVar2 < 0x101" (binary_expression "iVar8 - iVar2" identifier - identifier) < number_literal) )) (compound_statement "{\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }" { (expression_statement "*(undefined4 *)(puVar17 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0xc) = iVar8;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar8" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar2;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar2" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157944;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157944" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00156d20();" (call_expression "FUN_00156d20()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }" else (compound_statement "{\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }" { (expression_statement "iVar20 = iVar2 + 0x100;" (assignment_expression "iVar20 = iVar2 + 0x100" identifier = (binary_expression "iVar2 + 0x100" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0xc) = iVar20;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar20" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar2;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar2" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157913;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157913" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00156d20();" (call_expression "FUN_00156d20()" identifier (argument_list "()" ( ))) ;) (for_statement "for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }" for ( ; (binary_expression "iVar8 != iVar20" identifier != identifier) ; (assignment_expression "iVar20 = iVar20 + 0x10" identifier = (binary_expression "iVar20 + 0x10" identifier + number_literal)) ) (compound_statement "{\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }" { (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar20;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar20" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x15792c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x15792c" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00156ca0();" (call_expression "FUN_00156ca0()" identifier (argument_list "()" ( ))) ;) })) }))) })) (expression_statement "iVar2 = param_1[7];" (assignment_expression "iVar2 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (if_statement "if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined4 *)(puVar17 + -4) = 0x1579e1;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0x1579e1" (pointer_expression "*(undefined4 *)(puVar17 + -4)" * (cast_expression "(undefined4 *)(puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00146790();" (call_expression "FUN_00146790()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_001579e8:\n        ppuVar19 = local_84;" statement_identifier : (expression_statement "ppuVar19 = local_84;" (assignment_expression "ppuVar19 = local_84" identifier = identifier) ;)) (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e083" (pointer_expression "*(undefined ***)(puVar17 + -8)" * (cast_expression "(undefined ***)(puVar17 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (binary_expression "local_84 + -0x3e083" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xcf;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xcf" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" * (cast_expression "(undefined ***)(puVar17 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "ppuVar19 + -0x41c55" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a06;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a06" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int **)(puVar17 + -4) = &local_40;" (assignment_expression "*(int **)(puVar17 + -4) = &local_40" (pointer_expression "*(int **)(puVar17 + -4)" * (cast_expression "(int **)(puVar17 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = (pointer_expression "&local_40" & identifier)) ;) (expression_statement "*(int *)(puVar17 + -8) = param_1[9];" (assignment_expression "*(int *)(puVar17 + -8) = param_1[9]" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar17 + -0xc) = param_1[8];" (assignment_expression "*(int *)(puVar17 + -0xc) = param_1[8]" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (subscript_expression "param_1[8]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar2 + 0x1c;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar2 + 0x1c" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (binary_expression "iVar2 + 0x1c" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157522;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157522" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00067070();" (call_expression "FUN_00067070()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }" if (parenthesized_expression "(local_40 != 0)" ( (binary_expression "local_40 != 0" identifier != number_literal) )) (compound_statement "{\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }" { (expression_statement "*(int *)(puVar17 + -0x10) = local_40;" (assignment_expression "*(int *)(puVar17 + -0x10) = local_40" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157538;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157538" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * IDENT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (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 IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) ))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT ))))) , (comma_expression (assignment_expression IDENT = (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) )))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) )))) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT - IDENT)) , (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT)))))) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (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 (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (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 = (binary_expression IDENT & LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT ))))) , (comma_expression (assignment_expression IDENT = (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) )))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) )))) , (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT)) , (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT))))) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) << LIT)) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (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 = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (pointer_expression & IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (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 = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) , (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) , (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) == (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression IDENT + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;)) (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 ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) == LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ LIT) )) & (binary_expression (pointer_expression & IDENT) < IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( 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 = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) != (call_expression IDENT (argument_list ( (binary_expression IDENT - IDENT) , IDENT )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - IDENT) ))) < LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (for_statement for ( ; (binary_expression (binary_expression IDENT >> IDENT) == LIT) ; (assignment_expression IDENT = (binary_expression IDENT - LIT)) ) (compound_statement { })) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression LIT - (parenthesized_expression ( (binary_expression IDENT ^ LIT) ))) )) * LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (for_statement for ( ; (binary_expression IDENT != IDENT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (return_statement return ;) })))
(function_definition "void FUN_001571d0(int *param_1,undefined4 param_2,int param_3,int param_4,int *param_5)\n\n{\n  uint *puVar1;\n  int iVar2;\n  code *pcVar3;\n  byte bVar4;\n  char cVar5;\n  undefined4 *****pppppuVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  byte bVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  byte *pbVar18;\n  undefined **ppuVar19;\n  int iVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  byte bVar24;\n  uint auStack_d0 [9];\n  undefined1 auStack_ac [15];\n  char local_9d;\n  undefined4 ****local_9c;\n  undefined4 local_98;\n  uint local_94;\n  undefined4 local_90;\n  undefined4 ****local_8c;\n  undefined4 local_88;\n  undefined **local_84;\n  uint local_80;\n  uint local_7c;\n  undefined4 ****local_78;\n  int *local_74;\n  uint local_70;\n  uint local_6c;\n  uint local_68;\n  uint local_64;\n  uint local_60;\n  uint local_5c;\n  int local_58;\n  uint *local_54;\n  uint local_50;\n  undefined4 local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 ****local_34;\n  uint local_30;\n  undefined4 ****local_2c;\n  uint local_28;\n  \n  bVar24 = 0;\n  local_84 = &__DT_PLTGOT;\n  puVar17 = auStack_ac;\n  local_40 = 0;\n  local_70 = param_1[10];\n  local_58 = param_3 + 0x40;\n  local_3c = 0;\n  local_38 = 0;\n  if (1 < local_70) {\n    local_74 = &DAT_0038f378;\n    local_50 = 1;\n    local_9d = '\x01';\n    do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    iVar8 = local_3c;\n    iVar2 = local_40;\n    if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }\n    if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_001571d0(int *param_1,undefined4 param_2,int param_3,int param_4,int *param_5)" (identifier "FUN_001571d0") (parameter_list "(int *param_1,undefined4 param_2,int param_3,int param_4,int *param_5)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "int *param_5" (primitive_type "int") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) () ")"))) (compound_statement "{\n  uint *puVar1;\n  int iVar2;\n  code *pcVar3;\n  byte bVar4;\n  char cVar5;\n  undefined4 *****pppppuVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  uint uVar10;\n  uint uVar11;\n  uint uVar12;\n  byte bVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  undefined1 *puVar16;\n  undefined1 *puVar17;\n  byte *pbVar18;\n  undefined **ppuVar19;\n  int iVar20;\n  bool bVar21;\n  bool bVar22;\n  bool bVar23;\n  byte bVar24;\n  uint auStack_d0 [9];\n  undefined1 auStack_ac [15];\n  char local_9d;\n  undefined4 ****local_9c;\n  undefined4 local_98;\n  uint local_94;\n  undefined4 local_90;\n  undefined4 ****local_8c;\n  undefined4 local_88;\n  undefined **local_84;\n  uint local_80;\n  uint local_7c;\n  undefined4 ****local_78;\n  int *local_74;\n  uint local_70;\n  uint local_6c;\n  uint local_68;\n  uint local_64;\n  uint local_60;\n  uint local_5c;\n  int local_58;\n  uint *local_54;\n  uint local_50;\n  undefined4 local_44;\n  int local_40;\n  int local_3c;\n  undefined4 local_38;\n  undefined4 ****local_34;\n  uint local_30;\n  undefined4 ****local_2c;\n  uint local_28;\n  \n  bVar24 = 0;\n  local_84 = &__DT_PLTGOT;\n  puVar17 = auStack_ac;\n  local_40 = 0;\n  local_70 = param_1[10];\n  local_58 = param_3 + 0x40;\n  local_3c = 0;\n  local_38 = 0;\n  if (1 < local_70) {\n    local_74 = &DAT_0038f378;\n    local_50 = 1;\n    local_9d = '\x01';\n    do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    iVar8 = local_3c;\n    iVar2 = local_40;\n    if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }\n    if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }\n  }\n  return;\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "code *pcVar3;" (type_identifier "code") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "byte bVar4;" (type_identifier "byte") (identifier "bVar4") (; ";")) (declaration "char cVar5;" (primitive_type "char") (identifier "cVar5") (; ";")) (declaration "undefined4 *****pppppuVar6;" (type_identifier "undefined4") (pointer_declarator "*****pppppuVar6" (* "*") (pointer_declarator "****pppppuVar6" (* "*") (pointer_declarator "***pppppuVar6" (* "*") (pointer_declarator "**pppppuVar6" (* "*") (pointer_declarator "*pppppuVar6" (* "*") (identifier "pppppuVar6")))))) (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "byte bVar13;" (type_identifier "byte") (identifier "bVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "undefined1 *puVar15;" (type_identifier "undefined1") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "undefined1 *puVar16;" (type_identifier "undefined1") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "undefined1 *puVar17;" (type_identifier "undefined1") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "byte *pbVar18;" (type_identifier "byte") (pointer_declarator "*pbVar18" (* "*") (identifier "pbVar18")) (; ";")) (declaration "undefined **ppuVar19;" (type_identifier "undefined") (pointer_declarator "**ppuVar19" (* "*") (pointer_declarator "*ppuVar19" (* "*") (identifier "ppuVar19"))) (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "bool bVar21;" (primitive_type "bool") (identifier "bVar21") (; ";")) (declaration "bool bVar22;" (primitive_type "bool") (identifier "bVar22") (; ";")) (declaration "bool bVar23;" (primitive_type "bool") (identifier "bVar23") (; ";")) (declaration "byte bVar24;" (type_identifier "byte") (identifier "bVar24") (; ";")) (declaration "uint auStack_d0 [9];" (type_identifier "uint") (array_declarator "auStack_d0 [9]" (identifier "auStack_d0") ([ "[") (number_literal "9") (] "]")) (; ";")) (declaration "undefined1 auStack_ac [15];" (type_identifier "undefined1") (array_declarator "auStack_ac [15]" (identifier "auStack_ac") ([ "[") (number_literal "15") (] "]")) (; ";")) (declaration "char local_9d;" (primitive_type "char") (identifier "local_9d") (; ";")) (declaration "undefined4 ****local_9c;" (type_identifier "undefined4") (pointer_declarator "****local_9c" (* "*") (pointer_declarator "***local_9c" (* "*") (pointer_declarator "**local_9c" (* "*") (pointer_declarator "*local_9c" (* "*") (identifier "local_9c"))))) (; ";")) (declaration "undefined4 local_98;" (type_identifier "undefined4") (identifier "local_98") (; ";")) (declaration "uint local_94;" (type_identifier "uint") (identifier "local_94") (; ";")) (declaration "undefined4 local_90;" (type_identifier "undefined4") (identifier "local_90") (; ";")) (declaration "undefined4 ****local_8c;" (type_identifier "undefined4") (pointer_declarator "****local_8c" (* "*") (pointer_declarator "***local_8c" (* "*") (pointer_declarator "**local_8c" (* "*") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c"))))) (; ";")) (declaration "undefined4 local_88;" (type_identifier "undefined4") (identifier "local_88") (; ";")) (declaration "undefined **local_84;" (type_identifier "undefined") (pointer_declarator "**local_84" (* "*") (pointer_declarator "*local_84" (* "*") (identifier "local_84"))) (; ";")) (declaration "uint local_80;" (type_identifier "uint") (identifier "local_80") (; ";")) (declaration "uint local_7c;" (type_identifier "uint") (identifier "local_7c") (; ";")) (declaration "undefined4 ****local_78;" (type_identifier "undefined4") (pointer_declarator "****local_78" (* "*") (pointer_declarator "***local_78" (* "*") (pointer_declarator "**local_78" (* "*") (pointer_declarator "*local_78" (* "*") (identifier "local_78"))))) (; ";")) (declaration "int *local_74;" (primitive_type "int") (pointer_declarator "*local_74" (* "*") (identifier "local_74")) (; ";")) (declaration "uint local_70;" (type_identifier "uint") (identifier "local_70") (; ";")) (declaration "uint local_6c;" (type_identifier "uint") (identifier "local_6c") (; ";")) (declaration "uint local_68;" (type_identifier "uint") (identifier "local_68") (; ";")) (declaration "uint local_64;" (type_identifier "uint") (identifier "local_64") (; ";")) (declaration "uint local_60;" (type_identifier "uint") (identifier "local_60") (; ";")) (declaration "uint local_5c;" (type_identifier "uint") (identifier "local_5c") (; ";")) (declaration "int local_58;" (primitive_type "int") (identifier "local_58") (; ";")) (declaration "uint *local_54;" (type_identifier "uint") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "uint local_50;" (type_identifier "uint") (identifier "local_50") (; ";")) (declaration "undefined4 local_44;" (type_identifier "undefined4") (identifier "local_44") (; ";")) (declaration "int local_40;" (primitive_type "int") (identifier "local_40") (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "undefined4 ****local_34;" (type_identifier "undefined4") (pointer_declarator "****local_34" (* "*") (pointer_declarator "***local_34" (* "*") (pointer_declarator "**local_34" (* "*") (pointer_declarator "*local_34" (* "*") (identifier "local_34"))))) (; ";")) (declaration "uint local_30;" (type_identifier "uint") (identifier "local_30") (; ";")) (declaration "undefined4 ****local_2c;" (type_identifier "undefined4") (pointer_declarator "****local_2c" (* "*") (pointer_declarator "***local_2c" (* "*") (pointer_declarator "**local_2c" (* "*") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c"))))) (; ";")) (declaration "uint local_28;" (type_identifier "uint") (identifier "local_28") (; ";")) (expression_statement "bVar24 = 0;" (assignment_expression "bVar24 = 0" (identifier "bVar24") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_84 = &__DT_PLTGOT;" (assignment_expression "local_84 = &__DT_PLTGOT" (identifier "local_84") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "puVar17 = auStack_ac;" (assignment_expression "puVar17 = auStack_ac" (identifier "puVar17") (= "=") (identifier "auStack_ac")) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_70 = param_1[10];" (assignment_expression "local_70 = param_1[10]" (identifier "local_70") (= "=") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "local_58 = param_3 + 0x40;" (assignment_expression "local_58 = param_3 + 0x40" (identifier "local_58") (= "=") (binary_expression "param_3 + 0x40" (identifier "param_3") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (if_statement "if (1 < local_70) {\n    local_74 = &DAT_0038f378;\n    local_50 = 1;\n    local_9d = '\x01';\n    do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    iVar8 = local_3c;\n    iVar2 = local_40;\n    if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }\n    if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }\n  }" (if "if") (parenthesized_expression "(1 < local_70)" (( "(") (binary_expression "1 < local_70" (number_literal "1") (< "<") (identifier "local_70")) () ")")) (compound_statement "{\n    local_74 = &DAT_0038f378;\n    local_50 = 1;\n    local_9d = '\x01';\n    do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);\nLAB_001574e4:\n    iVar8 = local_3c;\n    iVar2 = local_40;\n    if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }\n    if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }\n  }" ({ "{") (expression_statement "local_74 = &DAT_0038f378;" (assignment_expression "local_74 = &DAT_0038f378" (identifier "local_74") (= "=") (pointer_expression "&DAT_0038f378" (& "&") (identifier "DAT_0038f378"))) (; ";")) (expression_statement "local_50 = 1;" (assignment_expression "local_50 = 1" (identifier "local_50") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_9d = '\x01';" (assignment_expression "local_9d = '\x01'" (identifier "local_9d") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (do_statement "do {\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    } while (local_50 != local_70);" (do "do") (compound_statement "{\n      while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }\n      uVar9 = *(uint *)(local_58 + 4);\n      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n      if (uVar9 == 8) goto LAB_001574d0;\n      iVar8 = *(int *)(*local_74 + 8);\n      if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }\n      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }\n      if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }\n      iVar2 = *(int *)(iVar2 + 0x10);\n      if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }\n      bVar4 = *(byte *)(iVar2 + 0x1c);\n      if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 0x14);\n      uVar12 = *(uint *)(iVar2 + 0x18);\n      local_54[3] = uVar9;\n      local_54[4] = uVar12;\n      if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }\n      uVar10 = *(uint *)(iVar2 + 0xc);\n      local_54[5] = uVar10;\n      if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }\n      local_90 = 0;\n      local_64 = uVar10 + uVar9;\n      local_60 = uVar12 + CARRY4(uVar10,uVar9);\n      local_6c = *(uint *)(param_4 + 0xc);\n      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);\n      local_94 = uVar10;\n      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;\n      *local_54 = *(int *)(param_4 + 0x10) + uVar9;\n      if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }\n      uVar9 = *(uint *)(iVar2 + 4);\n      local_50 = local_50 + 1;\n      local_54[2] = *(uint *)(iVar2 + 8);\n      local_54[1] = uVar9;\n      *(undefined2 *)(local_54 + 6) = 0;\n      *(undefined1 *)((int)local_54 + 0x1a) = 0;\n      local_58 = local_58 + 0x40;\n    }" ({ "{") (while_statement "while( true ) {\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        local_54 = (uint *)(local_50 * 0x1c + *param_5);\n        *local_54 = 0;\n        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);\n        if (iVar2 != 0) break;\nLAB_001574d0:\n        local_50 = local_50 + 1;\n        local_58 = local_58 + 0x40;\n        if (local_50 == local_70) goto LAB_001574e4;\n      }" ({ "{") (expression_statement "local_54 = (uint *)(local_50 * 0x1c + *param_5);" (assignment_expression "local_54 = (uint *)(local_50 * 0x1c + *param_5)" (identifier "local_54") (= "=") (cast_expression "(uint *)(local_50 * 0x1c + *param_5)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_50 * 0x1c + *param_5)" (( "(") (binary_expression "local_50 * 0x1c + *param_5" (binary_expression "local_50 * 0x1c" (identifier "local_50") (* "*") (number_literal "0x1c")) (+ "+") (pointer_expression "*param_5" (* "*") (identifier "param_5"))) () ")")))) (; ";")) (expression_statement "*local_54 = 0;" (assignment_expression "*local_54 = 0" (pointer_expression "*local_54" (* "*") (identifier "local_54")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar2 = *(int *)(param_1[0xe] + local_50 * 4);" (assignment_expression "iVar2 = *(int *)(param_1[0xe] + local_50 * 4)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_1[0xe] + local_50 * 4)" (* "*") (cast_expression "(int *)(param_1[0xe] + local_50 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0xe] + local_50 * 4)" (( "(") (binary_expression "param_1[0xe] + local_50 * 4" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (+ "+") (binary_expression "local_50 * 4" (identifier "local_50") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar2 != 0) break;" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_001574d0:\n        local_50 = local_50 + 1;" (statement_identifier "LAB_001574d0") (: ":") (expression_statement "local_50 = local_50 + 1;" (assignment_expression "local_50 = local_50 + 1" (identifier "local_50") (= "=") (binary_expression "local_50 + 1" (identifier "local_50") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "local_58 = local_58 + 0x40;" (assignment_expression "local_58 = local_58 + 0x40" (identifier "local_58") (= "=") (binary_expression "local_58 + 0x40" (identifier "local_58") (+ "+") (number_literal "0x40"))) (; ";")) (if_statement "if (local_50 == local_70) goto LAB_001574e4;" (if "if") (parenthesized_expression "(local_50 == local_70)" (( "(") (binary_expression "local_50 == local_70" (identifier "local_50") (== "==") (identifier "local_70")) () ")")) (goto_statement "goto LAB_001574e4;" (goto "goto") (statement_identifier "LAB_001574e4") (; ";"))) (} "}"))) (expression_statement "uVar9 = *(uint *)(local_58 + 4);" (assignment_expression "uVar9 = *(uint *)(local_58 + 4)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(local_58 + 4)" (* "*") (cast_expression "(uint *)(local_58 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_58 + 4)" (( "(") (binary_expression "local_58 + 4" (identifier "local_58") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (identifier "uVar9") (= "=") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18")))) (; ";")) (if_statement "if (uVar9 == 8) goto LAB_001574d0;" (if "if") (parenthesized_expression "(uVar9 == 8)" (( "(") (binary_expression "uVar9 == 8" (identifier "uVar9") (== "==") (number_literal "8")) () ")")) (goto_statement "goto LAB_001574d0;" (goto "goto") (statement_identifier "LAB_001574d0") (; ";"))) (expression_statement "iVar8 = *(int *)(*local_74 + 8);" (assignment_expression "iVar8 = *(int *)(*local_74 + 8)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(*local_74 + 8)" (* "*") (cast_expression "(int *)(*local_74 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_74 + 8)" (( "(") (binary_expression "*local_74 + 8" (pointer_expression "*local_74" (* "*") (identifier "local_74")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar8 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n        *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;\n        FUN_00069d00();\n      }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e00a" (identifier "local_84") (+ "+") (number_literal "-0x3e00a"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_84 + -0x41f7c" (identifier "local_84") (+ "+") (number_literal "-0x41f7c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1579a3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1579a3" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1579a3")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }" (if "if") (parenthesized_expression "((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0))" (( "(") (binary_expression "(((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)" (parenthesized_expression "(((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9))))" (( "(") (binary_expression "((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||\n          ((uVar9 != 4 && (uVar9 != 9)))" (parenthesized_expression "((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0'))" (( "(") (binary_expression "(*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')" (parenthesized_expression "(*(char *)(iVar8 + 0x318d) == '\0')" (( "(") (binary_expression "*(char *)(iVar8 + 0x318d) == '\0'" (pointer_expression "*(char *)(iVar8 + 0x318d)" (* "*") (cast_expression "(char *)(iVar8 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x318d)" (( "(") (binary_expression "iVar8 + 0x318d" (identifier "iVar8") (+ "+") (number_literal "0x318d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar8 + 0x3095) == '\0')" (( "(") (binary_expression "*(char *)(iVar8 + 0x3095) == '\0'" (pointer_expression "*(char *)(iVar8 + 0x3095)" (* "*") (cast_expression "(char *)(iVar8 + 0x3095)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x3095)" (( "(") (binary_expression "iVar8 + 0x3095" (identifier "iVar8") (+ "+") (number_literal "0x3095")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((uVar9 != 4 && (uVar9 != 9)))" (( "(") (parenthesized_expression "(uVar9 != 4 && (uVar9 != 9))" (( "(") (binary_expression "uVar9 != 4 && (uVar9 != 9)" (binary_expression "uVar9 != 4" (identifier "uVar9") (!= "!=") (number_literal "4")) (&& "&&") (parenthesized_expression "(uVar9 != 9)" (( "(") (binary_expression "uVar9 != 9" (identifier "uVar9") (!= "!=") (number_literal "9")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)" (( "(") (binary_expression "(*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0" (parenthesized_expression "(*(uint *)(local_58 + 0xc) >> 0x18 & 2)" (( "(") (binary_expression "*(uint *)(local_58 + 0xc) >> 0x18 & 2" (binary_expression "*(uint *)(local_58 + 0xc) >> 0x18" (pointer_expression "*(uint *)(local_58 + 0xc)" (* "*") (cast_expression "(uint *)(local_58 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_58 + 0xc)" (( "(") (binary_expression "local_58 + 0xc" (identifier "local_58") (+ "+") (number_literal "0xc")) () ")")))) (>> ">>") (number_literal "0x18")) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        bVar4 = *(byte *)(iVar2 + 0x90);\n        bVar13 = bVar4 >> 5;\n        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;\n        if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }\n        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);\n        local_6c = *puVar1;\n        local_68 = puVar1[1];\n        if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }\n        bVar21 = false;\n        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;\n        bVar23 = bVar4 == 0;\n        if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }\nLAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;\n        goto LAB_001574d0;\n      }" ({ "{") (expression_statement "bVar4 = *(byte *)(iVar2 + 0x90);" (assignment_expression "bVar4 = *(byte *)(iVar2 + 0x90)" (identifier "bVar4") (= "=") (pointer_expression "*(byte *)(iVar2 + 0x90)" (* "*") (cast_expression "(byte *)(iVar2 + 0x90)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x90)" (( "(") (binary_expression "iVar2 + 0x90" (identifier "iVar2") (+ "+") (number_literal "0x90")) () ")"))))) (; ";")) (expression_statement "bVar13 = bVar4 >> 5;" (assignment_expression "bVar13 = bVar4 >> 5" (identifier "bVar13") (= "=") (binary_expression "bVar4 >> 5" (identifier "bVar4") (>> ">>") (number_literal "5"))) (; ";")) (expression_statement "local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;" (assignment_expression "local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01" (identifier "local_5c") (= "=") (binary_expression "CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01" (call_expression "CONCAT31(local_5c._1_3_,bVar13)" (identifier "CONCAT31") (argument_list "(local_5c._1_3_,bVar13)" (( "(") (field_expression "local_5c._1_3_" (identifier "local_5c") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar13") () ")"))) (& "&") (number_literal "0xffffff01"))) (; ";")) (if_statement "if ((bVar13 & 1) == 0) {\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }\n        else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }" (if "if") (parenthesized_expression "((bVar13 & 1) == 0)" (( "(") (binary_expression "(bVar13 & 1) == 0" (parenthesized_expression "(bVar13 & 1)" (( "(") (binary_expression "bVar13 & 1" (identifier "bVar13") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }\n          local_64 = *(uint *)(iVar2 + 0x14);\n          local_60 = *(uint *)(iVar2 + 0x18);\n          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n        }" ({ "{") (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }" (if "if") (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(iVar2 + 0x1c) & 4) == 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 4)" (( "(") (binary_expression "*(byte *)(iVar2 + 0x1c) & 4" (pointer_expression "*(byte *)(iVar2 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar2 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n            *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;\n            FUN_00069d00();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e080" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e080" (identifier "local_84") (+ "+") (number_literal "-0x3e080"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xe3;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xe3" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xe3")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_84 + -0x41c55" (identifier "local_84") (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a99;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a99" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157a99")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_64 = *(uint *)(iVar2 + 0x14);" (assignment_expression "local_64 = *(uint *)(iVar2 + 0x14)" (identifier "local_64") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x14)" (* "*") (cast_expression "(uint *)(iVar2 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x14)" (( "(") (binary_expression "iVar2 + 0x14" (identifier "iVar2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_60 = *(uint *)(iVar2 + 0x18);" (assignment_expression "local_60 = *(uint *)(iVar2 + 0x18)" (identifier "local_60") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x18)" (* "*") (cast_expression "(uint *)(iVar2 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x18)" (( "(") (binary_expression "iVar2 + 0x18" (identifier "iVar2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;" (if "if") (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(iVar2 + 0x1c) & 2) == 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 2)" (( "(") (binary_expression "*(byte *)(iVar2 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar2 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar2 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001579e8;" (goto "goto") (statement_identifier "LAB_001579e8") (; ";"))) (expression_statement "local_78 = *(undefined4 *****)(iVar2 + 0xc);" (assignment_expression "local_78 = *(undefined4 *****)(iVar2 + 0xc)" (identifier "local_78") (= "=") (pointer_expression "*(undefined4 *****)(iVar2 + 0xc)" (* "*") (cast_expression "(undefined4 *****)(iVar2 + 0xc)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar2 + 0xc)" (( "(") (binary_expression "iVar2 + 0xc" (identifier "iVar2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "local_7c = *(uint *)(iVar2 + 0x10);" (assignment_expression "local_7c = *(uint *)(iVar2 + 0x10)" (identifier "local_7c") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x10)" (* "*") (cast_expression "(uint *)(iVar2 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }" (else "else") (compound_statement "{\n          local_78 = *(undefined4 *****)(iVar2 + 0xc);\n          local_7c = *(uint *)(iVar2 + 0x10);\n          local_64 = 0;\n          local_60 = 0;\n        }" ({ "{") (expression_statement "local_78 = *(undefined4 *****)(iVar2 + 0xc);" (assignment_expression "local_78 = *(undefined4 *****)(iVar2 + 0xc)" (identifier "local_78") (= "=") (pointer_expression "*(undefined4 *****)(iVar2 + 0xc)" (* "*") (cast_expression "(undefined4 *****)(iVar2 + 0xc)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar2 + 0xc)" (( "(") (binary_expression "iVar2 + 0xc" (identifier "iVar2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "local_7c = *(uint *)(iVar2 + 0x10);" (assignment_expression "local_7c = *(uint *)(iVar2 + 0x10)" (identifier "local_7c") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x10)" (* "*") (cast_expression "(uint *)(iVar2 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" (identifier "local_64") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "puVar1 = (uint *)(param_1[0x21] + local_50 * 8);" (assignment_expression "puVar1 = (uint *)(param_1[0x21] + local_50 * 8)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(param_1[0x21] + local_50 * 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x21] + local_50 * 8)" (( "(") (binary_expression "param_1[0x21] + local_50 * 8" (subscript_expression "param_1[0x21]" (identifier "param_1") ([ "[") (number_literal "0x21") (] "]")) (+ "+") (binary_expression "local_50 * 8" (identifier "local_50") (* "*") (number_literal "8"))) () ")")))) (; ";")) (expression_statement "local_6c = *puVar1;" (assignment_expression "local_6c = *puVar1" (identifier "local_6c") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "local_68 = puVar1[1];" (assignment_expression "local_68 = puVar1[1]" (identifier "local_68") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if ((local_68 & local_6c) == 0xffffffff) {\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }\n        else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }" (if "if") (parenthesized_expression "((local_68 & local_6c) == 0xffffffff)" (( "(") (binary_expression "(local_68 & local_6c) == 0xffffffff" (parenthesized_expression "(local_68 & local_6c)" (( "(") (binary_expression "local_68 & local_6c" (identifier "local_68") (& "&") (identifier "local_6c")) () ")")) (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n          local_8c = local_78;\n          local_88 = 0;\n          if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }\n          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;\n          pppppuVar6 = (undefined4 *****)local_78;\n          if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }\n          if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }\n          *local_54 = local_64 + *(int *)(param_4 + 0x10);\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n          uVar9 = *(uint *)(iVar2 + 8);\n          local_54[1] = *(uint *)(iVar2 + 4);\n          local_54[2] = uVar9;\n          local_54[4] = local_60;\n          local_54[3] = local_64;\n          local_54[5] = (uint)local_78;\n          *(undefined2 *)(local_54 + 6) = 1;\n        }" ({ "{") (expression_statement "local_8c = local_78;" (assignment_expression "local_8c = local_78" (identifier "local_8c") (= "=") (identifier "local_78")) (; ";")) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" (identifier "local_88") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_7c != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }" (if "if") (parenthesized_expression "(local_7c != 0)" (( "(") (binary_expression "local_7c != 0" (identifier "local_7c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;\n            FUN_00069d00();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e09f" (identifier "local_84") (+ "+") (number_literal "-0x3e09f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc0")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_84 + -0x107be7" (cast_expression "(int)local_84" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_84")) (+ "+") (number_literal "-0x107be7"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a3f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a3f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157a3f")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;" (if "if") (parenthesized_expression "((undefined4 *****)local_78 == (undefined4 *****)0x0)" (( "(") (binary_expression "(undefined4 *****)local_78 == (undefined4 *****)0x0" (cast_expression "(undefined4 *****)local_78" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_78")) (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001574d0;" (goto "goto") (statement_identifier "LAB_001574d0") (; ";"))) (expression_statement "pppppuVar6 = (undefined4 *****)local_78;" (assignment_expression "pppppuVar6 = (undefined4 *****)local_78" (identifier "pppppuVar6") (= "=") (cast_expression "(undefined4 *****)local_78" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_78"))) (; ";")) (if_statement "if ((char)local_5c != '\0') {\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }" (if "if") (parenthesized_expression "((char)local_5c != '\0')" (( "(") (binary_expression "(char)local_5c != '\0'" (cast_expression "(char)local_5c" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_5c")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;\n            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;\n            uVar9 = *(uint *)(iVar2 + 4);\n            local_54[2] = *(uint *)(iVar2 + 8);\n            local_54[1] = uVar9;\n            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);\n            iVar8 = *(int *)(*local_74 + 8);\n            goto LAB_0015747d;\n          }" ({ "{") (if_statement "if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0x8c) == 0)" (( "(") (binary_expression "*(int *)(iVar2 + 0x8c) == 0" (pointer_expression "*(int *)(iVar2 + 0x8c)" (* "*") (cast_expression "(int *)(iVar2 + 0x8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x8c)" (( "(") (binary_expression "iVar2 + 0x8c" (identifier "iVar2") (+ "+") (number_literal "0x8c")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00157b2c;" (goto "goto") (statement_identifier "LAB_00157b2c") (; ";"))) (expression_statement "*local_54 = *(int *)(iVar2 + 0x8c) + local_64;" (assignment_expression "*local_54 = *(int *)(iVar2 + 0x8c) + local_64" (pointer_expression "*local_54" (* "*") (identifier "local_54")) (= "=") (binary_expression "*(int *)(iVar2 + 0x8c) + local_64" (pointer_expression "*(int *)(iVar2 + 0x8c)" (* "*") (cast_expression "(int *)(iVar2 + 0x8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x8c)" (( "(") (binary_expression "iVar2 + 0x8c" (identifier "iVar2") (+ "+") (number_literal "0x8c")) () ")")))) (+ "+") (identifier "local_64"))) (; ";")) (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;" (if "if") (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar2 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(iVar2 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar2 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar2 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0015794c;" (goto "goto") (statement_identifier "LAB_0015794c") (; ";"))) (expression_statement "uVar9 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar9 = *(uint *)(iVar2 + 4)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(iVar2 + 4)" (* "*") (cast_expression "(uint *)(iVar2 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_54[2] = *(uint *)(iVar2 + 8);" (assignment_expression "local_54[2] = *(uint *)(iVar2 + 8)" (subscript_expression "local_54[2]" (identifier "local_54") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*(uint *)(iVar2 + 8)" (* "*") (cast_expression "(uint *)(iVar2 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "local_54[1] = uVar9;" (assignment_expression "local_54[1] = uVar9" (subscript_expression "local_54[1]" (identifier "local_54") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);" (assignment_expression "uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5)" (identifier "uVar9") (= "=") (call_expression "CONCAT31(local_5c._1_3_,bVar4 >> 5)" (identifier "CONCAT31") (argument_list "(local_5c._1_3_,bVar4 >> 5)" (( "(") (field_expression "local_5c._1_3_" (identifier "local_5c") (. ".") (field_identifier "_1_3_")) (, ",") (binary_expression "bVar4 >> 5" (identifier "bVar4") (>> ">>") (number_literal "5")) () ")")))) (; ";")) (expression_statement "iVar8 = *(int *)(*local_74 + 8);" (assignment_expression "iVar8 = *(int *)(*local_74 + 8)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(*local_74 + 8)" (* "*") (cast_expression "(int *)(*local_74 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_74 + 8)" (( "(") (binary_expression "*local_74 + 8" (pointer_expression "*local_74" (* "*") (identifier "local_74")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (goto_statement "goto LAB_0015747d;" (goto "goto") (statement_identifier "LAB_0015747d") (; ";")) (} "}"))) (if_statement "if (((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }" (if "if") (parenthesized_expression "(((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0))" (( "(") (binary_expression "((int)local_60 < 0) ||\n             (local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)" (parenthesized_expression "((int)local_60 < 0)" (( "(") (binary_expression "(int)local_60 < 0" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)" (( "(") (comma_expression "local_6c = *(uint *)(param_4 + 0xc),\n             iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0" (assignment_expression "local_6c = *(uint *)(param_4 + 0xc)" (identifier "local_6c") (= "=") (pointer_expression "*(uint *)(param_4 + 0xc)" (* "*") (cast_expression "(uint *)(param_4 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc)" (( "(") (binary_expression "param_4 + 0xc" (identifier "param_4") (+ "+") (number_literal "0xc")) () ")"))))) (, ",") (comma_expression "iVar14 = local_60 + CARRY4((uint)local_78,local_64),\n             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0" (assignment_expression "iVar14 = local_60 + CARRY4((uint)local_78,local_64)" (identifier "iVar14") (= "=") (binary_expression "local_60 + CARRY4((uint)local_78,local_64)" (identifier "local_60") (+ "+") (call_expression "CARRY4((uint)local_78,local_64)" (identifier "CARRY4") (argument_list "((uint)local_78,local_64)" (( "(") (cast_expression "(uint)local_78" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_78")) (, ",") (identifier "local_64") () ")"))))) (, ",") (comma_expression "uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           ), iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0" (assignment_expression "uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           )" (identifier "uVar9") (= "=") (call_expression "(uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           )" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)\n                           )" (( "(") (binary_expression "*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)" (pointer_expression "*(undefined1 **)(param_4 + 8)" (* "*") (cast_expression "(undefined1 **)(param_4 + 8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 8)" (( "(") (binary_expression "param_4 + 8" (identifier "param_4") (+ "+") (number_literal "8")) () ")")))) (< "<") (cast_expression "(undefined1 *)((int)local_78 + local_64)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_78 + local_64)" (( "(") (binary_expression "(int)local_78 + local_64" (cast_expression "(int)local_78" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_78")) (+ "+") (identifier "local_64")) () ")")))) () ")")))) (, ",") (comma_expression "iVar20 = local_6c - iVar14,\n             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0" (assignment_expression "iVar20 = local_6c - iVar14" (identifier "iVar20") (= "=") (binary_expression "local_6c - iVar14" (identifier "local_6c") (- "-") (identifier "iVar14"))) (, ",") (binary_expression "(SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0" (parenthesized_expression "(SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9))" (( "(") (binary_expression "SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)" (call_expression "SBORROW4(local_6c,iVar14)" (identifier "SBORROW4") (argument_list "(local_6c,iVar14)" (( "(") (identifier "local_6c") (, ",") (identifier "iVar14") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar20,uVar9)" (identifier "SBORROW4") (argument_list "(iVar20,uVar9)" (( "(") (identifier "iVar20") (, ",") (identifier "uVar9") () ")")))) () ")")) (!= "!=") (binary_expression "(int)(iVar20 - uVar9) < 0" (cast_expression "(int)(iVar20 - uVar9)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar20 - uVar9)" (( "(") (binary_expression "iVar20 - uVar9" (identifier "iVar20") (- "-") (identifier "uVar9")) () ")"))) (< "<") (number_literal "0"))))))) () ")"))) () ")")) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n            *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;\n            FUN_00069d00();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e091" (identifier "local_84") (+ "+") (number_literal "-0x3e091"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x6f;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x6f" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x6f")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_84 + -0x41c55" (identifier "local_84") (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a21;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a21" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157a21")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*local_54 = local_64 + *(int *)(param_4 + 0x10);" (assignment_expression "*local_54 = local_64 + *(int *)(param_4 + 0x10)" (pointer_expression "*local_54" (* "*") (identifier "local_54")) (= "=") (binary_expression "local_64 + *(int *)(param_4 + 0x10)" (identifier "local_64") (+ "+") (pointer_expression "*(int *)(param_4 + 0x10)" (* "*") (cast_expression "(int *)(param_4 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x10)" (( "(") (binary_expression "param_4 + 0x10" (identifier "param_4") (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;" (if "if") (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar2 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(iVar2 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar2 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar2 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0015794c;" (goto "goto") (statement_identifier "LAB_0015794c") (; ";"))) (expression_statement "uVar9 = *(uint *)(iVar2 + 8);" (assignment_expression "uVar9 = *(uint *)(iVar2 + 8)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(iVar2 + 8)" (* "*") (cast_expression "(uint *)(iVar2 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "local_54[1] = *(uint *)(iVar2 + 4);" (assignment_expression "local_54[1] = *(uint *)(iVar2 + 4)" (subscript_expression "local_54[1]" (identifier "local_54") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*(uint *)(iVar2 + 4)" (* "*") (cast_expression "(uint *)(iVar2 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_54[2] = uVar9;" (assignment_expression "local_54[2] = uVar9" (subscript_expression "local_54[2]" (identifier "local_54") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "local_54[4] = local_60;" (assignment_expression "local_54[4] = local_60" (subscript_expression "local_54[4]" (identifier "local_54") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "local_60")) (; ";")) (expression_statement "local_54[3] = local_64;" (assignment_expression "local_54[3] = local_64" (subscript_expression "local_54[3]" (identifier "local_54") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "local_64")) (; ";")) (expression_statement "local_54[5] = (uint)local_78;" (assignment_expression "local_54[5] = (uint)local_78" (subscript_expression "local_54[5]" (identifier "local_54") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(uint)local_78" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_78"))) (; ";")) (expression_statement "*(undefined2 *)(local_54 + 6) = 1;" (assignment_expression "*(undefined2 *)(local_54 + 6) = 1" (pointer_expression "*(undefined2 *)(local_54 + 6)" (* "*") (cast_expression "(undefined2 *)(local_54 + 6)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_54 + 6)" (( "(") (binary_expression "local_54 + 6" (identifier "local_54") (+ "+") (number_literal "6")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }" (else "else") (compound_statement "{\n          uVar9 = *(uint *)(local_58 + 0x24);\n          pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);\n          if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }\n          iVar8 = param_1[0xd];\n          if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }\n          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;\n          local_98 = 0;\n          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);\n          local_9c = pppppuVar6;\n          if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }\n          bVar21 = CARRY4(local_64,local_6c);\n          local_64 = local_64 + local_6c;\n          local_60 = local_60 + local_68 + (uint)bVar21;\n          if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }\nLAB_0015743e:\n          *local_54 = local_5c;\n          puVar17 = puVar16;\n          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }\n          uVar12 = *(uint *)(iVar2 + 4);\n          iVar20 = *(int *)(iVar2 + 8);\n          iVar8 = *(int *)(*local_74 + 8);\n          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);\n          local_54[1] = uVar12 + local_6c;\n          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);\nLAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;\n          local_54[3] = local_64;\n          local_54[4] = local_60;\n          local_54[5] = (uint)pppppuVar6;\n          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;\n          *(char *)((int)local_54 + 0x19) = (char)local_5c;\n          if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }\n        }" ({ "{") (expression_statement "uVar9 = *(uint *)(local_58 + 0x24);" (assignment_expression "uVar9 = *(uint *)(local_58 + 0x24)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(local_58 + 0x24)" (* "*") (cast_expression "(uint *)(local_58 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_58 + 0x24)" (( "(") (binary_expression "local_58 + 0x24" (identifier "local_58") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18);" (assignment_expression "pppppuVar6 = (undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18)" (identifier "pppppuVar6") (= "=") (cast_expression "(undefined4 *****)\n                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18)" (( "(") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (if_statement "if (*(int *)(local_58 + 0x20) != 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }" (if "if") (parenthesized_expression "(*(int *)(local_58 + 0x20) != 0)" (( "(") (binary_expression "*(int *)(local_58 + 0x20) != 0" (pointer_expression "*(int *)(local_58 + 0x20)" (* "*") (cast_expression "(int *)(local_58 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_58 + 0x20)" (( "(") (binary_expression "local_58 + 0x20" (identifier "local_58") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc0;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157988;\n            FUN_00069d00();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e09f" (identifier "local_84") (+ "+") (number_literal "-0x3e09f"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc0")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_84 + -0x107be7" (cast_expression "(int)local_84" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_84")) (+ "+") (number_literal "-0x107be7"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157988;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157988" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157988")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar8 = param_1[0xd];" (assignment_expression "iVar8 = param_1[0xd]" (identifier "iVar8") (= "=") (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (if_statement "if (iVar8 == 0) {\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }\n          else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001577e0:\n            local_80 = local_80 & 0xffffff00;\n          }" ({ "{") (labeled_statement "LAB_001577e0:\n            local_80 = local_80 & 0xffffff00;" (statement_identifier "LAB_001577e0") (: ":") (expression_statement "local_80 = local_80 & 0xffffff00;" (assignment_expression "local_80 = local_80 & 0xffffff00" (identifier "local_80") (= "=") (binary_expression "local_80 & 0xffffff00" (identifier "local_80") (& "&") (number_literal "0xffffff00"))) (; ";"))) (} "}")) (else_clause "else {\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }" (else "else") (compound_statement "{\n            uVar9 = iVar8 + 4;\n            uVar12 = *(uint *)(iVar8 + 8);\n            uVar10 = uVar9;\n            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;\n            do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);\nLAB_00157368:\n            local_80 = uVar9 & 0xffffff00;\n            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }\n          }" ({ "{") (expression_statement "uVar9 = iVar8 + 4;" (assignment_expression "uVar9 = iVar8 + 4" (identifier "uVar9") (= "=") (binary_expression "iVar8 + 4" (identifier "iVar8") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "uVar12 = *(uint *)(iVar8 + 8);" (assignment_expression "uVar12 = *(uint *)(iVar8 + 8)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(iVar8 + 8)" (* "*") (cast_expression "(uint *)(iVar8 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 8)" (( "(") (binary_expression "iVar8 + 8" (identifier "iVar8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar10 = uVar9;" (assignment_expression "uVar10 = uVar9" (identifier "uVar10") (= "=") (identifier "uVar9")) (; ";")) (if_statement "if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;" (if "if") (parenthesized_expression "(*(uint *)(iVar8 + 8) == 0)" (( "(") (binary_expression "*(uint *)(iVar8 + 8) == 0" (pointer_expression "*(uint *)(iVar8 + 8)" (* "*") (cast_expression "(uint *)(iVar8 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 8)" (( "(") (binary_expression "iVar8 + 8" (identifier "iVar8") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001577e0;" (goto "goto") (statement_identifier "LAB_001577e0") (; ";"))) (do_statement "do {\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            } while (*(uint *)(uVar11 + 8) != 0);" (do "do") (compound_statement "{\n              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }\n              uVar12 = *(uint *)(uVar11 + 8);\n              uVar10 = uVar11;\n            }" ({ "{") (while_statement "while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }" (while "while") (parenthesized_expression "(uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50)" (( "(") (comma_expression "uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50" (assignment_expression "uVar11 = uVar12" (identifier "uVar11") (= "=") (identifier "uVar12")) (, ",") (binary_expression "*(uint *)(uVar11 + 0x10) < local_50" (pointer_expression "*(uint *)(uVar11 + 0x10)" (* "*") (cast_expression "(uint *)(uVar11 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 + 0x10)" (( "(") (binary_expression "uVar11 + 0x10" (identifier "uVar11") (+ "+") (number_literal "0x10")) () ")")))) (< "<") (identifier "local_50"))) () ")")) (compound_statement "{\n                puVar1 = (uint *)(uVar11 + 0xc);\n                uVar12 = *puVar1;\n                uVar11 = uVar10;\n                if (*puVar1 == 0) goto LAB_00157368;\n              }" ({ "{") (expression_statement "puVar1 = (uint *)(uVar11 + 0xc);" (assignment_expression "puVar1 = (uint *)(uVar11 + 0xc)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(uVar11 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 + 0xc)" (( "(") (binary_expression "uVar11 + 0xc" (identifier "uVar11") (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (expression_statement "uVar12 = *puVar1;" (assignment_expression "uVar12 = *puVar1" (identifier "uVar12") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "uVar11 = uVar10;" (assignment_expression "uVar11 = uVar10" (identifier "uVar11") (= "=") (identifier "uVar10")) (; ";")) (if_statement "if (*puVar1 == 0) goto LAB_00157368;" (if "if") (parenthesized_expression "(*puVar1 == 0)" (( "(") (binary_expression "*puVar1 == 0" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00157368;" (goto "goto") (statement_identifier "LAB_00157368") (; ";"))) (} "}"))) (expression_statement "uVar12 = *(uint *)(uVar11 + 8);" (assignment_expression "uVar12 = *(uint *)(uVar11 + 8)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(uVar11 + 8)" (* "*") (cast_expression "(uint *)(uVar11 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 + 8)" (( "(") (binary_expression "uVar11 + 8" (identifier "uVar11") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar10 = uVar11;" (assignment_expression "uVar10 = uVar11" (identifier "uVar10") (= "=") (identifier "uVar11")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(uint *)(uVar11 + 8) != 0)" (( "(") (binary_expression "*(uint *)(uVar11 + 8) != 0" (pointer_expression "*(uint *)(uVar11 + 8)" (* "*") (cast_expression "(uint *)(uVar11 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 + 8)" (( "(") (binary_expression "uVar11 + 8" (identifier "uVar11") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (; ";")) (labeled_statement "LAB_00157368:\n            local_80 = uVar9 & 0xffffff00;" (statement_identifier "LAB_00157368") (: ":") (expression_statement "local_80 = uVar9 & 0xffffff00;" (assignment_expression "local_80 = uVar9 & 0xffffff00" (identifier "local_80") (= "=") (binary_expression "uVar9 & 0xffffff00" (identifier "uVar9") (& "&") (number_literal "0xffffff00"))) (; ";"))) (if_statement "if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }" (if "if") (parenthesized_expression "((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50))" (( "(") (binary_expression "(uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)" (parenthesized_expression "(uVar9 != uVar11)" (( "(") (binary_expression "uVar9 != uVar11" (identifier "uVar9") (!= "!=") (identifier "uVar11")) () ")")) (&& "&&") (parenthesized_expression "(*(uint *)(uVar11 + 0x10) <= local_50)" (( "(") (binary_expression "*(uint *)(uVar11 + 0x10) <= local_50" (pointer_expression "*(uint *)(uVar11 + 0x10)" (* "*") (cast_expression "(uint *)(uVar11 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 + 0x10)" (( "(") (binary_expression "uVar11 + 0x10" (identifier "uVar11") (+ "+") (number_literal "0x10")) () ")")))) (<= "<=") (identifier "local_50")) () ")"))) () ")")) (compound_statement "{\n              local_80 = CONCAT31((int3)(uVar9 >> 8),1);\n              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);\n            }" ({ "{") (expression_statement "local_80 = CONCAT31((int3)(uVar9 >> 8),1);" (assignment_expression "local_80 = CONCAT31((int3)(uVar9 >> 8),1)" (identifier "local_80") (= "=") (call_expression "CONCAT31((int3)(uVar9 >> 8),1)" (identifier "CONCAT31") (argument_list "((int3)(uVar9 >> 8),1)" (( "(") (call_expression "(int3)(uVar9 >> 8)" (parenthesized_expression "(int3)" (( "(") (identifier "int3") () ")")) (argument_list "(uVar9 >> 8)" (( "(") (binary_expression "uVar9 >> 8" (identifier "uVar9") (>> ">>") (number_literal "8")) () ")"))) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);" (assignment_expression "pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14)" (identifier "pppppuVar6") (= "=") (pointer_expression "*(undefined4 ******)(uVar11 + 0x14)" (* "*") (cast_expression "(undefined4 ******)(uVar11 + 0x14)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(uVar11 + 0x14)" (( "(") (binary_expression "uVar11 + 0x14" (identifier "uVar11") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;" (if "if") (parenthesized_expression "(pppppuVar6 == (undefined4 *****)0x0)" (( "(") (binary_expression "pppppuVar6 == (undefined4 *****)0x0" (identifier "pppppuVar6") (== "==") (cast_expression "(undefined4 *****)0x0" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_001574d0;" (goto "goto") (statement_identifier "LAB_001574d0") (; ";"))) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);" (assignment_expression "uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6)" (identifier "uVar9") (= "=") (binary_expression "local_68 + CARRY4(local_6c,(uint)pppppuVar6)" (identifier "local_68") (+ "+") (call_expression "CARRY4(local_6c,(uint)pppppuVar6)" (identifier "CARRY4") (argument_list "(local_6c,(uint)pppppuVar6)" (( "(") (identifier "local_6c") (, ",") (cast_expression "(uint)pppppuVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppuVar6")) () ")"))))) (; ";")) (expression_statement "local_9c = pppppuVar6;" (assignment_expression "local_9c = pppppuVar6" (identifier "local_9c") (= "=") (identifier "pppppuVar6")) (; ";")) (if_statement "if (local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))\n          {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }" (if "if") (parenthesized_expression "(local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))" (( "(") (binary_expression "local_7c < uVar9 ||\n              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6))" (binary_expression "local_7c < uVar9" (identifier "local_7c") (< "<") (identifier "uVar9")) (|| "||") (binary_expression "local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6))" (binary_expression "local_7c - uVar9" (identifier "local_7c") (- "-") (identifier "uVar9")) (< "<") (call_expression "(uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6))" (( "(") (binary_expression "local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)" (identifier "local_78") (< "<") (cast_expression "(undefined4 *****)(local_6c + (int)pppppuVar6)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(local_6c + (int)pppppuVar6)" (( "(") (binary_expression "local_6c + (int)pppppuVar6" (identifier "local_6c") (+ "+") (cast_expression "(int)pppppuVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar6"))) () ")")))) () ")"))))) () ")")) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n            *(undefined4 *)(puVar17 + -0xc) = 0x317;\n            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;\n            FUN_00069d00();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e0a3" (identifier "local_84") (+ "+") (number_literal "-0x3e0a3"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x317;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x317" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x317")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_84 + -0xf8bf9" (cast_expression "(int)local_84" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_84")) (+ "+") (number_literal "-0xf8bf9"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157ab7;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157ab7" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157ab7")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar21 = CARRY4(local_64,local_6c);" (assignment_expression "bVar21 = CARRY4(local_64,local_6c)" (identifier "bVar21") (= "=") (call_expression "CARRY4(local_64,local_6c)" (identifier "CARRY4") (argument_list "(local_64,local_6c)" (( "(") (identifier "local_64") (, ",") (identifier "local_6c") () ")")))) (; ";")) (expression_statement "local_64 = local_64 + local_6c;" (assignment_expression "local_64 = local_64 + local_6c" (identifier "local_64") (= "=") (binary_expression "local_64 + local_6c" (identifier "local_64") (+ "+") (identifier "local_6c"))) (; ";")) (expression_statement "local_60 = local_60 + local_68 + (uint)bVar21;" (assignment_expression "local_60 = local_60 + local_68 + (uint)bVar21" (identifier "local_60") (= "=") (binary_expression "local_60 + local_68 + (uint)bVar21" (binary_expression "local_60 + local_68" (identifier "local_60") (+ "+") (identifier "local_68")) (+ "+") (cast_expression "(uint)bVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar21")))) (; ";")) (if_statement "if ((char)local_5c == '\0') {\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }\n          else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }" (if "if") (parenthesized_expression "((char)local_5c == '\0')" (( "(") (binary_expression "(char)local_5c == '\0'" (cast_expression "(char)local_5c" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_5c")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }\n            local_5c = local_64 + *(int *)(param_4 + 0x10);\n            if ((char)local_80 == '\0') goto LAB_001573e9;\nLAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;\n            *(undefined4 **)(puVar17 + -8) = &local_44;\n            *(uint *)(puVar17 + -0xc) = local_50;\n            *(int **)(puVar17 + -0x10) = param_1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x157743;\n            uVar7 = FUN_000b19a0();\n            local_78 = *(undefined4 *****)(local_58 + 8);\n            uVar9 = *(uint *)(local_58 + 0xc);\n            *(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;\n            *(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;\n            *(undefined4 *)(puVar17 + -0xc) = 1;\n            *(undefined4 *)(puVar17 + -0x10) = 0x40;\n            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;\n            *(uint *)(puVar17 + -0x18) = local_5c;\n            *(undefined4 *)(puVar17 + -0x1c) = local_44;\n            *(undefined4 *)(puVar17 + -0x20) = uVar7;\n            *(undefined4 *)(puVar17 + -0x24) = 0x157773;\n            cVar5 = FUN_0019ee80();\n            puVar16 = puVar17;\n            if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }\n          }" ({ "{") (if_statement "if (((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)) {\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }" (if "if") (parenthesized_expression "(((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0))" (( "(") (binary_expression "((int)local_60 < 0) ||\n               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)" (parenthesized_expression "((int)local_60 < 0)" (( "(") (binary_expression "(int)local_60 < 0" (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")) (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0)" (( "(") (comma_expression "iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),\n               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64)" (identifier "iVar20") (= "=") (binary_expression "local_60 + CARRY4((uint)pppppuVar6,local_64)" (identifier "local_60") (+ "+") (call_expression "CARRY4((uint)pppppuVar6,local_64)" (identifier "CARRY4") (argument_list "((uint)pppppuVar6,local_64)" (( "(") (cast_expression "(uint)pppppuVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppuVar6")) (, ",") (identifier "local_64") () ")"))))) (, ",") (comma_expression "uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)),\n               iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64))" (identifier "uVar9") (= "=") (call_expression "(uint)(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64))" (( "(") (binary_expression "*(undefined1 **)(param_4 + 8) <\n                             (undefined1 *)((int)pppppuVar6 + local_64)" (pointer_expression "*(undefined1 **)(param_4 + 8)" (* "*") (cast_expression "(undefined1 **)(param_4 + 8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 8)" (( "(") (binary_expression "param_4 + 8" (identifier "param_4") (+ "+") (number_literal "8")) () ")")))) (< "<") (cast_expression "(undefined1 *)((int)pppppuVar6 + local_64)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppuVar6 + local_64)" (( "(") (binary_expression "(int)pppppuVar6 + local_64" (cast_expression "(int)pppppuVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppuVar6")) (+ "+") (identifier "local_64")) () ")")))) () ")")))) (, ",") (comma_expression "iVar8 = *(int *)(param_4 + 0xc) - iVar20,\n               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "iVar8 = *(int *)(param_4 + 0xc) - iVar20" (identifier "iVar8") (= "=") (binary_expression "*(int *)(param_4 + 0xc) - iVar20" (pointer_expression "*(int *)(param_4 + 0xc)" (* "*") (cast_expression "(int *)(param_4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc)" (( "(") (binary_expression "param_4 + 0xc" (identifier "param_4") (+ "+") (number_literal "0xc")) () ")")))) (- "-") (identifier "iVar20"))) (, ",") (binary_expression "(SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=\n               (int)(iVar8 - uVar9) < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9))" (( "(") (binary_expression "SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)" (call_expression "SBORROW4(*(int *)(param_4 + 0xc),iVar20)" (identifier "SBORROW4") (argument_list "(*(int *)(param_4 + 0xc),iVar20)" (( "(") (pointer_expression "*(int *)(param_4 + 0xc)" (* "*") (cast_expression "(int *)(param_4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc)" (( "(") (binary_expression "param_4 + 0xc" (identifier "param_4") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "iVar20") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar8,uVar9)" (identifier "SBORROW4") (argument_list "(iVar8,uVar9)" (( "(") (identifier "iVar8") (, ",") (identifier "uVar9") () ")")))) () ")")) (!= "!=") (binary_expression "(int)(iVar8 - uVar9) < 0" (cast_expression "(int)(iVar8 - uVar9)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar8 - uVar9)" (( "(") (binary_expression "iVar8 - uVar9" (identifier "iVar8") (- "-") (identifier "uVar9")) () ")"))) (< "<") (number_literal "0")))))) () ")"))) () ")")) (compound_statement "{\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n              *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;\n              FUN_00069d00();\n            }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e091" (identifier "local_84") (+ "+") (number_literal "-0x3e091"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x6f;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x6f" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x6f")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_84 + -0x41c55" (identifier "local_84") (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;" (assignment_expression "*(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65" (pointer_expression "*(undefined1 **)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_00157b65" (& "&") (identifier "LAB_00157b65"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_5c = local_64 + *(int *)(param_4 + 0x10);" (assignment_expression "local_5c = local_64 + *(int *)(param_4 + 0x10)" (identifier "local_5c") (= "=") (binary_expression "local_64 + *(int *)(param_4 + 0x10)" (identifier "local_64") (+ "+") (pointer_expression "*(int *)(param_4 + 0x10)" (* "*") (cast_expression "(int *)(param_4 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x10)" (( "(") (binary_expression "param_4 + 0x10" (identifier "param_4") (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (if_statement "if ((char)local_80 == '\0') goto LAB_001573e9;" (if "if") (parenthesized_expression "((char)local_80 == '\0')" (( "(") (binary_expression "(char)local_80 == '\0'" (cast_expression "(char)local_80" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_80")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001573e9;" (goto "goto") (statement_identifier "LAB_001573e9") (; ";"))) (labeled_statement "LAB_0015772f:\n            *(undefined4 *)(puVar17 + -4) = 0;" (statement_identifier "LAB_0015772f") (: ":") (expression_statement "*(undefined4 *)(puVar17 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(undefined4 **)(puVar17 + -8) = &local_44;" (assignment_expression "*(undefined4 **)(puVar17 + -8) = &local_44" (pointer_expression "*(undefined4 **)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 **)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&local_44" (& "&") (identifier "local_44"))) (; ";")) (expression_statement "*(uint *)(puVar17 + -0xc) = local_50;" (assignment_expression "*(uint *)(puVar17 + -0xc) = local_50" (pointer_expression "*(uint *)(puVar17 + -0xc)" (* "*") (cast_expression "(uint *)(puVar17 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_50")) (; ";")) (expression_statement "*(int **)(puVar17 + -0x10) = param_1;" (assignment_expression "*(int **)(puVar17 + -0x10) = param_1" (pointer_expression "*(int **)(puVar17 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157743;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157743" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157743")) (; ";")) (expression_statement "uVar7 = FUN_000b19a0();" (assignment_expression "uVar7 = FUN_000b19a0()" (identifier "uVar7") (= "=") (call_expression "FUN_000b19a0()" (identifier "FUN_000b19a0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_78 = *(undefined4 *****)(local_58 + 8);" (assignment_expression "local_78 = *(undefined4 *****)(local_58 + 8)" (identifier "local_78") (= "=") (pointer_expression "*(undefined4 *****)(local_58 + 8)" (* "*") (cast_expression "(undefined4 *****)(local_58 + 8)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(local_58 + 8)" (( "(") (binary_expression "local_58 + 8" (identifier "local_58") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar9 = *(uint *)(local_58 + 0xc);" (assignment_expression "uVar9 = *(uint *)(local_58 + 0xc)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(local_58 + 0xc)" (* "*") (cast_expression "(uint *)(local_58 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_58 + 0xc)" (( "(") (binary_expression "local_58 + 0xc" (identifier "local_58") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;" (assignment_expression "*(uint *)(puVar17 + -4) =\n                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18" (pointer_expression "*(uint *)(puVar17 + -4)" (* "*") (cast_expression "(uint *)(puVar17 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "(uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18" (binary_expression "(uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |\n                 ((uint)local_78 & 0xff00) << 8" (binary_expression "(uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8" (binary_expression "(uint)local_78 >> 0x18" (cast_expression "(uint)local_78" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_78")) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "((uint)local_78 & 0xff0000) >> 8" (parenthesized_expression "((uint)local_78 & 0xff0000)" (( "(") (binary_expression "(uint)local_78 & 0xff0000" (cast_expression "(uint)local_78" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_78")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "((uint)local_78 & 0xff00) << 8" (parenthesized_expression "((uint)local_78 & 0xff00)" (( "(") (binary_expression "(uint)local_78 & 0xff00" (cast_expression "(uint)local_78" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_78")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(int)local_78 << 0x18" (cast_expression "(int)local_78" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_78")) (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "*(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;" (assignment_expression "*(uint *)(puVar17 + -8) =\n                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (pointer_expression "*(uint *)(puVar17 + -8)" (* "*") (cast_expression "(uint *)(puVar17 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0x40;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0x40" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x40")) (; ";")) (expression_statement "*(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;" (assignment_expression "*(undefined4 ******)(puVar17 + -0x14) = pppppuVar6" (pointer_expression "*(undefined4 ******)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 ******)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "pppppuVar6")) (; ";")) (expression_statement "*(uint *)(puVar17 + -0x18) = local_5c;" (assignment_expression "*(uint *)(puVar17 + -0x18) = local_5c" (pointer_expression "*(uint *)(puVar17 + -0x18)" (* "*") (cast_expression "(uint *)(puVar17 + -0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "local_5c")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x1c) = local_44;" (assignment_expression "*(undefined4 *)(puVar17 + -0x1c) = local_44" (pointer_expression "*(undefined4 *)(puVar17 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x1c)" (( "(") (binary_expression "puVar17 + -0x1c" (identifier "puVar17") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "local_44")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x20) = uVar7;" (assignment_expression "*(undefined4 *)(puVar17 + -0x20) = uVar7" (pointer_expression "*(undefined4 *)(puVar17 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x20)" (( "(") (binary_expression "puVar17 + -0x20" (identifier "puVar17") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x24) = 0x157773;" (assignment_expression "*(undefined4 *)(puVar17 + -0x24) = 0x157773" (pointer_expression "*(undefined4 *)(puVar17 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x24)" (( "(") (binary_expression "puVar17 + -0x24" (identifier "puVar17") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x157773")) (; ";")) (expression_statement "cVar5 = FUN_0019ee80();" (assignment_expression "cVar5 = FUN_0019ee80()" (identifier "cVar5") (= "=") (call_expression "FUN_0019ee80()" (identifier "FUN_0019ee80") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar16 = puVar17;" (assignment_expression "puVar16 = puVar17" (identifier "puVar16") (= "=") (identifier "puVar17")) (; ";")) (if_statement "if (cVar5 == '\0') {\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }" (if "if") (parenthesized_expression "(cVar5 == '\0')" (( "(") (binary_expression "cVar5 == '\0'" (identifier "cVar5") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              iVar8 = *param_1;\n              *(uint *)(puVar17 + -8) = local_50;\n              *(int **)(puVar17 + -0xc) = param_1;\n              *(undefined4 ******)(puVar17 + -0x10) = &local_34;\n              pcVar3 = *(code **)(iVar8 + 0x40);\n              *(undefined4 *)(puVar17 + -0x14) = 0x157793;\n              (*pcVar3)();\n              local_78 = local_34;\n              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;\n              uVar7 = gettext();\n              *(undefined4 *****)(puVar17 + -0xc) = local_78;\n              *(undefined4 *)(puVar17 + -0x10) = uVar7;\n              *(int **)(puVar17 + -0x14) = param_1;\n                    \n              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;\n              FUN_000b1840();\n              puVar16 = puVar17 + -4;\n              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;\n              puVar15 = puVar17 + -0x14;\n              *(undefined4 *****)(puVar17 + -0x14) = local_34;\n              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;\n              FUN_001e6db0();\n              goto LAB_0015743b;\n            }" ({ "{") (expression_statement "iVar8 = *param_1;" (assignment_expression "iVar8 = *param_1" (identifier "iVar8") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "*(uint *)(puVar17 + -8) = local_50;" (assignment_expression "*(uint *)(puVar17 + -8) = local_50" (pointer_expression "*(uint *)(puVar17 + -8)" (* "*") (cast_expression "(uint *)(puVar17 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_50")) (; ";")) (expression_statement "*(int **)(puVar17 + -0xc) = param_1;" (assignment_expression "*(int **)(puVar17 + -0xc) = param_1" (pointer_expression "*(int **)(puVar17 + -0xc)" (* "*") (cast_expression "(int **)(puVar17 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 ******)(puVar17 + -0x10) = &local_34;" (assignment_expression "*(undefined4 ******)(puVar17 + -0x10) = &local_34" (pointer_expression "*(undefined4 ******)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 ******)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (; ";")) (expression_statement "pcVar3 = *(code **)(iVar8 + 0x40);" (assignment_expression "pcVar3 = *(code **)(iVar8 + 0x40)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(iVar8 + 0x40)" (* "*") (cast_expression "(code **)(iVar8 + 0x40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar8 + 0x40)" (( "(") (binary_expression "iVar8 + 0x40" (identifier "iVar8") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157793;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157793" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157793")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_78 = local_34;" (assignment_expression "local_78 = local_34" (identifier "local_78") (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;" (assignment_expression "*(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2" (pointer_expression "*(undefined ***)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "local_84 + -0x40ba2" (identifier "local_84") (+ "+") (number_literal "-0x40ba2"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0x1577a8;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0x1577a8" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x1577a8")) (; ";")) (expression_statement "uVar7 = gettext();" (assignment_expression "uVar7 = gettext()" (identifier "uVar7") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *****)(puVar17 + -0xc) = local_78;" (assignment_expression "*(undefined4 *****)(puVar17 + -0xc) = local_78" (pointer_expression "*(undefined4 *****)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *****)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_78")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar7;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar7" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "*(int **)(puVar17 + -0x14) = param_1;" (assignment_expression "*(int **)(puVar17 + -0x14) = param_1" (pointer_expression "*(int **)(puVar17 + -0x14)" (* "*") (cast_expression "(int **)(puVar17 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0x1577bb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0x1577bb" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x1577bb")) (; ";")) (expression_statement "FUN_000b1840();" (call_expression "FUN_000b1840()" (identifier "FUN_000b1840") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar16 = puVar17 + -4;" (assignment_expression "puVar16 = puVar17 + -4" (identifier "puVar16") (= "=") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4"))) (; ";")) (if_statement "if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;" (if "if") (parenthesized_expression "((undefined4 *****)local_34 == &local_2c)" (( "(") (binary_expression "(undefined4 *****)local_34 == &local_2c" (cast_expression "(undefined4 *****)local_34" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_34")) (== "==") (pointer_expression "&local_2c" (& "&") (identifier "local_2c"))) () ")")) (goto_statement "goto LAB_0015743e;" (goto "goto") (statement_identifier "LAB_0015743e") (; ";"))) (expression_statement "puVar15 = puVar17 + -0x14;" (assignment_expression "puVar15 = puVar17 + -0x14" (identifier "puVar15") (= "=") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14"))) (; ";")) (expression_statement "*(undefined4 *****)(puVar17 + -0x14) = local_34;" (assignment_expression "*(undefined4 *****)(puVar17 + -0x14) = local_34" (pointer_expression "*(undefined4 *****)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *****)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *****" (type_identifier "undefined4") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x18) = 0x1577d8;" (assignment_expression "*(undefined4 *)(puVar17 + -0x18) = 0x1577d8" (pointer_expression "*(undefined4 *)(puVar17 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x18)" (( "(") (binary_expression "puVar17 + -0x18" (identifier "puVar17") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x1577d8")) (; ";")) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" (identifier "FUN_001e6db0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0015743b;" (goto "goto") (statement_identifier "LAB_0015743b") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }" (else "else") (compound_statement "{\n            if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }\n            local_5c = *(int *)(iVar2 + 0x8c) + local_64;\n            if ((char)local_80 != '\0') goto LAB_0015772f;\nLAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);\n            uVar12 = *(uint *)(local_58 + 0x1c);\n            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;\n            local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);\n            cVar5 = local_9d;\n            if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }\n            local_9d = cVar5;\n            local_28 = local_5c;\n            *(undefined4 ******)(puVar17 + -0xc) = &local_34;\n            puVar15 = puVar17 + -0x10;\n            *(int **)(puVar17 + -0x10) = &local_40;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;\n            local_34 = local_78;\n            local_2c = pppppuVar6;\n            FUN_0014ebe0();\nLAB_0015743b:\n            puVar16 = puVar15 + 0x10;\n          }" ({ "{") (if_statement "if (*(int *)(iVar2 + 0x8c) == 0) {\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0x8c) == 0)" (( "(") (binary_expression "*(int *)(iVar2 + 0x8c) == 0" (pointer_expression "*(int *)(iVar2 + 0x8c)" (* "*") (cast_expression "(int *)(iVar2 + 0x8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x8c)" (( "(") (binary_expression "iVar2 + 0x8c" (identifier "iVar2") (+ "+") (number_literal "0x8c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;\n              *(undefined4 *)(puVar17 + -0xc) = 0xe34;\n              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;\n              FUN_00069d00();\n            }" ({ "{") (labeled_statement "LAB_00157b2c:\n              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;" (statement_identifier "LAB_00157b2c") (: ":") (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e08d" (identifier "local_84") (+ "+") (number_literal "-0x3e08d"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xe34;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xe34" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xe34")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_84 + -0x41c55" (identifier "local_84") (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157b4a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157b4a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157b4a")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_5c = *(int *)(iVar2 + 0x8c) + local_64;" (assignment_expression "local_5c = *(int *)(iVar2 + 0x8c) + local_64" (identifier "local_5c") (= "=") (binary_expression "*(int *)(iVar2 + 0x8c) + local_64" (pointer_expression "*(int *)(iVar2 + 0x8c)" (* "*") (cast_expression "(int *)(iVar2 + 0x8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x8c)" (( "(") (binary_expression "iVar2 + 0x8c" (identifier "iVar2") (+ "+") (number_literal "0x8c")) () ")")))) (+ "+") (identifier "local_64"))) (; ";")) (if_statement "if ((char)local_80 != '\0') goto LAB_0015772f;" (if "if") (parenthesized_expression "((char)local_80 != '\0')" (( "(") (binary_expression "(char)local_80 != '\0'" (cast_expression "(char)local_80" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_80")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0015772f;" (goto "goto") (statement_identifier "LAB_0015772f") (; ";"))) (labeled_statement "LAB_001573e9:\n            uVar9 = *(uint *)(local_58 + 0x18);" (statement_identifier "LAB_001573e9") (: ":") (expression_statement "uVar9 = *(uint *)(local_58 + 0x18);" (assignment_expression "uVar9 = *(uint *)(local_58 + 0x18)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(local_58 + 0x18)" (* "*") (cast_expression "(uint *)(local_58 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_58 + 0x18)" (( "(") (binary_expression "local_58 + 0x18" (identifier "local_58") (+ "+") (number_literal "0x18")) () ")"))))) (; ";"))) (expression_statement "uVar12 = *(uint *)(local_58 + 0x1c);" (assignment_expression "uVar12 = *(uint *)(local_58 + 0x1c)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(local_58 + 0x1c)" (* "*") (cast_expression "(uint *)(local_58 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_58 + 0x1c)" (( "(") (binary_expression "local_58 + 0x1c" (identifier "local_58") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18;" (assignment_expression "local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18" (identifier "local_30") (= "=") (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |\n                       uVar9 << 0x18" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8" (binary_expression "uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8" (binary_expression "uVar9 >> 0x18" (identifier "uVar9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar9 & 0xff0000) >> 8" (parenthesized_expression "(uVar9 & 0xff0000)" (( "(") (binary_expression "uVar9 & 0xff0000" (identifier "uVar9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar9 & 0xff00) << 8" (parenthesized_expression "(uVar9 & 0xff00)" (( "(") (binary_expression "uVar9 & 0xff00" (identifier "uVar9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar9 << 0x18" (identifier "uVar9") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18);" (assignment_expression "local_78 = (undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18)" (identifier "local_78") (= "=") (cast_expression "(undefined4 ****)\n                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18)" (( "(") (type_descriptor "undefined4 ****" (type_identifier "undefined4") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18)" (( "(") (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |\n                       uVar12 << 0x18" (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8" (binary_expression "uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8" (binary_expression "uVar12 >> 0x18" (identifier "uVar12") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar12 & 0xff0000) >> 8" (parenthesized_expression "(uVar12 & 0xff0000)" (( "(") (binary_expression "uVar12 & 0xff0000" (identifier "uVar12") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar12 & 0xff00) << 8" (parenthesized_expression "(uVar12 & 0xff00)" (( "(") (binary_expression "uVar12 & 0xff00" (identifier "uVar12") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar12 << 0x18" (identifier "uVar12") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "cVar5 = local_9d;" (assignment_expression "cVar5 = local_9d" (identifier "cVar5") (= "=") (identifier "local_9d")) (; ";")) (if_statement "if ((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)) {\n              cVar5 = local_9d;\n            }" (if "if") (parenthesized_expression "((local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0))" (( "(") (binary_expression "(local_3c != local_40) &&\n               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)" (parenthesized_expression "(local_3c != local_40)" (( "(") (binary_expression "local_3c != local_40" (identifier "local_3c") (!= "!=") (identifier "local_40")) () ")")) (&& "&&") (parenthesized_expression "(uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0)" (( "(") (comma_expression "uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),\n               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10))" (identifier "uVar9") (= "=") (call_expression "(uint)(local_78 < *(undefined4 ******)(local_3c + -0x10))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_78 < *(undefined4 ******)(local_3c + -0x10))" (( "(") (binary_expression "local_78 < *(undefined4 ******)(local_3c + -0x10)" (identifier "local_78") (< "<") (pointer_expression "*(undefined4 ******)(local_3c + -0x10)" (* "*") (cast_expression "(undefined4 ******)(local_3c + -0x10)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(local_3c + -0x10)" (( "(") (binary_expression "local_3c + -0x10" (identifier "local_3c") (+ "+") (number_literal "-0x10")) () ")"))))) () ")")))) (, ",") (comma_expression "iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "iVar8 = local_30 - *(int *)(local_3c + -0xc)" (identifier "iVar8") (= "=") (binary_expression "local_30 - *(int *)(local_3c + -0xc)" (identifier "local_30") (- "-") (pointer_expression "*(int *)(local_3c + -0xc)" (* "*") (cast_expression "(int *)(local_3c + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_3c + -0xc)" (( "(") (binary_expression "local_3c + -0xc" (identifier "local_3c") (+ "+") (number_literal "-0xc")) () ")")))))) (, ",") (comma_expression "cVar5 = (char)local_80,\n               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0" (assignment_expression "cVar5 = (char)local_80" (identifier "cVar5") (= "=") (cast_expression "(char)local_80" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_80"))) (, ",") (binary_expression "(SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==\n               (int)(iVar8 - uVar9) < 0" (parenthesized_expression "(SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9))" (( "(") (binary_expression "SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)" (call_expression "SBORROW4(local_30,*(int *)(local_3c + -0xc))" (identifier "SBORROW4") (argument_list "(local_30,*(int *)(local_3c + -0xc))" (( "(") (identifier "local_30") (, ",") (pointer_expression "*(int *)(local_3c + -0xc)" (* "*") (cast_expression "(int *)(local_3c + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_3c + -0xc)" (( "(") (binary_expression "local_3c + -0xc" (identifier "local_3c") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (!= "!=") (call_expression "SBORROW4(iVar8,uVar9)" (identifier "SBORROW4") (argument_list "(iVar8,uVar9)" (( "(") (identifier "iVar8") (, ",") (identifier "uVar9") () ")")))) () ")")) (== "==") (binary_expression "(int)(iVar8 - uVar9) < 0" (cast_expression "(int)(iVar8 - uVar9)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar8 - uVar9)" (( "(") (binary_expression "iVar8 - uVar9" (identifier "iVar8") (- "-") (identifier "uVar9")) () ")"))) (< "<") (number_literal "0")))))) () ")"))) () ")")) (compound_statement "{\n              cVar5 = local_9d;\n            }" ({ "{") (expression_statement "cVar5 = local_9d;" (assignment_expression "cVar5 = local_9d" (identifier "cVar5") (= "=") (identifier "local_9d")) (; ";")) (} "}"))) (expression_statement "local_9d = cVar5;" (assignment_expression "local_9d = cVar5" (identifier "local_9d") (= "=") (identifier "cVar5")) (; ";")) (expression_statement "local_28 = local_5c;" (assignment_expression "local_28 = local_5c" (identifier "local_28") (= "=") (identifier "local_5c")) (; ";")) (expression_statement "*(undefined4 ******)(puVar17 + -0xc) = &local_34;" (assignment_expression "*(undefined4 ******)(puVar17 + -0xc) = &local_34" (pointer_expression "*(undefined4 ******)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 ******)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (; ";")) (expression_statement "puVar15 = puVar17 + -0x10;" (assignment_expression "puVar15 = puVar17 + -0x10" (identifier "puVar15") (= "=") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(int **)(puVar17 + -0x10) = &local_40;" (assignment_expression "*(int **)(puVar17 + -0x10) = &local_40" (pointer_expression "*(int **)(puVar17 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x15743b;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x15743b" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x15743b")) (; ";")) (expression_statement "local_34 = local_78;" (assignment_expression "local_34 = local_78" (identifier "local_34") (= "=") (identifier "local_78")) (; ";")) (expression_statement "local_2c = pppppuVar6;" (assignment_expression "local_2c = pppppuVar6" (identifier "local_2c") (= "=") (identifier "pppppuVar6")) (; ";")) (expression_statement "FUN_0014ebe0();" (call_expression "FUN_0014ebe0()" (identifier "FUN_0014ebe0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0015743b:\n            puVar16 = puVar15 + 0x10;" (statement_identifier "LAB_0015743b") (: ":") (expression_statement "puVar16 = puVar15 + 0x10;" (assignment_expression "puVar16 = puVar15 + 0x10" (identifier "puVar16") (= "=") (binary_expression "puVar15 + 0x10" (identifier "puVar15") (+ "+") (number_literal "0x10"))) (; ";"))) (} "}")))) (labeled_statement "LAB_0015743e:\n          *local_54 = local_5c;" (statement_identifier "LAB_0015743e") (: ":") (expression_statement "*local_54 = local_5c;" (assignment_expression "*local_54 = local_5c" (pointer_expression "*local_54" (* "*") (identifier "local_54")) (= "=") (identifier "local_5c")) (; ";"))) (expression_statement "puVar17 = puVar16;" (assignment_expression "puVar17 = puVar16" (identifier "puVar17") (= "=") (identifier "puVar16")) (; ";")) (if_statement "if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }" (if "if") (parenthesized_expression "((*(byte *)(iVar2 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar2 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar2 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(iVar2 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar2 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar2 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0015794c:\n            ppuVar19 = local_84;\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n            *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;\n            FUN_00069d00();\n          }" ({ "{") (labeled_statement "LAB_0015794c:\n            ppuVar19 = local_84;" (statement_identifier "LAB_0015794c") (: ":") (expression_statement "ppuVar19 = local_84;" (assignment_expression "ppuVar19 = local_84" (identifier "ppuVar19") (= "=") (identifier "local_84")) (; ";"))) (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e093" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e093" (identifier "local_84") (+ "+") (number_literal "-0x3e093"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppuVar19 + -0x41c55" (identifier "ppuVar19") (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x15796a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x15796a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x15796a")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar12 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 4)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(iVar2 + 4)" (* "*") (cast_expression "(uint *)(iVar2 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar20 = *(int *)(iVar2 + 8);" (assignment_expression "iVar20 = *(int *)(iVar2 + 8)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar2 + 8)" (* "*") (cast_expression "(int *)(iVar2 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(*local_74 + 8);" (assignment_expression "iVar8 = *(int *)(*local_74 + 8)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(*local_74 + 8)" (* "*") (cast_expression "(int *)(*local_74 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_74 + 8)" (( "(") (binary_expression "*local_74 + 8" (pointer_expression "*local_74" (* "*") (identifier "local_74")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);" (assignment_expression "uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5)" (identifier "uVar9") (= "=") (call_expression "CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5)" (identifier "CONCAT31") (argument_list "(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5)" (( "(") (field_expression "local_5c._1_3_" (identifier "local_5c") (. ".") (field_identifier "_1_3_")) (, ",") (binary_expression "*(byte *)(iVar2 + 0x90) >> 5" (pointer_expression "*(byte *)(iVar2 + 0x90)" (* "*") (cast_expression "(byte *)(iVar2 + 0x90)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x90)" (( "(") (binary_expression "iVar2 + 0x90" (identifier "iVar2") (+ "+") (number_literal "0x90")) () ")")))) (>> ">>") (number_literal "5")) () ")")))) (; ";")) (expression_statement "local_54[1] = uVar12 + local_6c;" (assignment_expression "local_54[1] = uVar12 + local_6c" (subscript_expression "local_54[1]" (identifier "local_54") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar12 + local_6c" (identifier "uVar12") (+ "+") (identifier "local_6c"))) (; ";")) (expression_statement "local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);" (assignment_expression "local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c)" (subscript_expression "local_54[2]" (identifier "local_54") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c)" (binary_expression "iVar20 + local_68" (identifier "iVar20") (+ "+") (identifier "local_68")) (+ "+") (cast_expression "(uint)CARRY4(uVar12,local_6c)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar12,local_6c)" (identifier "CARRY4") (argument_list "(uVar12,local_6c)" (( "(") (identifier "uVar12") (, ",") (identifier "local_6c") () ")")))))) (; ";")) (labeled_statement "LAB_0015747d:\n          local_5c = uVar9 & 0xffffff01;" (statement_identifier "LAB_0015747d") (: ":") (expression_statement "local_5c = uVar9 & 0xffffff01;" (assignment_expression "local_5c = uVar9 & 0xffffff01" (identifier "local_5c") (= "=") (binary_expression "uVar9 & 0xffffff01" (identifier "uVar9") (& "&") (number_literal "0xffffff01"))) (; ";"))) (expression_statement "local_54[3] = local_64;" (assignment_expression "local_54[3] = local_64" (subscript_expression "local_54[3]" (identifier "local_54") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "local_64")) (; ";")) (expression_statement "local_54[4] = local_60;" (assignment_expression "local_54[4] = local_60" (subscript_expression "local_54[4]" (identifier "local_54") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "local_60")) (; ";")) (expression_statement "local_54[5] = (uint)pppppuVar6;" (assignment_expression "local_54[5] = (uint)pppppuVar6" (subscript_expression "local_54[5]" (identifier "local_54") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(uint)pppppuVar6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pppppuVar6"))) (; ";")) (expression_statement "*(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;" (assignment_expression "*(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff" (pointer_expression "*(bool *)(local_54 + 6)" (* "*") (cast_expression "(bool *)(local_54 + 6)" (( "(") (type_descriptor "bool *" (primitive_type "bool") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_54 + 6)" (( "(") (binary_expression "local_54 + 6" (identifier "local_54") (+ "+") (number_literal "6")) () ")")))) (= "=") (binary_expression "(local_6c & local_68) == 0xffffffff" (parenthesized_expression "(local_6c & local_68)" (( "(") (binary_expression "local_6c & local_68" (identifier "local_6c") (& "&") (identifier "local_68")) () ")")) (== "==") (number_literal "0xffffffff"))) (; ";")) (expression_statement "*(char *)((int)local_54 + 0x19) = (char)local_5c;" (assignment_expression "*(char *)((int)local_54 + 0x19) = (char)local_5c" (pointer_expression "*(char *)((int)local_54 + 0x19)" (* "*") (cast_expression "(char *)((int)local_54 + 0x19)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_54 + 0x19)" (( "(") (binary_expression "(int)local_54 + 0x19" (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54")) (+ "+") (number_literal "0x19")) () ")")))) (= "=") (cast_expression "(char)local_5c" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_5c"))) (; ";")) (if_statement "if (iVar8 == 0) {\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;\n            *(undefined4 *)(puVar17 + -0xc) = 0x5c;\n            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;\n                    \n            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;\n            FUN_00069d00();\n          }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e00a" (identifier "local_84") (+ "+") (number_literal "-0x3e00a"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_84 + -0x41f7c" (identifier "local_84") (+ "+") (number_literal "-0x41f7c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1579be;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1579be" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1579be")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" (identifier "bVar21") (= "=") (false "false")) (; ";")) (expression_statement "bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;" (assignment_expression "bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6" (identifier "bVar4") (= "=") (binary_expression "(*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6" (parenthesized_expression "(*(byte *)(iVar8 + 0x318d) ^ 1)" (( "(") (binary_expression "*(byte *)(iVar8 + 0x318d) ^ 1" (pointer_expression "*(byte *)(iVar8 + 0x318d)" (* "*") (cast_expression "(byte *)(iVar8 + 0x318d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x318d)" (( "(") (binary_expression "iVar8 + 0x318d" (identifier "iVar8") (+ "+") (number_literal "0x318d")) () ")")))) (^ "^") (number_literal "1")) () ")")) (& "&") (binary_expression "&DAT_00000008 < pppppuVar6" (pointer_expression "&DAT_00000008" (& "&") (identifier "DAT_00000008")) (< "<") (identifier "pppppuVar6")))) (; ";")) (expression_statement "bVar23 = bVar4 == 0;" (assignment_expression "bVar23 = bVar4 == 0" (identifier "bVar23") (= "=") (binary_expression "bVar4 == 0" (identifier "bVar4") (== "==") (number_literal "0"))) (; ";")) (if_statement "if (!bVar23) {\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }" (if "if") (parenthesized_expression "(!bVar23)" (( "(") (unary_expression "!bVar23" (! "!") (identifier "bVar23")) () ")")) (compound_statement "{\n          iVar8 = 0xc;\n          pbVar18 = *(byte **)(iVar2 + 0x20);\n          ppuVar19 = local_84 + -0x41295;\n          do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);\n          bVar22 = false;\n          bVar21 = (!bVar21 && !bVar23) == bVar21;\n          if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }\n          *(uint *)(puVar17 + -8) = local_50;\n          *(int **)(puVar17 + -0xc) = param_1;\n          *(undefined4 *)(puVar17 + -0x10) = param_2;\n                    \n          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;\n          bVar4 = FUN_0009e8a0();\n        }" ({ "{") (expression_statement "iVar8 = 0xc;" (assignment_expression "iVar8 = 0xc" (identifier "iVar8") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar18 = *(byte **)(iVar2 + 0x20);" (assignment_expression "pbVar18 = *(byte **)(iVar2 + 0x20)" (identifier "pbVar18") (= "=") (pointer_expression "*(byte **)(iVar2 + 0x20)" (* "*") (cast_expression "(byte **)(iVar2 + 0x20)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x20)" (( "(") (binary_expression "iVar2 + 0x20" (identifier "iVar2") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "ppuVar19 = local_84 + -0x41295;" (assignment_expression "ppuVar19 = local_84 + -0x41295" (identifier "ppuVar19") (= "=") (binary_expression "local_84 + -0x41295" (identifier "local_84") (+ "+") (number_literal "-0x41295"))) (; ";")) (do_statement "do {\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          } while (bVar23);" (do "do") (compound_statement "{\n            if (iVar8 == 0) break;\n            iVar8 = iVar8 + -1;\n            bVar21 = *pbVar18 < *(byte *)ppuVar19;\n            bVar23 = *pbVar18 == *(byte *)ppuVar19;\n            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n          }" ({ "{") (if_statement "if (iVar8 == 0) break;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar21 = *pbVar18 < *(byte *)ppuVar19;" (assignment_expression "bVar21 = *pbVar18 < *(byte *)ppuVar19" (identifier "bVar21") (= "=") (binary_expression "*pbVar18 < *(byte *)ppuVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*(byte *)ppuVar19" (* "*") (cast_expression "(byte *)ppuVar19" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar19"))))) (; ";")) (expression_statement "bVar23 = *pbVar18 == *(byte *)ppuVar19;" (assignment_expression "bVar23 = *pbVar18 == *(byte *)ppuVar19" (identifier "bVar23") (= "=") (binary_expression "*pbVar18 == *(byte *)ppuVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*(byte *)ppuVar19" (* "*") (cast_expression "(byte *)ppuVar19" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar19"))))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar24 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar24 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar24")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);" (assignment_expression "ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1)" (identifier "ppuVar19") (= "=") (cast_expression "(undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar19 + (uint)bVar24 * -2 + 1)" (( "(") (binary_expression "(int)ppuVar19 + (uint)bVar24 * -2 + 1" (binary_expression "(int)ppuVar19 + (uint)bVar24 * -2" (cast_expression "(int)ppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar19")) (+ "+") (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar24")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar23)" (( "(") (identifier "bVar23") () ")")) (; ";")) (expression_statement "bVar22 = false;" (assignment_expression "bVar22 = false" (identifier "bVar22") (= "=") (false "false")) (; ";")) (expression_statement "bVar21 = (!bVar21 && !bVar23) == bVar21;" (assignment_expression "bVar21 = (!bVar21 && !bVar23) == bVar21" (identifier "bVar21") (= "=") (binary_expression "(!bVar21 && !bVar23) == bVar21" (parenthesized_expression "(!bVar21 && !bVar23)" (( "(") (binary_expression "!bVar21 && !bVar23" (unary_expression "!bVar21" (! "!") (identifier "bVar21")) (&& "&&") (unary_expression "!bVar23" (! "!") (identifier "bVar23"))) () ")")) (== "==") (identifier "bVar21"))) (; ";")) (if_statement "if (!bVar21) {\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }" (if "if") (parenthesized_expression "(!bVar21)" (( "(") (unary_expression "!bVar21" (! "!") (identifier "bVar21")) () ")")) (compound_statement "{\n            iVar8 = 0xc;\n            pbVar18 = *(byte **)(iVar2 + 0x20);\n            ppuVar19 = local_84 + -0x41292;\n            do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);\n            if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }\n          }" ({ "{") (expression_statement "iVar8 = 0xc;" (assignment_expression "iVar8 = 0xc" (identifier "iVar8") (= "=") (number_literal "0xc")) (; ";")) (expression_statement "pbVar18 = *(byte **)(iVar2 + 0x20);" (assignment_expression "pbVar18 = *(byte **)(iVar2 + 0x20)" (identifier "pbVar18") (= "=") (pointer_expression "*(byte **)(iVar2 + 0x20)" (* "*") (cast_expression "(byte **)(iVar2 + 0x20)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar2 + 0x20)" (( "(") (binary_expression "iVar2 + 0x20" (identifier "iVar2") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "ppuVar19 = local_84 + -0x41292;" (assignment_expression "ppuVar19 = local_84 + -0x41292" (identifier "ppuVar19") (= "=") (binary_expression "local_84 + -0x41292" (identifier "local_84") (+ "+") (number_literal "-0x41292"))) (; ";")) (do_statement "do {\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            } while (bVar21);" (do "do") (compound_statement "{\n              if (iVar8 == 0) break;\n              iVar8 = iVar8 + -1;\n              bVar22 = *pbVar18 < *(byte *)ppuVar19;\n              bVar21 = *pbVar18 == *(byte *)ppuVar19;\n              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;\n              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);\n            }" ({ "{") (if_statement "if (iVar8 == 0) break;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + -1" (identifier "iVar8") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar22 = *pbVar18 < *(byte *)ppuVar19;" (assignment_expression "bVar22 = *pbVar18 < *(byte *)ppuVar19" (identifier "bVar22") (= "=") (binary_expression "*pbVar18 < *(byte *)ppuVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*(byte *)ppuVar19" (* "*") (cast_expression "(byte *)ppuVar19" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar19"))))) (; ";")) (expression_statement "bVar21 = *pbVar18 == *(byte *)ppuVar19;" (assignment_expression "bVar21 = *pbVar18 == *(byte *)ppuVar19" (identifier "bVar21") (= "=") (binary_expression "*pbVar18 == *(byte *)ppuVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*(byte *)ppuVar19" (* "*") (cast_expression "(byte *)ppuVar19" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppuVar19"))))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (uint)bVar24 * -2 + 1" (binary_expression "pbVar18 + (uint)bVar24 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar24")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);" (assignment_expression "ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1)" (identifier "ppuVar19") (= "=") (cast_expression "(undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar19 + (uint)bVar24 * -2 + 1)" (( "(") (binary_expression "(int)ppuVar19 + (uint)bVar24 * -2 + 1" (binary_expression "(int)ppuVar19 + (uint)bVar24 * -2" (cast_expression "(int)ppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar19")) (+ "+") (binary_expression "(uint)bVar24 * -2" (cast_expression "(uint)bVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar24")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar21)" (( "(") (identifier "bVar21") () ")")) (; ";")) (if_statement "if ((!bVar22 && !bVar21) != bVar22) {\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }" (if "if") (parenthesized_expression "((!bVar22 && !bVar21) != bVar22)" (( "(") (binary_expression "(!bVar22 && !bVar21) != bVar22" (parenthesized_expression "(!bVar22 && !bVar21)" (( "(") (binary_expression "!bVar22 && !bVar21" (unary_expression "!bVar22" (! "!") (identifier "bVar22")) (&& "&&") (unary_expression "!bVar21" (! "!") (identifier "bVar21"))) () ")")) (!= "!=") (identifier "bVar22")) () ")")) (compound_statement "{\n              bVar4 = 0;\n              goto LAB_001574ca;\n            }" ({ "{") (expression_statement "bVar4 = 0;" (assignment_expression "bVar4 = 0" (identifier "bVar4") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_001574ca;" (goto "goto") (statement_identifier "LAB_001574ca") (; ";")) (} "}"))) (} "}"))) (expression_statement "*(uint *)(puVar17 + -8) = local_50;" (assignment_expression "*(uint *)(puVar17 + -8) = local_50" (pointer_expression "*(uint *)(puVar17 + -8)" (* "*") (cast_expression "(uint *)(puVar17 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_50")) (; ";")) (expression_statement "*(int **)(puVar17 + -0xc) = param_1;" (assignment_expression "*(int **)(puVar17 + -0xc) = param_1" (pointer_expression "*(int **)(puVar17 + -0xc)" (* "*") (cast_expression "(int **)(puVar17 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = param_2;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = param_2" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1578cc;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1578cc" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1578cc")) (; ";")) (expression_statement "bVar4 = FUN_0009e8a0();" (assignment_expression "bVar4 = FUN_0009e8a0()" (identifier "bVar4") (= "=") (call_expression "FUN_0009e8a0()" (identifier "FUN_0009e8a0") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (labeled_statement "LAB_001574ca:\n        *(byte *)((int)local_54 + 0x1a) = bVar4;" (statement_identifier "LAB_001574ca") (: ":") (expression_statement "*(byte *)((int)local_54 + 0x1a) = bVar4;" (assignment_expression "*(byte *)((int)local_54 + 0x1a) = bVar4" (pointer_expression "*(byte *)((int)local_54 + 0x1a)" (* "*") (cast_expression "(byte *)((int)local_54 + 0x1a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_54 + 0x1a)" (( "(") (binary_expression "(int)local_54 + 0x1a" (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54")) (+ "+") (number_literal "0x1a")) () ")")))) (= "=") (identifier "bVar4")) (; ";"))) (goto_statement "goto LAB_001574d0;" (goto "goto") (statement_identifier "LAB_001574d0") (; ";")) (} "}"))) (if_statement "if ((uint)param_1[10] <= local_50) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }" (if "if") (parenthesized_expression "((uint)param_1[10] <= local_50)" (( "(") (binary_expression "(uint)param_1[10] <= local_50" (cast_expression "(uint)param_1[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (<= "<=") (identifier "local_50")) () ")")) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;\n        *(undefined4 *)(puVar17 + -0xc) = 0x549;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;\n        FUN_00069d00();\n      }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e04d" (identifier "local_84") (+ "+") (number_literal "-0x3e04d"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x549;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x549" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x549")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_84 + -0x10efe6" (cast_expression "(int)local_84" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_84")) (+ "+") (number_literal "-0x10efe6"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1579dc;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1579dc" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1579dc")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);" (assignment_expression "iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(*(int *)param_1[0x11] + local_50 * 4)" (* "*") (cast_expression "(int *)(*(int *)param_1[0x11] + local_50 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)param_1[0x11] + local_50 * 4)" (( "(") (binary_expression "*(int *)param_1[0x11] + local_50 * 4" (pointer_expression "*(int *)param_1[0x11]" (* "*") (cast_expression "(int *)param_1[0x11]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")))) (+ "+") (binary_expression "local_50 * 4" (identifier "local_50") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;\n        FUN_00069d00();\n      }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e0a3" (identifier "local_84") (+ "+") (number_literal "-0x3e0a3"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x2ce;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x2ce" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x2ce")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_84 + -0xf8bf9" (cast_expression "(int)local_84" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_84")) (+ "+") (number_literal "-0xf8bf9"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a7b;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a7b" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157a7b")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar2 = *(int *)(iVar2 + 0x10);" (assignment_expression "iVar2 = *(int *)(iVar2 + 0x10)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar2 + 0x10)" (* "*") (cast_expression "(int *)(iVar2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (iVar2 == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;\n        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;\n        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;\n        FUN_00069d00();\n      }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e0a3" (identifier "local_84") (+ "+") (number_literal "-0x3e0a3"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x2d0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x2d0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x2d0")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;" (assignment_expression "*(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_84 + -0xf8bf9" (cast_expression "(int)local_84" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_84")) (+ "+") (number_literal "-0xf8bf9"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a5d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a5d" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157a5d")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar4 = *(byte *)(iVar2 + 0x1c);" (assignment_expression "bVar4 = *(byte *)(iVar2 + 0x1c)" (identifier "bVar4") (= "=") (pointer_expression "*(byte *)(iVar2 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar2 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if ((bVar4 & 4) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }" (if "if") (parenthesized_expression "((bVar4 & 4) == 0)" (( "(") (binary_expression "(bVar4 & 4) == 0" (parenthesized_expression "(bVar4 & 4)" (( "(") (binary_expression "bVar4 & 4" (identifier "bVar4") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;\n        *(undefined4 *)(puVar17 + -0xc) = 0xe3;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;\n        FUN_00069d00();\n      }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e080" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e080" (identifier "local_84") (+ "+") (number_literal "-0x3e080"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xe3;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xe3" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xe3")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_84 + -0x41c55" (identifier "local_84") (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157b2c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157b2c" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157b2c")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar9 = *(uint *)(iVar2 + 0x14);" (assignment_expression "uVar9 = *(uint *)(iVar2 + 0x14)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x14)" (* "*") (cast_expression "(uint *)(iVar2 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x14)" (( "(") (binary_expression "iVar2 + 0x14" (identifier "iVar2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(uint *)(iVar2 + 0x18);" (assignment_expression "uVar12 = *(uint *)(iVar2 + 0x18)" (identifier "uVar12") (= "=") (pointer_expression "*(uint *)(iVar2 + 0x18)" (* "*") (cast_expression "(uint *)(iVar2 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x18)" (( "(") (binary_expression "iVar2 + 0x18" (identifier "iVar2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "local_54[3] = uVar9;" (assignment_expression "local_54[3] = uVar9" (subscript_expression "local_54[3]" (identifier "local_54") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "local_54[4] = uVar12;" (assignment_expression "local_54[4] = uVar12" (subscript_expression "local_54[4]" (identifier "local_54") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar12")) (; ";")) (if_statement "if ((bVar4 & 2) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }" (if "if") (parenthesized_expression "((bVar4 & 2) == 0)" (( "(") (binary_expression "(bVar4 & 2) == 0" (parenthesized_expression "(bVar4 & 2)" (( "(") (binary_expression "bVar4 & 2" (identifier "bVar4") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;\n        FUN_00069d00();\n      }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e083" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e083" (identifier "local_84") (+ "+") (number_literal "-0x3e083"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xcf;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xcf" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xcf")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_84 + -0x41c55" (identifier "local_84") (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157b0e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157b0e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157b0e")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar10 = *(uint *)(iVar2 + 0xc);" (assignment_expression "uVar10 = *(uint *)(iVar2 + 0xc)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)(iVar2 + 0xc)" (* "*") (cast_expression "(uint *)(iVar2 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc)" (( "(") (binary_expression "iVar2 + 0xc" (identifier "iVar2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "local_54[5] = uVar10;" (assignment_expression "local_54[5] = uVar10" (subscript_expression "local_54[5]" (identifier "local_54") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (if_statement "if ((int)uVar12 < 0) {\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }" (if "if") (parenthesized_expression "((int)uVar12 < 0)" (( "(") (binary_expression "(int)uVar12 < 0" (cast_expression "(int)uVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar12")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;\n        *(undefined4 *)(puVar17 + -0xc) = 0x6f;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;\n        FUN_00069d00();\n      }" ({ "{") (labeled_statement "LAB_00157ad5:\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;" (statement_identifier "LAB_00157ad5") (: ":") (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e091" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e091" (identifier "local_84") (+ "+") (number_literal "-0x3e091"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0x6f;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0x6f" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x6f")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_84 + -0x41c55" (identifier "local_84") (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157af0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157af0" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157af0")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_64 = uVar10 + uVar9;" (assignment_expression "local_64 = uVar10 + uVar9" (identifier "local_64") (= "=") (binary_expression "uVar10 + uVar9" (identifier "uVar10") (+ "+") (identifier "uVar9"))) (; ";")) (expression_statement "local_60 = uVar12 + CARRY4(uVar10,uVar9);" (assignment_expression "local_60 = uVar12 + CARRY4(uVar10,uVar9)" (identifier "local_60") (= "=") (binary_expression "uVar12 + CARRY4(uVar10,uVar9)" (identifier "uVar12") (+ "+") (call_expression "CARRY4(uVar10,uVar9)" (identifier "CARRY4") (argument_list "(uVar10,uVar9)" (( "(") (identifier "uVar10") (, ",") (identifier "uVar9") () ")"))))) (; ";")) (expression_statement "local_6c = *(uint *)(param_4 + 0xc);" (assignment_expression "local_6c = *(uint *)(param_4 + 0xc)" (identifier "local_6c") (= "=") (pointer_expression "*(uint *)(param_4 + 0xc)" (* "*") (cast_expression "(uint *)(param_4 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xc)" (( "(") (binary_expression "param_4 + 0xc" (identifier "param_4") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);" (assignment_expression "uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64)" (identifier "uVar12") (= "=") (call_expression "(uint)(*(uint *)(param_4 + 8) < local_64)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_4 + 8) < local_64)" (( "(") (binary_expression "*(uint *)(param_4 + 8) < local_64" (pointer_expression "*(uint *)(param_4 + 8)" (* "*") (cast_expression "(uint *)(param_4 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 8)" (( "(") (binary_expression "param_4 + 8" (identifier "param_4") (+ "+") (number_literal "8")) () ")")))) (< "<") (identifier "local_64")) () ")")))) (; ";")) (expression_statement "local_94 = uVar10;" (assignment_expression "local_94 = uVar10" (identifier "local_94") (= "=") (identifier "uVar10")) (; ";")) (if_statement "if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;" (if "if") (parenthesized_expression "((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0)" (( "(") (binary_expression "(SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=\n          (int)((local_6c - local_60) - uVar12) < 0" (parenthesized_expression "(SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12))" (( "(") (binary_expression "SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)" (call_expression "SBORROW4(local_6c,local_60)" (identifier "SBORROW4") (argument_list "(local_6c,local_60)" (( "(") (identifier "local_6c") (, ",") (identifier "local_60") () ")"))) (!= "!=") (call_expression "SBORROW4(local_6c - local_60,uVar12)" (identifier "SBORROW4") (argument_list "(local_6c - local_60,uVar12)" (( "(") (binary_expression "local_6c - local_60" (identifier "local_6c") (- "-") (identifier "local_60")) (, ",") (identifier "uVar12") () ")")))) () ")")) (!= "!=") (binary_expression "(int)((local_6c - local_60) - uVar12) < 0" (cast_expression "(int)((local_6c - local_60) - uVar12)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((local_6c - local_60) - uVar12)" (( "(") (binary_expression "(local_6c - local_60) - uVar12" (parenthesized_expression "(local_6c - local_60)" (( "(") (binary_expression "local_6c - local_60" (identifier "local_6c") (- "-") (identifier "local_60")) () ")")) (- "-") (identifier "uVar12")) () ")"))) (< "<") (number_literal "0"))) () ")")) (goto_statement "goto LAB_00157ad5;" (goto "goto") (statement_identifier "LAB_00157ad5") (; ";"))) (expression_statement "*local_54 = *(int *)(param_4 + 0x10) + uVar9;" (assignment_expression "*local_54 = *(int *)(param_4 + 0x10) + uVar9" (pointer_expression "*local_54" (* "*") (identifier "local_54")) (= "=") (binary_expression "*(int *)(param_4 + 0x10) + uVar9" (pointer_expression "*(int *)(param_4 + 0x10)" (* "*") (cast_expression "(int *)(param_4 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x10)" (( "(") (binary_expression "param_4 + 0x10" (identifier "param_4") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (identifier "uVar9"))) (; ";")) (if_statement "if ((bVar4 & 1) == 0) {\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }" (if "if") (parenthesized_expression "((bVar4 & 1) == 0)" (( "(") (binary_expression "(bVar4 & 1) == 0" (parenthesized_expression "(bVar4 & 1)" (( "(") (binary_expression "bVar4 & 1" (identifier "bVar4") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;\n        *(undefined4 *)(puVar17 + -0xc) = 0xc5;\n        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;\n        FUN_00069d00();\n      }" ({ "{") (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e093" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e093" (identifier "local_84") (+ "+") (number_literal "-0x3e093"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_84 + -0x41c55" (identifier "local_84") (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157ad5;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157ad5" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157ad5")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar9 = *(uint *)(iVar2 + 4);" (assignment_expression "uVar9 = *(uint *)(iVar2 + 4)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(iVar2 + 4)" (* "*") (cast_expression "(uint *)(iVar2 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "local_50 = local_50 + 1;" (assignment_expression "local_50 = local_50 + 1" (identifier "local_50") (= "=") (binary_expression "local_50 + 1" (identifier "local_50") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_54[2] = *(uint *)(iVar2 + 8);" (assignment_expression "local_54[2] = *(uint *)(iVar2 + 8)" (subscript_expression "local_54[2]" (identifier "local_54") ([ "[") (number_literal "2") (] "]")) (= "=") (pointer_expression "*(uint *)(iVar2 + 8)" (* "*") (cast_expression "(uint *)(iVar2 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "local_54[1] = uVar9;" (assignment_expression "local_54[1] = uVar9" (subscript_expression "local_54[1]" (identifier "local_54") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined2 *)(local_54 + 6) = 0;" (assignment_expression "*(undefined2 *)(local_54 + 6) = 0" (pointer_expression "*(undefined2 *)(local_54 + 6)" (* "*") (cast_expression "(undefined2 *)(local_54 + 6)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_54 + 6)" (( "(") (binary_expression "local_54 + 6" (identifier "local_54") (+ "+") (number_literal "6")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((int)local_54 + 0x1a) = 0;" (assignment_expression "*(undefined1 *)((int)local_54 + 0x1a) = 0" (pointer_expression "*(undefined1 *)((int)local_54 + 0x1a)" (* "*") (cast_expression "(undefined1 *)((int)local_54 + 0x1a)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_54 + 0x1a)" (( "(") (binary_expression "(int)local_54 + 0x1a" (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54")) (+ "+") (number_literal "0x1a")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = local_58 + 0x40;" (assignment_expression "local_58 = local_58 + 0x40" (identifier "local_58") (= "=") (binary_expression "local_58 + 0x40" (identifier "local_58") (+ "+") (number_literal "0x40"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_50 != local_70)" (( "(") (binary_expression "local_50 != local_70" (identifier "local_50") (!= "!=") (identifier "local_70")) () ")")) (; ";")) (labeled_statement "LAB_001574e4:\n    iVar8 = local_3c;" (statement_identifier "LAB_001574e4") (: ":") (expression_statement "iVar8 = local_3c;" (assignment_expression "iVar8 = local_3c" (identifier "iVar8") (= "=") (identifier "local_3c")) (; ";"))) (expression_statement "iVar2 = local_40;" (assignment_expression "iVar2 = local_40" (identifier "iVar2") (= "=") (identifier "local_40")) (; ";")) (if_statement "if (local_3c != local_40) {\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }" (if "if") (parenthesized_expression "(local_3c != local_40)" (( "(") (binary_expression "local_3c != local_40" (identifier "local_3c") (!= "!=") (identifier "local_40")) () ")")) (compound_statement "{\n      if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }\n      iVar2 = param_1[7];\n      if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }\n      *(int **)(puVar17 + -4) = &local_40;\n      *(int *)(puVar17 + -8) = param_1[9];\n      *(int *)(puVar17 + -0xc) = param_1[8];\n      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157522;\n      FUN_00067070();\n    }" ({ "{") (if_statement "if (local_9d == '\0') {\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }" (if "if") (parenthesized_expression "(local_9d == '\0')" (( "(") (binary_expression "local_9d == '\0'" (identifier "local_9d") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar17 + -4) = 0;\n        uVar12 = iVar8 - iVar2 >> 4;\n        uVar9 = 0x1f;\n        if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }\n        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;\n        *(int *)(puVar17 + -0xc) = iVar8;\n        *(int *)(puVar17 + -0x10) = iVar2;\n        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;\n        FUN_00156f90();\n        if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -4) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar12 = iVar8 - iVar2 >> 4;" (assignment_expression "uVar12 = iVar8 - iVar2 >> 4" (identifier "uVar12") (= "=") (binary_expression "iVar8 - iVar2 >> 4" (binary_expression "iVar8 - iVar2" (identifier "iVar8") (- "-") (identifier "iVar2")) (>> ">>") (number_literal "4"))) (; ";")) (expression_statement "uVar9 = 0x1f;" (assignment_expression "uVar9 = 0x1f" (identifier "uVar9") (= "=") (number_literal "0x1f")) (; ";")) (if_statement "if (uVar12 != 0) {\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }" (if "if") (parenthesized_expression "(uVar12 != 0)" (( "(") (binary_expression "uVar12 != 0" (identifier "uVar12") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }\n        }" ({ "{") (for_statement "for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {\n          }" (for "for") (( "(") (; ";") (binary_expression "uVar12 >> uVar9 == 0" (binary_expression "uVar12 >> uVar9" (identifier "uVar12") (>> ">>") (identifier "uVar9")) (== "==") (number_literal "0")) (; ";") (assignment_expression "uVar9 = uVar9 - 1" (identifier "uVar9") (= "=") (binary_expression "uVar9 - 1" (identifier "uVar9") (- "-") (number_literal "1"))) () ")") (compound_statement "{\n          }" ({ "{") (} "}"))) (} "}"))) (expression_statement "*(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;" (assignment_expression "*(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2" (pointer_expression "*(uint *)(puVar17 + -8)" (* "*") (cast_expression "(uint *)(puVar17 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "(0x1f - (uVar9 ^ 0x1f)) * 2" (parenthesized_expression "(0x1f - (uVar9 ^ 0x1f))" (( "(") (binary_expression "0x1f - (uVar9 ^ 0x1f)" (number_literal "0x1f") (- "-") (parenthesized_expression "(uVar9 ^ 0x1f)" (( "(") (binary_expression "uVar9 ^ 0x1f" (identifier "uVar9") (^ "^") (number_literal "0x1f")) () ")"))) () ")")) (* "*") (number_literal "2"))) (; ";")) (expression_statement "*(int *)(puVar17 + -0xc) = iVar8;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar8" (pointer_expression "*(int *)(puVar17 + -0xc)" (* "*") (cast_expression "(int *)(puVar17 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = iVar2;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar2" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar2")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x1578f6;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x1578f6" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1578f6")) (; ";")) (expression_statement "FUN_00156f90();" (call_expression "FUN_00156f90()" (identifier "FUN_00156f90") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (iVar8 - iVar2 < 0x101) {\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }\n        else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }" (if "if") (parenthesized_expression "(iVar8 - iVar2 < 0x101)" (( "(") (binary_expression "iVar8 - iVar2 < 0x101" (binary_expression "iVar8 - iVar2" (identifier "iVar8") (- "-") (identifier "iVar2")) (< "<") (number_literal "0x101")) () ")")) (compound_statement "{\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar8;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157944;\n          FUN_00156d20();\n        }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar17 + -0xc) = iVar8;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar8" (pointer_expression "*(int *)(puVar17 + -0xc)" (* "*") (cast_expression "(int *)(puVar17 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = iVar2;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar2" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar2")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157944;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157944" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157944")) (; ";")) (expression_statement "FUN_00156d20();" (call_expression "FUN_00156d20()" (identifier "FUN_00156d20") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }" (else "else") (compound_statement "{\n          iVar20 = iVar2 + 0x100;\n          *(undefined4 *)(puVar17 + -8) = 0;\n          *(int *)(puVar17 + -0xc) = iVar20;\n          *(int *)(puVar17 + -0x10) = iVar2;\n          *(undefined4 *)(puVar17 + -0x14) = 0x157913;\n          FUN_00156d20();\n          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }\n        }" ({ "{") (expression_statement "iVar20 = iVar2 + 0x100;" (assignment_expression "iVar20 = iVar2 + 0x100" (identifier "iVar20") (= "=") (binary_expression "iVar2 + 0x100" (identifier "iVar2") (+ "+") (number_literal "0x100"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -8) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar17 + -0xc) = iVar20;" (assignment_expression "*(int *)(puVar17 + -0xc) = iVar20" (pointer_expression "*(int *)(puVar17 + -0xc)" (* "*") (cast_expression "(int *)(puVar17 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar20")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = iVar2;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar2" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar2")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157913;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157913" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157913")) (; ";")) (expression_statement "FUN_00156d20();" (call_expression "FUN_00156d20()" (identifier "FUN_00156d20") (argument_list "()" (( "(") () ")"))) (; ";")) (for_statement "for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }" (for "for") (( "(") (; ";") (binary_expression "iVar8 != iVar20" (identifier "iVar8") (!= "!=") (identifier "iVar20")) (; ";") (assignment_expression "iVar20 = iVar20 + 0x10" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 0x10" (identifier "iVar20") (+ "+") (number_literal "0x10"))) () ")") (compound_statement "{\n            *(undefined4 *)(puVar17 + -0xc) = 0;\n            *(int *)(puVar17 + -0x10) = iVar20;\n            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;\n            FUN_00156ca0();\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = iVar20;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar20" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar20")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x15792c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x15792c" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x15792c")) (; ";")) (expression_statement "FUN_00156ca0();" (call_expression "FUN_00156ca0()" (identifier "FUN_00156ca0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (expression_statement "iVar2 = param_1[7];" (assignment_expression "iVar2 = param_1[7]" (identifier "iVar2") (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if (iVar2 == 0) {\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar17 + -4) = 0x1579e1;\n        FUN_00146790();\nLAB_001579e8:\n        ppuVar19 = local_84;\n        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;\n        *(undefined4 *)(puVar17 + -0xc) = 0xcf;\n        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;\n                    \n        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;\n        FUN_00069d00();\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -4) = 0x1579e1;" (assignment_expression "*(undefined4 *)(puVar17 + -4) = 0x1579e1" (pointer_expression "*(undefined4 *)(puVar17 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1579e1")) (; ";")) (expression_statement "FUN_00146790();" (call_expression "FUN_00146790()" (identifier "FUN_00146790") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_001579e8:\n        ppuVar19 = local_84;" (statement_identifier "LAB_001579e8") (: ":") (expression_statement "ppuVar19 = local_84;" (assignment_expression "ppuVar19 = local_84" (identifier "ppuVar19") (= "=") (identifier "local_84")) (; ";"))) (expression_statement "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;" (assignment_expression "*(undefined ***)(puVar17 + -8) = local_84 + -0x3e083" (pointer_expression "*(undefined ***)(puVar17 + -8)" (* "*") (cast_expression "(undefined ***)(puVar17 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_84 + -0x3e083" (identifier "local_84") (+ "+") (number_literal "-0x3e083"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0xcf;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0xcf" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xcf")) (; ";")) (expression_statement "*(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;" (assignment_expression "*(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55" (pointer_expression "*(undefined ***)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined ***)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppuVar19 + -0x41c55" (identifier "ppuVar19") (+ "+") (number_literal "-0x41c55"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157a06;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157a06" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157a06")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(int **)(puVar17 + -4) = &local_40;" (assignment_expression "*(int **)(puVar17 + -4) = &local_40" (pointer_expression "*(int **)(puVar17 + -4)" (* "*") (cast_expression "(int **)(puVar17 + -4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (expression_statement "*(int *)(puVar17 + -8) = param_1[9];" (assignment_expression "*(int *)(puVar17 + -8) = param_1[9]" (pointer_expression "*(int *)(puVar17 + -8)" (* "*") (cast_expression "(int *)(puVar17 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar17 + -0xc) = param_1[8];" (assignment_expression "*(int *)(puVar17 + -0xc) = param_1[8]" (pointer_expression "*(int *)(puVar17 + -0xc)" (* "*") (cast_expression "(int *)(puVar17 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = iVar2 + 0x1c;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar2 + 0x1c" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157522;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157522" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157522")) (; ";")) (expression_statement "FUN_00067070();" (call_expression "FUN_00067070()" (identifier "FUN_00067070") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_40 != 0) {\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }" (if "if") (parenthesized_expression "(local_40 != 0)" (( "(") (binary_expression "local_40 != 0" (identifier "local_40") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(int *)(puVar17 + -0x10) = local_40;\n      *(undefined4 *)(puVar17 + -0x14) = 0x157538;\n      FUN_001e6db0();\n    }" ({ "{") (expression_statement "*(int *)(puVar17 + -0x10) = local_40;" (assignment_expression "*(int *)(puVar17 + -0x10) = local_40" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_40")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x157538;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x157538" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x157538")) (; ";")) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" (identifier "FUN_001e6db0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void write_sections(Sized_relobj_file<64,_true> * this, Layout *
   layout, uchar * pshdrs, Output_file * of, Views * pviews) */

void __thiscall
var_10::var_6<64,var_7>::write_sections
          (var_6<64,var_7> *this,type_24 *layout,type_12 *var_3,Output_file *of,
          Views *pviews)

{
  type_21 *var_36;
  type_1 *pp_Var2;
  int *piVar3;
  type_2 var_23;
  type_3 var_18;
  type_4 *var_12;
  type_5 *var_33;
  type_1 var_35;
  type_6 *var_61;
  type_7 *var_54;
  type_8 *var_55;
  type_9 **pp_Var12;
  type_9 *p_Var13;
  uint64_t uVar14;
  type_2 var_58;
  type_2 var_59;
  type_10 *******var_37;
  type_11 *var_15;
  type_12 *puVar19;
  type_10 uVar20;
  int var_32;
  type_13 var_14;
  type_1 p_Var23;
  type_1 p_Var24;
  int var_39;
  type_13 var_45;
  type_3 var_20;
  char cVar28;
  int var_30;
  type_14 *var_47;
  type_14 *puVar31;
  type_10 *var_64;
  type_3 *var_50;
  type_15 **var_48;
  type_2 var_60;
  bool var_49;
  bool var_51;
  bool bVar38;
  type_3 bVar39;
  type_16 auStack_d0 [6];
  type_17 a_Stack_b8 [2];
  type_13 uStack_b0;
  type_14 auStack_ac [15];
  char var_56;
  type_10 ******local_9c;
  type_10 local_98;
  type_13 local_94;
  type_10 local_90;
  type_10 ******local_8c;
  type_10 local_88;
  type_15 **var_16;
  type_13 var_34;
  type_13 var_26;
  type_10 ******var_38;
  type_18 **local_74;
  type_17 var_5;
  type_13 var_25;
  type_13 var_24;
  type_13 var_27;
  int var_28;
  type_12 *local_5c;
  type_12 *var_13;
  type_2 local_54;
  type_17 var_9;
  type_19 len;
  type_20 rm;
  type_10 ******local_34;
  type_13 var_46;
  type_10 ******local_2c;
  type_12 *local_28;
  
  bVar39 = 0;
  var_64 = (type_10 *)auStack_ac;
  var_16 = &_GLOBAL_OFFSET_TABLE_;
  rm.
  super__Vector_base<var_10::File_read::var_1,var_11::var_21<var_10::File_read::var_1>var_2>
  ._M_impl._M_start = (type_2)0x0;
  var_5 = (this->super_Sized_relobj<64,var_7>).super_Relobj.super_Object.shnum_;
  rm.
  super__Vector_base<var_10::File_read::var_1,var_11::var_21<var_10::File_read::var_1>var_2>
  ._M_impl._M_finish = (type_2)0x0;
  rm.
  super__Vector_base<var_10::File_read::var_1,var_11::var_21<var_10::File_read::var_1>var_2>
  ._M_impl._M_end_of_storage = (type_2)0x0;
  var_13 = var_3 + 0x40;
  if (var_4 < var_5) {
    var_9 = var_4;
    var_56 = '\x01';
    local_74 = &parameters;
    do {
      while( true ) {
        local_54 = (pviews->
                   super__Vector_base<var_10::var_6<64,var_7>::var_8,var_11::var_21<var_10::var_6<64,var_7>::var_8>var_2>
                   )._M_impl._M_start + var_9;
        local_54->view = (type_12 *)0x0;
        var_12 = (this->super_Sized_relobj<64,var_7>).super_Relobj.output_sections_.
                 super__Vector_base<var_10::type_4*,var_11::var_21<var_10::type_4*>var_2>.
                 _M_impl._M_start[var_9];
        if (var_12 != (type_4 *)0x0) break;
LAB_001574d0:
        var_9 = var_9 + var_4;
        var_13 = var_13 + 0x40;
        if (var_9 == var_5) goto LAB_001574e4;
      }
      var_14 = *(type_13 *)(var_13 + 4);
      var_14 = var_14 >> 0x18 | (var_14 & 0xff0000) >> 8 | (var_14 & 0xff00) << 8 | var_14 << 0x18;
      if (var_14 == 8) goto LAB_001574d0;
      var_15 = (*local_74)->options_;
      if (var_15 == (type_11 *)0x0) {
        *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e00a;
        *(type_10 *)((int)var_64 + -0xc) = 0x5c;
        *(type_15 ***)((int)var_64 + -0x10) = var_16 + -0x41f7c;
                    /* WARNING: Subroutine does not return */
        *(type_10 *)((int)var_64 + -0x14) = 0x1579a3;
        var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                            *(char **)((int)var_64 + -8));
      }
      if (((((var_15->relocatable_).value == false) && ((var_15->emit_relocs_).value == false)) ||
          ((var_14 != 4 && (var_14 != 9)))) || ((*(type_13 *)(var_13 + 0xc) >> 0x18 & 2) != 0)) {
        var_18 = var_12->field_0x90;
        var_20 = var_18 >> 5;
        local_5c = (type_12 *)(var_19(local_5c._1_3_,var_20) & 0xffffff01);
        if ((var_20 & 1) == 0) {
          var_20 = (var_12->super_Output_data).field_0x1c;
          if ((var_20 & 4) == 0) {
            *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e080;
            *(type_10 *)((int)var_64 + -0xc) = 0xe3;
            *(type_15 ***)((int)var_64 + -0x10) = var_16 + -0x41c55;
                    /* WARNING: Subroutine does not return */
            *(type_10 *)((int)var_64 + -0x14) = 0x157a99;
            var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                                *(char **)((int)var_64 + -8));
          }
          var_27 = (type_13)(var_12->super_Output_data).offset_;
          var_28 = *(int *)((int)&(var_12->super_Output_data).offset_ + 4);
          if ((var_20 & 2) == 0) goto LAB_001579e8;
          var_38 = *(type_10 ********)&(var_12->super_Output_data).data_size_;
          var_26 = *(type_13 *)((int)&(var_12->super_Output_data).data_size_ + 4);
        }
        else {
          var_27 = 0;
          var_28 = 0;
          var_38 = *(type_10 ********)&(var_12->super_Output_data).data_size_;
          var_26 = *(type_13 *)((int)&(var_12->super_Output_data).data_size_ + 4);
        }
        var_23 = (this->super_Sized_relobj<64,var_7>).section_offsets_.
                 super__Vector_base<var_22,var_11::var_21<var_22>var_2>
                 ._M_impl._M_start + var_9;
        var_25 = (type_13)*var_23;
        var_24 = *(type_13 *)((int)var_23 + 4);
        if ((var_24 & var_25) == 0xffffffff) {
          local_88 = 0;
          local_8c = var_38;
          if (var_26 != 0) {
            *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e09f;
            *(type_10 *)((int)var_64 + -0xc) = 0xc0;
            *(int *)((int)var_64 + -0x10) = (int)var_16 + -0x107be7;
                    /* WARNING: Subroutine does not return */
            *(type_10 *)((int)var_64 + -0x14) = 0x157a3f;
            var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                                *(char **)((int)var_64 + -8));
          }
          if ((type_10 *******)var_38 == (type_10 *******)0x0) goto LAB_001574d0;
          var_37 = (type_10 *******)var_38;
          if ((char)local_5c != '\0') {
            if (var_12->postprocessing_buffer_ == (type_12 *)0x0) goto LAB_00157b2c;
            local_54->view = var_12->postprocessing_buffer_ + var_27;
            if (((var_12->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;
            uVar14 = (var_12->super_Output_data).address_;
            *(type_10 *)((int)&local_54->address + 4) =
                 *(type_10 *)((int)&(var_12->super_Output_data).address_ + 4);
            *(int *)&local_54->address = (int)uVar14;
            var_14 = var_19(local_5c._1_3_,var_18 >> 5);
            var_15 = (*local_74)->options_;
            goto LAB_0015747d;
          }
          if (var_28 < 0) {
LAB_00157a06:
            *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e091;
            *(type_10 *)((int)var_64 + -0xc) = 0x6f;
            *(type_15 ***)((int)var_64 + -0x10) = var_16 + -0x41c55;
                    /* WARNING: Subroutine does not return */
            *(type_10 *)((int)var_64 + -0x14) = 0x157a21;
            var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                                *(char **)((int)var_64 + -8));
          }
          var_25 = *(type_13 *)((int)&of->file_size_ + 4);
          var_30 = var_28 + (type_13)var_29((type_13)var_38,var_27);
          var_14 = (type_13)(*(type_14 **)&of->file_size_ < (type_14 *)((int)var_38 + var_27)
                         );
          var_32 = var_25 - var_30;
          if ((var_31(var_25,var_30) != var_31(var_32,var_14)) != (int)(var_32 - var_14) < 0)
          goto LAB_00157a06;
          local_54->view = of->base_ + var_27;
          if (((var_12->super_Output_data).field_0x1c & 1) == 0) goto LAB_0015794c;
          uVar20 = *(type_10 *)((int)&(var_12->super_Output_data).address_ + 4);
          *(int *)&local_54->address = (int)(var_12->super_Output_data).address_;
          *(type_10 *)((int)&local_54->address + 4) = uVar20;
          *(int *)((int)&local_54->offset + 4) = var_28;
          *(type_13 *)&local_54->offset = var_27;
          local_54->view_size = (type_19)var_38;
          local_54->is_input_output_view = true;
          local_54->is_postprocessing_view = false;
        }
        else {
          var_14 = *(type_13 *)(var_13 + 0x24);
          var_37 =
               (type_10 *******)
               (var_14 >> 0x18 | (var_14 & 0xff0000) >> 8 | (var_14 & 0xff00) << 8 | var_14 << 0x18)
          ;
          if (*(int *)(var_13 + 0x20) != 0) {
            *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e09f;
            *(type_10 *)((int)var_64 + -0xc) = 0xc0;
            *(int *)((int)var_64 + -0x10) = (int)var_16 + -0x107be7;
                    /* WARNING: Subroutine does not return */
            *(type_10 *)((int)var_64 + -0x14) = 0x157988;
            var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                                *(char **)((int)var_64 + -8));
          }
          var_33 = (this->super_Sized_relobj<64,var_7>).super_Relobj.super_Object.
                   compressed_sections_;
          if (var_33 == (type_5 *)0x0) {
LAB_001577e0:
            var_34 = var_34 & 0xffffff00;
          }
          else {
            var_36 = &(var_33->_M_t)._M_impl.super__Rb_tree_header;
            var_35 = (var_33->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;
            p_Var23 = &var_36->_M_header;
            if (var_35 == (type_1)0x0) goto LAB_001577e0;
            do {
              while (p_Var24 = var_35, p_Var24[1]._M_color < var_9) {
                pp_Var2 = &p_Var24->_M_right;
                var_35 = *pp_Var2;
                p_Var24 = p_Var23;
                if (*pp_Var2 == (type_1)0x0) goto LAB_00157368;
              }
              var_35 = p_Var24->_M_left;
              p_Var23 = p_Var24;
            } while (p_Var24->_M_left != (type_1)0x0);
LAB_00157368:
            var_34 = (type_13)var_36 & 0xffffff00;
            if ((var_36 != (type_21 *)p_Var24) &&
               (((type_21 *)p_Var24)->_M_node_count <= var_9)) {
              var_34 = var_19((int3)((type_13)var_36 >> 8),1);
              var_37 = *(type_10 ********)((int)p_Var24 + 0x14);
            }
          }
          if (var_37 == (type_10 *******)0x0) goto LAB_001574d0;
          local_9c = var_37;
          local_98 = 0;
          var_14 = var_24 + var_29(var_25,(type_13)var_37);
          if (var_26 < var_14 ||
              var_26 - var_14 <
              (type_13)(var_38 < (type_10 *******)(var_25 + (int)var_37))) {
            *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e0a3;
            *(type_10 *)((int)var_64 + -0xc) = 0x317;
            *(int *)((int)var_64 + -0x10) = (int)var_16 + -0xf8bf9;
                    /* WARNING: Subroutine does not return */
            *(type_10 *)((int)var_64 + -0x14) = 0x157ab7;
            var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                                *(char **)((int)var_64 + -8));
          }
          var_49 = var_29(var_27,var_25);
          var_27 = var_27 + var_25;
          var_28 = var_28 + var_24 + (type_13)var_49;
          if ((char)local_5c == '\0') {
            if ((var_28 < 0) ||
               (var_39 = var_28 + (type_13)var_29((type_13)var_37,var_27),
               var_32 = *(int *)((int)&of->file_size_ + 4),
               var_14 = (type_13)(*(type_14 **)&of->file_size_ <
                              (type_14 *)((int)var_37 + var_27)),
               var_30 = var_32 - var_39,
               (var_31(var_32,var_39) != var_31(var_30,var_14)) != (int)(var_30 - var_14) < 0))
            {
              *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e091;
              *(type_10 *)((int)var_64 + -0xc) = 0x6f;
              *(type_15 ***)((int)var_64 + -0x10) = var_16 + -0x41c55;
                    /* WARNING: Subroutine does not return */
              *(type_14 **)((int)var_64 + -0x14) = &LAB_00157b65;
              var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                                  *(char **)((int)var_64 + -8));
            }
            local_5c = of->base_ + var_27;
            if ((char)var_34 == '\0') goto LAB_001573e9;
LAB_0015772f:
            *(type_10 *)((int)var_64 + -4) = 0;
            *(type_19 **)((int)var_64 + -8) = &len;
            *(type_17 *)((int)var_64 + -0xc) = var_9;
            *(var_6<64,var_7> **var_53)((int)var_64 + -0x10) = this;
            *(type_10 *)((int)var_64 + -0x14) = 0x157743;
            puVar19 = type_22::var_40
                                (*(type_22 **)((int)var_64 + -0x10),*(type_13 *)((int)var_64 + -0xc),
                                 *(type_19 **)((int)var_64 + -8),
                                 *(bool *)((int)var_64 + -4));
            var_38 = *(type_10 *******)(var_13 + 8);
            var_14 = *(type_13 *)(var_13 + 0xc);
            *(type_13 *)((int)var_64 + -4) =
                 (type_13)var_38 >> 0x18 | ((type_13)var_38 & 0xff0000) >> 8 |
                 ((type_13)var_38 & 0xff00) << 8 | (int)var_38 << 0x18;
            *(type_13 *)((int)var_64 + -8) =
                 var_14 >> 0x18 | (var_14 & 0xff0000) >> 8 | (var_14 & 0xff00) << 8 | var_14 << 0x18
            ;
            *(type_10 *)((int)var_64 + -0xc) = 1;
            *(type_10 *)((int)var_64 + -0x10) = 0x40;
            *(type_10 ********)((int)var_64 + -0x14) = var_37;
            *(type_12 **)((int)var_64 + -0x18) = local_5c;
            *(type_19 *)((int)var_64 + -0x1c) = len;
            *(type_12 **)((int)var_64 + -0x20) = puVar19;
            *(type_10 *)((int)var_64 + -0x24) = 0x157773;
            var_49 = var_41
                               (*(type_12 **)((int)var_64 + -0x20),*(type_16 *)((int)var_64 + -0x1c),
                                *(type_12 **)((int)var_64 + -0x18),*(type_16 *)((int)var_64 + -0x14),
                                *(int *)((int)var_64 + -0x10),*(bool *)((int)var_64 + -0xc),
                                *(type_23 *)((int)var_64 + -8));
            puVar31 = (type_14 *)var_64;
            if (!var_49) {
              pp_Var12 = (this->super_Sized_relobj<64,var_7>).super_Relobj.super_Object._vptr_Object
              ;
              *(type_17 *)((int)var_64 + -8) = var_9;
              *(var_6<64,var_7> **var_53)((int)var_64 + -0xc) = this;
              *(type_10 ********)((int)var_64 + -0x10) = &local_34;
              p_Var13 = pp_Var12[0x10];
              *(type_10 *)((int)var_64 + -0x14) = 0x157793;
              (*p_Var13)();
              var_38 = local_34;
              *(type_15 ***)((int)var_64 + -0x14) = var_16 + -0x40ba2;
              *(type_10 *)((int)var_64 + -0x18) = 0x1577a8;
              uVar20 = var_42();
              *(type_10 *******)((int)var_64 + -0xc) = var_38;
              *(type_10 *)((int)var_64 + -0x10) = uVar20;
              *(var_6<64,var_7> **var_53)((int)var_64 + -0x14) = this;
                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */
              *(type_10 *)((int)var_64 + -0x18) = 0x1577bb;
              Object::var_43(*(type_22 **)((int)var_64 + -0x14),*(char **)((int)var_64 + -0x10));
              puVar31 = (type_14 *)((int)var_64 + -4);
              if ((type_10 *******)local_34 == &local_2c) goto LAB_0015743e;
              var_47 = (type_14 *)((int)var_64 + -0x14);
              *(type_10 *******)((int)var_64 + -0x14) = local_34;
              *(type_10 *)((int)var_64 + -0x18) = 0x1577d8;
              var_44(*(void **)((int)var_64 + -0x14));
              goto LAB_0015743b;
            }
          }
          else {
            if (var_12->postprocessing_buffer_ == (type_12 *)0x0) {
LAB_00157b2c:
              *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e08d;
              *(type_10 *)((int)var_64 + -0xc) = 0xe34;
              *(type_15 ***)((int)var_64 + -0x10) = var_16 + -0x41c55;
                    /* WARNING: Subroutine does not return */
              *(type_10 *)((int)var_64 + -0x14) = 0x157b4a;
              var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                                  *(char **)((int)var_64 + -8));
            }
            local_5c = var_12->postprocessing_buffer_ + var_27;
            if ((char)var_34 != '\0') goto LAB_0015772f;
LAB_001573e9:
            var_14 = *(type_13 *)(var_13 + 0x18);
            var_45 = *(type_13 *)(var_13 + 0x1c);
            var_46 = var_14 >> 0x18 | (var_14 & 0xff0000) >> 8 | (var_14 & 0xff00) << 8 |
                       var_14 << 0x18;
            var_38 = (type_10 ******)
                       (var_45 >> 0x18 | (var_45 & 0xff0000) >> 8 | (var_45 & 0xff00) << 8 |
                       var_45 << 0x18);
            if (rm.
                super__Vector_base<var_10::type_26::var_1,var_11::var_21<var_10::type_26::var_1>var_2>
                ._M_impl._M_finish !=
                rm.
                super__Vector_base<var_10::type_26::var_1,var_11::var_21<var_10::type_26::var_1>var_2>
                ._M_impl._M_start) {
              piVar3 = (int *)((int)&rm.
                                     super__Vector_base<var_10::type_26::var_1,var_11::var_21<var_10::type_26::var_1>var_2>
                                     ._M_impl._M_finish[-1].file_offset + 4);
              var_14 = (type_13)(var_38 <
                             *(type_10 ********)
                              &rm.
                               super__Vector_base<var_10::type_26::var_1,var_11::var_21<var_10::type_26::var_1>var_2>
                               ._M_impl._M_finish[-1].file_offset);
              var_32 = var_46 - *piVar3;
              cVar28 = (char)var_34;
              if ((var_31(var_46,*piVar3) != var_31(var_32,var_14)) ==
                  (int)(var_32 - var_14) < 0) {
                cVar28 = var_56;
              }
              var_56 = cVar28;
            }
            local_2c = var_37;
            local_28 = local_5c;
            *(type_10 ********)((int)var_64 + -0xc) = &local_34;
            var_47 = (type_14 *)((int)var_64 + -0x10);
            *(type_20 **)((int)var_64 + -0x10) = &rm;
            local_34 = var_38;
                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */
            *(type_10 *)((int)var_64 + -0x14) = 0x15743b;
            std::
            vector<var_10::File_read::var_1,var_11::var_21<var_10::File_read::var_1>var_2>
            ::emplace_back<var_10::File_read::var_1>
                      (*(vector<var_10::File_read::var_1,var_11::var_21<var_10::File_read::var_1>var_2>
                         **)((int)var_64 + -0x10),*(var_1 **)((int)var_64 + -0xc));
LAB_0015743b:
            puVar31 = var_47 + 0x10;
          }
LAB_0015743e:
          local_54->view = local_5c;
          var_64 = (type_10 *)puVar31;
          if (((var_12->super_Output_data).field_0x1c & 1) == 0) {
LAB_0015794c:
            var_48 = var_16;
            *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e093;
            *(type_10 *)((int)var_64 + -0xc) = 0xc5;
            *(type_15 ***)((int)var_64 + -0x10) = var_48 + -0x41c55;
                    /* WARNING: Subroutine does not return */
            *(type_10 *)((int)var_64 + -0x14) = 0x15796a;
            var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                                *(char **)((int)var_64 + -8));
          }
          var_45 = (type_13)(var_12->super_Output_data).address_;
          var_32 = *(int *)((int)&(var_12->super_Output_data).address_ + 4);
          var_15 = (*local_74)->options_;
          var_14 = var_19(local_5c._1_3_,(type_3)var_12->field_0x90 >> 5);
          *(type_13 *)&local_54->address = var_45 + var_25;
          *(type_13 *)((int)&local_54->address + 4) = var_32 + var_24 + (type_13)var_29(var_45,var_25)
          ;
LAB_0015747d:
          local_5c = (type_12 *)(var_14 & 0xffffff01);
          *(type_13 *)&local_54->offset = var_27;
          *(int *)((int)&local_54->offset + 4) = var_28;
          local_54->view_size = (type_19)var_37;
          local_54->is_input_output_view = (var_25 & var_24) == 0xffffffff;
          local_54->is_postprocessing_view = (bool)(char)local_5c;
          if (var_15 == (type_11 *)0x0) {
            *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e00a;
            *(type_10 *)((int)var_64 + -0xc) = 0x5c;
            *(type_15 ***)((int)var_64 + -0x10) = var_16 + -0x41f7c;
                    /* WARNING: Subroutine does not return */
            *(type_10 *)((int)var_64 + -0x14) = 0x1579be;
            var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                                *(char **)((int)var_64 + -8));
          }
        }
        var_51 = false;
        var_49 = (bool)(((var_15->relocatable_).value ^ 1U) & &DAT_00000008 < var_37);
        bVar38 = var_49 == false;
        if (!bVar38) {
          var_32 = 0xc;
          var_50 = (type_3 *)var_12->name_;
          var_48 = var_16 + -0x41295;
          do {
            if (var_32 == 0) break;
            var_32 = var_32 + -1;
            var_51 = *var_50 < *(type_3 *)var_48;
            bVar38 = *var_50 == *(type_3 *)var_48;
            var_50 = var_50 + (type_13)bVar39 * -2 + 1;
            var_48 = (type_15 **)((int)var_48 + (type_13)bVar39 * -2 + 1);
          } while (bVar38);
          var_49 = false;
          var_51 = (!var_51 && !bVar38) == var_51;
          if (!var_51) {
            var_32 = 0xc;
            var_50 = (type_3 *)var_12->name_;
            var_48 = var_16 + -0x41292;
            do {
              if (var_32 == 0) break;
              var_32 = var_32 + -1;
              var_49 = *var_50 < *(type_3 *)var_48;
              var_51 = *var_50 == *(type_3 *)var_48;
              var_50 = var_50 + (type_13)bVar39 * -2 + 1;
              var_48 = (type_15 **)((int)var_48 + (type_13)bVar39 * -2 + 1);
            } while (var_51);
            if ((!var_49 && !var_51) != var_49) {
              var_49 = false;
              goto LAB_001574ca;
            }
          }
          *(type_17 *)((int)var_64 + -8) = var_9;
          *(var_6<64,var_7> **var_53)((int)var_64 + -0xc) = this;
          *(type_24 **)((int)var_64 + -0x10) = layout;
                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */
          *(type_10 *)((int)var_64 + -0x14) = 0x1578cc;
          var_49 = type_24::var_52
                             (*(type_24 **)((int)var_64 + -0x10),*(type_25 **)((int)var_64 + -0xc),
                              *(type_13 *)((int)var_64 + -8));
        }
LAB_001574ca:
        local_54->is_ctors_reverse_view = var_49;
        goto LAB_001574d0;
      }
      if ((this->super_Sized_relobj<64,var_7>).super_Relobj.super_Object.shnum_ <= var_9) {
        *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e04d;
        *(type_10 *)((int)var_64 + -0xc) = 0x549;
        *(int *)((int)var_64 + -0x10) = (int)var_16 + -0x10efe6;
                    /* WARNING: Subroutine does not return */
        *(type_10 *)((int)var_64 + -0x14) = 0x1579dc;
        var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                            *(char **)((int)var_64 + -8));
      }
      var_54 = (((this->super_Sized_relobj<64,var_7>).super_Relobj.map_to_relocatable_relocs_)->
                super__Vector_base<var_10::type_7*,var_11::var_21<var_10::type_7*>var_2>var_53
                )._M_impl._M_start[var_9];
      if (var_54 == (type_7 *)0x0) {
        *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e0a3;
        *(type_10 *)((int)var_64 + -0xc) = 0x2ce;
        *(int *)((int)var_64 + -0x10) = (int)var_16 + -0xf8bf9;
                    /* WARNING: Subroutine does not return */
        *(type_10 *)((int)var_64 + -0x14) = 0x157a7b;
        var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                            *(char **)((int)var_64 + -8));
      }
      var_55 = var_54->posd_;
      if (var_55 == (type_8 *)0x0) {
        *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e0a3;
        *(type_10 *)((int)var_64 + -0xc) = 0x2d0;
        *(int *)((int)var_64 + -0x10) = (int)var_16 + -0xf8bf9;
                    /* WARNING: Subroutine does not return */
        *(type_10 *)((int)var_64 + -0x14) = 0x157a5d;
        var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                            *(char **)((int)var_64 + -8));
      }
      var_18 = var_55->field_0x1c;
      if ((var_18 & 4) == 0) {
        *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e080;
        *(type_10 *)((int)var_64 + -0xc) = 0xe3;
        *(type_15 ***)((int)var_64 + -0x10) = var_16 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(type_10 *)((int)var_64 + -0x14) = 0x157b2c;
        var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                            *(char **)((int)var_64 + -8));
      }
      var_14 = (type_13)var_55->offset_;
      var_32 = *(int *)((int)&var_55->offset_ + 4);
      *(type_13 *)&local_54->offset = var_14;
      *(int *)((int)&local_54->offset + 4) = var_32;
      if ((var_18 & 2) == 0) {
        *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e083;
        *(type_10 *)((int)var_64 + -0xc) = 0xcf;
        *(type_15 ***)((int)var_64 + -0x10) = var_16 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(type_10 *)((int)var_64 + -0x14) = 0x157b0e;
        var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                            *(char **)((int)var_64 + -8));
      }
      var_45 = (type_13)var_55->data_size_;
      local_54->view_size = var_45;
      if (var_32 < 0) {
LAB_00157ad5:
        *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e091;
        *(type_10 *)((int)var_64 + -0xc) = 0x6f;
        *(type_15 ***)((int)var_64 + -0x10) = var_16 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(type_10 *)((int)var_64 + -0x14) = 0x157af0;
        var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                            *(char **)((int)var_64 + -8));
      }
      local_94 = var_45;
      local_90 = 0;
      var_28 = var_32 + (type_13)var_29(var_45,var_14);
      var_27 = var_45 + var_14;
      var_25 = *(type_13 *)((int)&of->file_size_ + 4);
      var_45 = (type_13)((type_13)of->file_size_ < var_45 + var_14);
      if ((var_31(var_25,var_28) != var_31(var_25 - var_28,var_45)) !=
          (int)((var_25 - var_28) - var_45) < 0) goto LAB_00157ad5;
      local_54->view = of->base_ + var_14;
      if ((var_18 & 1) == 0) {
        *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e093;
        *(type_10 *)((int)var_64 + -0xc) = 0xc5;
        *(type_15 ***)((int)var_64 + -0x10) = var_16 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(type_10 *)((int)var_64 + -0x14) = 0x157ad5;
        var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                            *(char **)((int)var_64 + -8));
      }
      uVar14 = var_55->address_;
      var_9 = var_9 + var_4;
      *(type_10 *)((int)&local_54->address + 4) = *(type_10 *)((int)&var_55->address_ + 4);
      *(int *)&local_54->address = (int)uVar14;
      local_54->is_input_output_view = false;
      local_54->is_postprocessing_view = false;
      local_54->is_ctors_reverse_view = false;
      var_13 = var_13 + 0x40;
    } while (var_9 != var_5);
LAB_001574e4:
    var_59 = rm.
              super__Vector_base<var_10::File_read::var_1,var_11::var_21<var_10::File_read::var_1>var_2>
              ._M_impl._M_finish;
    var_58 = rm.
              super__Vector_base<var_10::File_read::var_1,var_11::var_21<var_10::File_read::var_1>var_2>
              ._M_impl._M_start;
    if (rm.
        super__Vector_base<var_10::type_26::var_1,var_11::var_21<var_10::type_26::var_1>var_2>
        ._M_impl._M_finish !=
        rm.
        super__Vector_base<var_10::type_26::var_1,var_11::var_21<var_10::type_26::var_1>var_2>
        ._M_impl._M_start) {
      if (var_56 == '\0') {
        var_64[-1] = 0;
        var_45 = (int)var_59 - (int)var_58 >> 4;
        var_14 = 0x1f;
        if (var_45 != 0) {
          for (; var_45 >> var_14 == 0; var_14 = var_14 - 1) {
          }
        }
        var_64[-2] = (0x1f - (var_14 ^ 0x1f)) * 2;
        var_64[-3] = var_59;
        var_64[-4] = var_58;
        var_64[-5] = 0x1578f6;
        std::
        __introsort_loop<__gnu_cxx::__normal_iterator<var_10::type_26::var_1*,var_11::vector<var_10::type_26::var_1>var_2>,_int,___gnu_cxx::__ops::_Iter_comp_iter<var_10::var_57>var_2>
                  (var_53);
        if ((int)var_59 - (int)var_58 < 0x101) {
          var_64[-2] = 0;
          var_64[-3] = var_59;
          var_64[-4] = var_58;
          var_64[-5] = 0x157944;
          std::
          __insertion_sort<__gnu_cxx::__normal_iterator<var_10::type_26::var_1*,var_11::vector<var_10::type_26::var_1>var_2>,___gnu_cxx::__ops::_Iter_comp_iter<var_10::var_57>var_2>
                    (var_53);
        }
        else {
          var_60 = var_58 + 0x10;
          var_64[-2] = 0;
          var_64[-3] = var_60;
          var_64[-4] = var_58;
          var_64[-5] = 0x157913;
          std::
          __insertion_sort<__gnu_cxx::__normal_iterator<var_10::type_26::var_1*,var_11::vector<var_10::type_26::var_1>var_2>,___gnu_cxx::__ops::_Iter_comp_iter<var_10::var_57>var_2>
                    (var_53);
          for (; var_59 != var_60; var_60 = var_60 + 1) {
            var_64[-3] = 0;
            var_64[-4] = var_60;
            var_64[-5] = 0x15792c;
            std::
            __unguarded_linear_insert<__gnu_cxx::__normal_iterator<var_10::type_26::var_1*,var_11::vector<var_10::type_26::var_1>var_2>,___gnu_cxx::__ops::_Val_comp_iter<var_10::var_57>var_2>
                      (var_53);
          }
        }
      }
      var_61 = (this->super_Sized_relobj<64,var_7>).super_Relobj.super_Object.input_file_;
      if (var_61 == (type_6 *)0x0) {
        var_64[-1] = 0x1579e1;
        Object::var_62((type_22 *)*var_64);
LAB_001579e8:
        var_48 = var_16;
        *(type_15 ***)((int)var_64 + -8) = var_16 + -0x3e083;
        *(type_10 *)((int)var_64 + -0xc) = 0xcf;
        *(type_15 ***)((int)var_64 + -0x10) = var_48 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(type_10 *)((int)var_64 + -0x14) = 0x157a06;
        var_17(*(char **)((int)var_64 + -0x10),*(int *)((int)var_64 + -0xc),
                            *(char **)((int)var_64 + -8));
      }
      var_64[-1] = &rm;
      var_64[-2] = *(type_10 *)
                     ((int)&(this->super_Sized_relobj<64,var_7>).super_Relobj.super_Object.offset_ +
                     4);
      var_64[-3] = (int)(this->super_Sized_relobj<64,var_7>).super_Relobj.super_Object.offset_;
      var_64[-4] = &var_61->file_;
      var_64[-5] = 0x157522;
      File_read::var_63
                ((type_26 *)var_64[-4],*(type_27 *)(var_64 + -3),(type_20 *)var_64[-1]);
    }
    if (rm.
        super__Vector_base<var_10::type_26::var_1,var_11::var_21<var_10::type_26::var_1>var_2>
        ._M_impl._M_start != (type_2)0x0) {
      var_64[-4] = rm.
                    super__Vector_base<var_10::File_read::var_1,var_11::var_21<var_10::File_read::var_1>var_2>
                    ._M_impl._M_start;
      var_64[-5] = 0x157538;
      var_44((void *)var_64[-4]);
    }
  }
  return;
}


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

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void MASKED(int *param_1,undefined4 param_2,int param_3,int param_4,int *param_5)

{
  uint *puVar1;
  int iVar2;
  code *pcVar3;
  byte bVar4;
  char cVar5;
  undefined4 *****pppppuVar6;
  undefined4 uVar7;
  int iVar8;
  uint uVar9;
  uint uVar10;
  uint uVar11;
  uint uVar12;
  byte bVar13;
  int iVar14;
  undefined1 *puVar15;
  undefined1 *puVar16;
  undefined1 *puVar17;
  byte *pbVar18;
  undefined **ppuVar19;
  int iVar20;
  bool bVar21;
  bool bVar22;
  bool bVar23;
  byte bVar24;
  uint auStack_d0 [9];
  undefined1 auStack_ac [15];
  char local_9d;
  undefined4 ****local_9c;
  undefined4 local_98;
  uint local_94;
  undefined4 local_90;
  undefined4 ****local_8c;
  undefined4 local_88;
  undefined **local_84;
  uint local_80;
  uint local_7c;
  undefined4 ****local_78;
  int *local_74;
  uint local_70;
  uint local_6c;
  uint local_68;
  uint local_64;
  uint local_60;
  uint local_5c;
  int local_58;
  uint *local_54;
  uint local_50;
  undefined4 local_44;
  int local_40;
  int local_3c;
  undefined4 local_38;
  undefined4 ****local_34;
  uint local_30;
  undefined4 ****local_2c;
  uint local_28;
  
  bVar24 = 0;
  local_84 = &__DT_PLTGOT;
  puVar17 = auStack_ac;
  local_40 = 0;
  local_70 = param_1[10];
  local_58 = param_3 + 0x40;
  local_3c = 0;
  local_38 = 0;
  if (1 < local_70) {
    local_74 = &DAT_0038f378;
    local_50 = 1;
    local_9d = '\x01';
    do {
      while( true ) {
        local_54 = (uint *)(local_50 * 0x1c + *param_5);
        *local_54 = 0;
        iVar2 = *(int *)(param_1[0xe] + local_50 * 4);
        if (iVar2 != 0) break;
LAB_001574d0:
        local_50 = local_50 + 1;
        local_58 = local_58 + 0x40;
        if (local_50 == local_70) goto LAB_001574e4;
      }
      uVar9 = *(uint *)(local_58 + 4);
      uVar9 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;
      if (uVar9 == 8) goto LAB_001574d0;
      iVar8 = *(int *)(*local_74 + 8);
      if (iVar8 == 0) {
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;
        *(undefined4 *)(puVar17 + -0xc) = 0x5c;
        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x1579a3;
        FUN_00069d00();
      }
      if ((((*(char *)(iVar8 + 0x318d) == '\0') && (*(char *)(iVar8 + 0x3095) == '\0')) ||
          ((uVar9 != 4 && (uVar9 != 9)))) || ((*(uint *)(local_58 + 0xc) >> 0x18 & 2) != 0)) {
        bVar4 = *(byte *)(iVar2 + 0x90);
        bVar13 = bVar4 >> 5;
        local_5c = CONCAT31(local_5c._1_3_,bVar13) & 0xffffff01;
        if ((bVar13 & 1) == 0) {
          if ((*(byte *)(iVar2 + 0x1c) & 4) == 0) {
            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;
            *(undefined4 *)(puVar17 + -0xc) = 0xe3;
            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x157a99;
            FUN_00069d00();
          }
          local_64 = *(uint *)(iVar2 + 0x14);
          local_60 = *(uint *)(iVar2 + 0x18);
          if ((*(byte *)(iVar2 + 0x1c) & 2) == 0) goto LAB_001579e8;
          local_78 = *(undefined4 *****)(iVar2 + 0xc);
          local_7c = *(uint *)(iVar2 + 0x10);
        }
        else {
          local_78 = *(undefined4 *****)(iVar2 + 0xc);
          local_7c = *(uint *)(iVar2 + 0x10);
          local_64 = 0;
          local_60 = 0;
        }
        puVar1 = (uint *)(param_1[0x21] + local_50 * 8);
        local_6c = *puVar1;
        local_68 = puVar1[1];
        if ((local_68 & local_6c) == 0xffffffff) {
          local_8c = local_78;
          local_88 = 0;
          if (local_7c != 0) {
            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;
            *(undefined4 *)(puVar17 + -0xc) = 0xc0;
            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x157a3f;
            FUN_00069d00();
          }
          if ((undefined4 *****)local_78 == (undefined4 *****)0x0) goto LAB_001574d0;
          pppppuVar6 = (undefined4 *****)local_78;
          if ((char)local_5c != '\0') {
            if (*(int *)(iVar2 + 0x8c) == 0) goto LAB_00157b2c;
            *local_54 = *(int *)(iVar2 + 0x8c) + local_64;
            if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;
            uVar9 = *(uint *)(iVar2 + 4);
            local_54[2] = *(uint *)(iVar2 + 8);
            local_54[1] = uVar9;
            uVar9 = CONCAT31(local_5c._1_3_,bVar4 >> 5);
            iVar8 = *(int *)(*local_74 + 8);
            goto LAB_0015747d;
          }
          if (((int)local_60 < 0) ||
             (local_6c = *(uint *)(param_4 + 0xc),
             iVar14 = local_60 + CARRY4((uint)local_78,local_64),
             uVar9 = (uint)(*(undefined1 **)(param_4 + 8) < (undefined1 *)((int)local_78 + local_64)
                           ), iVar20 = local_6c - iVar14,
             (SBORROW4(local_6c,iVar14) != SBORROW4(iVar20,uVar9)) != (int)(iVar20 - uVar9) < 0)) {
            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;
            *(undefined4 *)(puVar17 + -0xc) = 0x6f;
            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x157a21;
            FUN_00069d00();
          }
          *local_54 = local_64 + *(int *)(param_4 + 0x10);
          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) goto LAB_0015794c;
          uVar9 = *(uint *)(iVar2 + 8);
          local_54[1] = *(uint *)(iVar2 + 4);
          local_54[2] = uVar9;
          local_54[4] = local_60;
          local_54[3] = local_64;
          local_54[5] = (uint)local_78;
          *(undefined2 *)(local_54 + 6) = 1;
        }
        else {
          uVar9 = *(uint *)(local_58 + 0x24);
          pppppuVar6 = (undefined4 *****)
                       (uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                       uVar9 << 0x18);
          if (*(int *)(local_58 + 0x20) != 0) {
            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e09f;
            *(undefined4 *)(puVar17 + -0xc) = 0xc0;
            *(int *)(puVar17 + -0x10) = (int)local_84 + -0x107be7;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x157988;
            FUN_00069d00();
          }
          iVar8 = param_1[0xd];
          if (iVar8 == 0) {
LAB_001577e0:
            local_80 = local_80 & 0xffffff00;
          }
          else {
            uVar9 = iVar8 + 4;
            uVar12 = *(uint *)(iVar8 + 8);
            uVar10 = uVar9;
            if (*(uint *)(iVar8 + 8) == 0) goto LAB_001577e0;
            do {
              while (uVar11 = uVar12, *(uint *)(uVar11 + 0x10) < local_50) {
                puVar1 = (uint *)(uVar11 + 0xc);
                uVar12 = *puVar1;
                uVar11 = uVar10;
                if (*puVar1 == 0) goto LAB_00157368;
              }
              uVar12 = *(uint *)(uVar11 + 8);
              uVar10 = uVar11;
            } while (*(uint *)(uVar11 + 8) != 0);
LAB_00157368:
            local_80 = uVar9 & 0xffffff00;
            if ((uVar9 != uVar11) && (*(uint *)(uVar11 + 0x10) <= local_50)) {
              local_80 = CONCAT31((int3)(uVar9 >> 8),1);
              pppppuVar6 = *(undefined4 ******)(uVar11 + 0x14);
            }
          }
          if (pppppuVar6 == (undefined4 *****)0x0) goto LAB_001574d0;
          local_98 = 0;
          uVar9 = local_68 + CARRY4(local_6c,(uint)pppppuVar6);
          local_9c = pppppuVar6;
          if (local_7c < uVar9 ||
              local_7c - uVar9 < (uint)(local_78 < (undefined4 *****)(local_6c + (int)pppppuVar6)))
          {
            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;
            *(undefined4 *)(puVar17 + -0xc) = 0x317;
            *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x157ab7;
            FUN_00069d00();
          }
          bVar21 = CARRY4(local_64,local_6c);
          local_64 = local_64 + local_6c;
          local_60 = local_60 + local_68 + (uint)bVar21;
          if ((char)local_5c == '\0') {
            if (((int)local_60 < 0) ||
               (iVar20 = local_60 + CARRY4((uint)pppppuVar6,local_64),
               uVar9 = (uint)(*(undefined1 **)(param_4 + 8) <
                             (undefined1 *)((int)pppppuVar6 + local_64)),
               iVar8 = *(int *)(param_4 + 0xc) - iVar20,
               (SBORROW4(*(int *)(param_4 + 0xc),iVar20) != SBORROW4(iVar8,uVar9)) !=
               (int)(iVar8 - uVar9) < 0)) {
              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;
              *(undefined4 *)(puVar17 + -0xc) = 0x6f;
              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
              *(undefined1 **)(puVar17 + -0x14) = &LAB_00157b65;
              FUN_00069d00();
            }
            local_5c = local_64 + *(int *)(param_4 + 0x10);
            if ((char)local_80 == '\0') goto LAB_001573e9;
LAB_0015772f:
            *(undefined4 *)(puVar17 + -4) = 0;
            *(undefined4 **)(puVar17 + -8) = &local_44;
            *(uint *)(puVar17 + -0xc) = local_50;
            *(int **)(puVar17 + -0x10) = param_1;
            *(undefined4 *)(puVar17 + -0x14) = 0x157743;
            uVar7 = FUN_000b19a0();
            local_78 = *(undefined4 *****)(local_58 + 8);
            uVar9 = *(uint *)(local_58 + 0xc);
            *(uint *)(puVar17 + -4) =
                 (uint)local_78 >> 0x18 | ((uint)local_78 & 0xff0000) >> 8 |
                 ((uint)local_78 & 0xff00) << 8 | (int)local_78 << 0x18;
            *(uint *)(puVar17 + -8) =
                 uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 | uVar9 << 0x18;
            *(undefined4 *)(puVar17 + -0xc) = 1;
            *(undefined4 *)(puVar17 + -0x10) = 0x40;
            *(undefined4 ******)(puVar17 + -0x14) = pppppuVar6;
            *(uint *)(puVar17 + -0x18) = local_5c;
            *(undefined4 *)(puVar17 + -0x1c) = local_44;
            *(undefined4 *)(puVar17 + -0x20) = uVar7;
            *(undefined4 *)(puVar17 + -0x24) = 0x157773;
            cVar5 = FUN_0019ee80();
            puVar16 = puVar17;
            if (cVar5 == '\0') {
              iVar8 = *param_1;
              *(uint *)(puVar17 + -8) = local_50;
              *(int **)(puVar17 + -0xc) = param_1;
              *(undefined4 ******)(puVar17 + -0x10) = &local_34;
              pcVar3 = *(code **)(iVar8 + 0x40);
              *(undefined4 *)(puVar17 + -0x14) = 0x157793;
              (*pcVar3)();
              local_78 = local_34;
              *(undefined ***)(puVar17 + -0x14) = local_84 + -0x40ba2;
              *(undefined4 *)(puVar17 + -0x18) = 0x1577a8;
              uVar7 = gettext();
              *(undefined4 *****)(puVar17 + -0xc) = local_78;
              *(undefined4 *)(puVar17 + -0x10) = uVar7;
              *(int **)(puVar17 + -0x14) = param_1;
                    /* try { // try from 001577b6 to 001577ba has its CatchHandler @ 00157b65 */
              *(undefined4 *)(puVar17 + -0x18) = 0x1577bb;
              FUN_000b1840();
              puVar16 = puVar17 + -4;
              if ((undefined4 *****)local_34 == &local_2c) goto LAB_0015743e;
              puVar15 = puVar17 + -0x14;
              *(undefined4 *****)(puVar17 + -0x14) = local_34;
              *(undefined4 *)(puVar17 + -0x18) = 0x1577d8;
              FUN_001e6db0();
              goto LAB_0015743b;
            }
          }
          else {
            if (*(int *)(iVar2 + 0x8c) == 0) {
LAB_00157b2c:
              *(undefined ***)(puVar17 + -8) = local_84 + -0x3e08d;
              *(undefined4 *)(puVar17 + -0xc) = 0xe34;
              *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)(puVar17 + -0x14) = 0x157b4a;
              FUN_00069d00();
            }
            local_5c = *(int *)(iVar2 + 0x8c) + local_64;
            if ((char)local_80 != '\0') goto LAB_0015772f;
LAB_001573e9:
            uVar9 = *(uint *)(local_58 + 0x18);
            uVar12 = *(uint *)(local_58 + 0x1c);
            local_30 = uVar9 >> 0x18 | (uVar9 & 0xff0000) >> 8 | (uVar9 & 0xff00) << 8 |
                       uVar9 << 0x18;
            local_78 = (undefined4 ****)
                       (uVar12 >> 0x18 | (uVar12 & 0xff0000) >> 8 | (uVar12 & 0xff00) << 8 |
                       uVar12 << 0x18);
            cVar5 = local_9d;
            if ((local_3c != local_40) &&
               (uVar9 = (uint)(local_78 < *(undefined4 ******)(local_3c + -0x10)),
               iVar8 = local_30 - *(int *)(local_3c + -0xc), cVar5 = (char)local_80,
               (SBORROW4(local_30,*(int *)(local_3c + -0xc)) != SBORROW4(iVar8,uVar9)) ==
               (int)(iVar8 - uVar9) < 0)) {
              cVar5 = local_9d;
            }
            local_9d = cVar5;
            local_28 = local_5c;
            *(undefined4 ******)(puVar17 + -0xc) = &local_34;
            puVar15 = puVar17 + -0x10;
            *(int **)(puVar17 + -0x10) = &local_40;
                    /* try { // try from 00157436 to 00157792 has its CatchHandler @ 00157b69 */
            *(undefined4 *)(puVar17 + -0x14) = 0x15743b;
            local_34 = local_78;
            local_2c = pppppuVar6;
            FUN_0014ebe0();
LAB_0015743b:
            puVar16 = puVar15 + 0x10;
          }
LAB_0015743e:
          *local_54 = local_5c;
          puVar17 = puVar16;
          if ((*(byte *)(iVar2 + 0x1c) & 1) == 0) {
LAB_0015794c:
            ppuVar19 = local_84;
            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;
            *(undefined4 *)(puVar17 + -0xc) = 0xc5;
            *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x15796a;
            FUN_00069d00();
          }
          uVar12 = *(uint *)(iVar2 + 4);
          iVar20 = *(int *)(iVar2 + 8);
          iVar8 = *(int *)(*local_74 + 8);
          uVar9 = CONCAT31(local_5c._1_3_,*(byte *)(iVar2 + 0x90) >> 5);
          local_54[1] = uVar12 + local_6c;
          local_54[2] = iVar20 + local_68 + (uint)CARRY4(uVar12,local_6c);
LAB_0015747d:
          local_5c = uVar9 & 0xffffff01;
          local_54[3] = local_64;
          local_54[4] = local_60;
          local_54[5] = (uint)pppppuVar6;
          *(bool *)(local_54 + 6) = (local_6c & local_68) == 0xffffffff;
          *(char *)((int)local_54 + 0x19) = (char)local_5c;
          if (iVar8 == 0) {
            *(undefined ***)(puVar17 + -8) = local_84 + -0x3e00a;
            *(undefined4 *)(puVar17 + -0xc) = 0x5c;
            *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41f7c;
                    /* WARNING: Subroutine does not return */
            *(undefined4 *)(puVar17 + -0x14) = 0x1579be;
            FUN_00069d00();
          }
        }
        bVar21 = false;
        bVar4 = (*(byte *)(iVar8 + 0x318d) ^ 1) & &DAT_00000008 < pppppuVar6;
        bVar23 = bVar4 == 0;
        if (!bVar23) {
          iVar8 = 0xc;
          pbVar18 = *(byte **)(iVar2 + 0x20);
          ppuVar19 = local_84 + -0x41295;
          do {
            if (iVar8 == 0) break;
            iVar8 = iVar8 + -1;
            bVar21 = *pbVar18 < *(byte *)ppuVar19;
            bVar23 = *pbVar18 == *(byte *)ppuVar19;
            pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;
            ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);
          } while (bVar23);
          bVar22 = false;
          bVar21 = (!bVar21 && !bVar23) == bVar21;
          if (!bVar21) {
            iVar8 = 0xc;
            pbVar18 = *(byte **)(iVar2 + 0x20);
            ppuVar19 = local_84 + -0x41292;
            do {
              if (iVar8 == 0) break;
              iVar8 = iVar8 + -1;
              bVar22 = *pbVar18 < *(byte *)ppuVar19;
              bVar21 = *pbVar18 == *(byte *)ppuVar19;
              pbVar18 = pbVar18 + (uint)bVar24 * -2 + 1;
              ppuVar19 = (undefined **)((int)ppuVar19 + (uint)bVar24 * -2 + 1);
            } while (bVar21);
            if ((!bVar22 && !bVar21) != bVar22) {
              bVar4 = 0;
              goto LAB_001574ca;
            }
          }
          *(uint *)(puVar17 + -8) = local_50;
          *(int **)(puVar17 + -0xc) = param_1;
          *(undefined4 *)(puVar17 + -0x10) = param_2;
                    /* try { // try from 001578c7 to 00157b64 has its CatchHandler @ 00157b69 */
          *(undefined4 *)(puVar17 + -0x14) = 0x1578cc;
          bVar4 = FUN_0009e8a0();
        }
LAB_001574ca:
        *(byte *)((int)local_54 + 0x1a) = bVar4;
        goto LAB_001574d0;
      }
      if ((uint)param_1[10] <= local_50) {
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e04d;
        *(undefined4 *)(puVar17 + -0xc) = 0x549;
        *(int *)(puVar17 + -0x10) = (int)local_84 + -0x10efe6;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x1579dc;
        FUN_00069d00();
      }
      iVar2 = *(int *)(*(int *)param_1[0x11] + local_50 * 4);
      if (iVar2 == 0) {
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;
        *(undefined4 *)(puVar17 + -0xc) = 0x2ce;
        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x157a7b;
        FUN_00069d00();
      }
      iVar2 = *(int *)(iVar2 + 0x10);
      if (iVar2 == 0) {
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e0a3;
        *(undefined4 *)(puVar17 + -0xc) = 0x2d0;
        *(int *)(puVar17 + -0x10) = (int)local_84 + -0xf8bf9;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x157a5d;
        FUN_00069d00();
      }
      bVar4 = *(byte *)(iVar2 + 0x1c);
      if ((bVar4 & 4) == 0) {
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e080;
        *(undefined4 *)(puVar17 + -0xc) = 0xe3;
        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x157b2c;
        FUN_00069d00();
      }
      uVar9 = *(uint *)(iVar2 + 0x14);
      uVar12 = *(uint *)(iVar2 + 0x18);
      local_54[3] = uVar9;
      local_54[4] = uVar12;
      if ((bVar4 & 2) == 0) {
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;
        *(undefined4 *)(puVar17 + -0xc) = 0xcf;
        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x157b0e;
        FUN_00069d00();
      }
      uVar10 = *(uint *)(iVar2 + 0xc);
      local_54[5] = uVar10;
      if ((int)uVar12 < 0) {
LAB_00157ad5:
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e091;
        *(undefined4 *)(puVar17 + -0xc) = 0x6f;
        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x157af0;
        FUN_00069d00();
      }
      local_90 = 0;
      local_64 = uVar10 + uVar9;
      local_60 = uVar12 + CARRY4(uVar10,uVar9);
      local_6c = *(uint *)(param_4 + 0xc);
      uVar12 = (uint)(*(uint *)(param_4 + 8) < local_64);
      local_94 = uVar10;
      if ((SBORROW4(local_6c,local_60) != SBORROW4(local_6c - local_60,uVar12)) !=
          (int)((local_6c - local_60) - uVar12) < 0) goto LAB_00157ad5;
      *local_54 = *(int *)(param_4 + 0x10) + uVar9;
      if ((bVar4 & 1) == 0) {
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e093;
        *(undefined4 *)(puVar17 + -0xc) = 0xc5;
        *(undefined ***)(puVar17 + -0x10) = local_84 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x157ad5;
        FUN_00069d00();
      }
      uVar9 = *(uint *)(iVar2 + 4);
      local_50 = local_50 + 1;
      local_54[2] = *(uint *)(iVar2 + 8);
      local_54[1] = uVar9;
      *(undefined2 *)(local_54 + 6) = 0;
      *(undefined1 *)((int)local_54 + 0x1a) = 0;
      local_58 = local_58 + 0x40;
    } while (local_50 != local_70);
LAB_001574e4:
    iVar8 = local_3c;
    iVar2 = local_40;
    if (local_3c != local_40) {
      if (local_9d == '\0') {
        *(undefined4 *)(puVar17 + -4) = 0;
        uVar12 = iVar8 - iVar2 >> 4;
        uVar9 = 0x1f;
        if (uVar12 != 0) {
          for (; uVar12 >> uVar9 == 0; uVar9 = uVar9 - 1) {
          }
        }
        *(uint *)(puVar17 + -8) = (0x1f - (uVar9 ^ 0x1f)) * 2;
        *(int *)(puVar17 + -0xc) = iVar8;
        *(int *)(puVar17 + -0x10) = iVar2;
        *(undefined4 *)(puVar17 + -0x14) = 0x1578f6;
        FUN_00156f90();
        if (iVar8 - iVar2 < 0x101) {
          *(undefined4 *)(puVar17 + -8) = 0;
          *(int *)(puVar17 + -0xc) = iVar8;
          *(int *)(puVar17 + -0x10) = iVar2;
          *(undefined4 *)(puVar17 + -0x14) = 0x157944;
          FUN_00156d20();
        }
        else {
          iVar20 = iVar2 + 0x100;
          *(undefined4 *)(puVar17 + -8) = 0;
          *(int *)(puVar17 + -0xc) = iVar20;
          *(int *)(puVar17 + -0x10) = iVar2;
          *(undefined4 *)(puVar17 + -0x14) = 0x157913;
          FUN_00156d20();
          for (; iVar8 != iVar20; iVar20 = iVar20 + 0x10) {
            *(undefined4 *)(puVar17 + -0xc) = 0;
            *(int *)(puVar17 + -0x10) = iVar20;
            *(undefined4 *)(puVar17 + -0x14) = 0x15792c;
            FUN_00156ca0();
          }
        }
      }
      iVar2 = param_1[7];
      if (iVar2 == 0) {
        *(undefined4 *)(puVar17 + -4) = 0x1579e1;
        FUN_00146790();
LAB_001579e8:
        ppuVar19 = local_84;
        *(undefined ***)(puVar17 + -8) = local_84 + -0x3e083;
        *(undefined4 *)(puVar17 + -0xc) = 0xcf;
        *(undefined ***)(puVar17 + -0x10) = ppuVar19 + -0x41c55;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar17 + -0x14) = 0x157a06;
        FUN_00069d00();
      }
      *(int **)(puVar17 + -4) = &local_40;
      *(int *)(puVar17 + -8) = param_1[9];
      *(int *)(puVar17 + -0xc) = param_1[8];
      *(int *)(puVar17 + -0x10) = iVar2 + 0x1c;
      *(undefined4 *)(puVar17 + -0x14) = 0x157522;
      FUN_00067070();
    }
    if (local_40 != 0) {
      *(int *)(puVar17 + -0x10) = local_40;
      *(undefined4 *)(puVar17 + -0x14) = 0x157538;
      FUN_001e6db0();
    }
  }
  return;
}

