
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void do_write(Stub_table<64,_false> * this, Output_file * of) */

void __thiscall
anon_unknown.dwarf_6462d4::Stub_table<64,_false>::do_write
          (Stub_table<64,_false> *this,Output_file *of)

{
  byte bVar1;
  size_type sVar2;
  Output_section *pOVar3;
  Stub_table<64,_false> *pSVar4;
  Symbol *this_00;
  General_options *pGVar5;
  Output_data_brlt_powerpc<64,_false> *pOVar6;
  Output_data_save_res<64,_false> *pOVar7;
  Output_data_glink<64,_false> *pOVar8;
  int iVar9;
  uint uVar10;
  uchar *puVar11;
  _Hash_node_base *p_Var12;
  int *piVar13;
  char *format;
  uint *puVar14;
  uint *puVar15;
  _Hash_node_base *p_Var16;
  int *piVar17;
  uint64_t *puVar18;
  Output_data_plt_powerpc<64,_false> *pOVar19;
  byte extraout_CL;
  uint uVar20;
  uint uVar21;
  _Hash_node_base *p_Var22;
  uint uVar23;
  _Hash_node_base *p_Var24;
  uint uVar25;
  uint uVar26;
  uint uVar27;
  uint uVar28;
  uint64_t *puVar29;
  uint uVar30;
  uint extraout_EDX;
  byte bVar31;
  _func_int_varargs **pp_Var32;
  Target_powerpc<64,_false> *pTVar33;
  uint uVar34;
  int iVar35;
  int iVar36;
  uint uVar37;
  uint uVar38;
  uint uVar39;
  uint uVar40;
  Stub_table<64,_false> *pSVar41;
  bool bVar42;
  bool bVar43;
  byte bVar44;
  Target_powerpc<64,_false> *in_stack_ffffff44;
  Stub_table<64,_false> *pSVar45;
  uint local_9c;
  uint local_94;
  uint local_90;
  bool local_69;
  uint local_64;
  uint local_54;
  _Hash_node_base *local_44;
  int local_40;
  _Hash_node_base *local_34;
  _Hash_node_base *local_30;
  _Hash_node_base local_2c [7];
  
  sVar2 = (this->plt_call_stubs_)._M_h._M_element_count;
  if ((sVar2 == 0) && ((this->long_branch_stubs_)._M_h._M_element_count == 0)) {
    return;
  }
  if ((this->field_0x1c & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");
  }
  if (gold::parameters->options_ == (General_options *)0x0) {
LAB_000f392f:
                    /* WARNING: Subroutine does not return */
    stub_align((Stub_table<64,_false> *)in_stack_ffffff44);
  }
  uVar37 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
  if (uVar37 < 0x20) {
    uVar37 = 0x20;
  }
  uVar37 = (uVar37 - 1) + this->orig_data_size_ + *(int *)&this->field_0x14 & -uVar37;
  if ((this->field_0x1c & 2) == 0) {
LAB_000f398a:
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
  }
  uVar20 = uVar37 - *(int *)&this->field_0x14;
  uVar38 = *(uint *)&this->field_0xc - uVar20;
  if (*(uint *)&this->field_0x10 != (uint)(*(uint *)&this->field_0xc < uVar20)) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");
  }
  uVar20 = (uint)CARRY4(uVar37,uVar38);
  iVar35 = *(int *)((int)&of->file_size_ + 4);
  uVar38 = (uint)((uint)of->file_size_ < uVar37 + uVar38);
  iVar9 = iVar35 - uVar20;
  if ((SBORROW4(iVar35,uVar20) != SBORROW4(iVar9,uVar38)) != (int)(iVar9 - uVar38) < 0) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");
  }
  puVar11 = of->base_ + uVar37;
  pTVar33 = this->targ_;
  if (pTVar33->got_ == (Output_data_got_powerpc<64,_false> *)0x0) {
                    /* WARNING: Subroutine does not return */
    Target_powerpc<64,_false>::got_section(in_stack_ffffff44);
  }
  pOVar3 = (pTVar33->got_->super_Output_data_got<64,_false>).super_Output_data_got_base.
           super_Output_section_data_build.super_Output_section_data.output_section_;
  if (((pOVar3->super_Output_data).field_0x1c & 1) == 0) {
LAB_000f3135:
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");
  }
  in_stack_ffffff44 = *(Target_powerpc<64,_false> **)&(pOVar3->super_Output_data).address_;
  pSVar41 = *(Stub_table<64,_false> **)((int)&(pOVar3->super_Output_data).address_ + 4);
  if ((sVar2 != 0) &&
     (local_44 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,
     local_44 != (_Hash_node_base *)0x0)) {
    bVar42 = (Target_powerpc<64,_false> *)0xffff8000 < in_stack_ffffff44;
    iVar9 = -(int)in_stack_ffffff44;
    iVar35 = -1 - (int)pSVar41;
    pSVar45 = pSVar41;
    do {
      this_00 = (Symbol *)local_44[1]._M_nxt;
      if (this_00 == (Symbol *)0x0) {
        p_Var12 = local_44[2]._M_nxt;
        p_Var24 = local_44[5]._M_nxt;
        if ((_Hash_node_base *)
            (((int)p_Var12[0x38]._M_nxt - (int)p_Var12[0x37]._M_nxt >> 2) * -0x33333333) <= p_Var24)
        {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");
        }
        if (((uint)p_Var12[0x37]._M_nxt[(int)p_Var24 * 5 + 2]._M_nxt & 0x40000000) == 0) {
          pOVar19 = pTVar33->lplt_;
        }
        else {
          pOVar19 = pTVar33->iplt_;
          if (pOVar19 == (Output_data_plt_powerpc<64,_false> *)0x0) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");
          }
        }
        local_54 = (*(code *)p_Var12->_M_nxt[0x2a]._M_nxt)(p_Var12,p_Var24);
LAB_000f2fbb:
        if (((pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.
             field_0x1c & 1) == 0) goto LAB_000f3135;
        uVar20 = (iVar9 - 0x8000U) + local_54;
        puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.
                   super_Output_data.address_;
        uVar37 = uVar20 + (int)*puVar18;
        if (((iVar35 - (uint)bVar42) + (uint)CARRY4(iVar9 - 0x8000U,local_54) +
             *(int *)((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.
                            super_Output_data.address_ + 4) + (uint)CARRY4(uVar20,(uint)*puVar18) +
             (uint)(0x7fff7fff < uVar37) != 0) || ((uVar37 & 7) != 0)) {
          gold::Symbol::demangled_name((Symbol *)local_44[1]._M_nxt);
          p_Var24 = local_34;
          p_Var12 = local_44[2]._M_nxt[1]._M_nxt;
          format = (char *)gettext("%s: linkage table error against `%s\'");
                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */
          gold::gold_error(format,p_Var12,p_Var24);
          if (local_34 != local_2c) {
            operator_delete(local_34);
          }
        }
        pTVar33 = this->targ_;
        uVar20 = *(uint *)&pTVar33->field_0x8 & 2;
        if (uVar20 == 0) {
          pGVar5 = gold::parameters->options_;
          if (pGVar5 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
          }
          bVar1 = (pGVar5->plt_static_chain_).value;
          if (pTVar33->plt_thread_safe_ == false) {
            local_69 = false;
            local_64 = 0;
            p_Var12 = local_44[6]._M_nxt;
            local_54 = uVar37 + 0x8000 >> 0x10;
            bVar44 = false;
          }
          else {
            uVar38 = __udivdi3(local_54 - 0x18,(0x17 < local_54) - 1,0x18,0,in_stack_ffffff44,
                               pSVar45);
            pOVar8 = pTVar33->glink_;
            if (pOVar8 == (Output_data_glink<64,_false> *)0x0) {
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable("../../gold/powerpc.cc",0x3a3,"glink_section");
            }
            local_90 = 0;
            local_94 = (-(uint)((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0) & 0xfffffff4) + 0x40
                       + uVar38 * 8;
            if (0x8000 < uVar38) {
              uVar38 = uVar38 * 4 - 0x20000;
              bVar43 = CARRY4(local_94,uVar38);
              local_94 = local_94 + uVar38;
              local_90 = (uint)bVar43;
            }
            if ((pOVar8->field_0x1c & 1) == 0) goto LAB_000f3135;
            uVar38 = *(uint *)((int)&pOVar8->invalid_address + 4);
            uVar21 = 1 << ((byte)(pGVar5->plt_align_).value & 0x1f);
            if (uVar21 < 0x20) {
              uVar21 = 0x20;
            }
            local_69 = (bool)(this->field_0x1c & 1);
            if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;
            local_9c = 4;
            puVar14 = (uint *)((int)&this->invalid_address + 4);
            uVar34 = (uVar21 - 1) + *puVar14;
            uVar40 = this->orig_data_size_ + uVar34 & -uVar21;
            p_Var12 = local_44[6]._M_nxt;
            uVar30 = *(byte *)((int)&local_44[7]._M_nxt + 3) >> 6 & 1;
            local_54 = uVar37 + 0x8000 >> 0x10;
            if (local_54 == 0) {
              local_9c = 0;
            }
            uVar10 = (uint)bVar1;
            local_64 = 0;
            if (local_54 != uVar37 + 0x8008 + uVar10 * 8 >> 0x10) {
              local_64 = 4;
            }
            uVar39 = uVar38 + uVar10 * -4;
            uVar23 = uVar39 - 0x14;
            p_Var24 = (_Hash_node_base *)(uVar23 - uVar40);
            uVar25 = (int)p_Var24 - (int)p_Var12;
            uVar26 = uVar25 + uVar30 * -4;
            uVar27 = uVar26 + local_94;
            uVar28 = uVar27 - local_9c;
            bVar43 = uVar28 < local_64;
            local_64 = uVar28 - local_64;
            iVar36 = (((((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +
                            (uint)(0x13 < uVar39)) -
                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +
                            (uint)CARRY4(uVar21 - 1,*puVar14) +
                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -
                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -
                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94)) -
                      (uint)(uVar27 < local_9c)) - (uint)bVar43) + (uint)(0xfdffffff < local_64);
            bVar44 = iVar36 != 0 || (uint)-iVar36 < (uint)(0x3ffffff < local_64 + 0x2000000);
          }
        }
        else {
          bVar1 = 0;
          local_69 = false;
          local_64 = 0;
          p_Var12 = local_44[6]._M_nxt;
          local_54 = uVar37 + 0x8000 >> 0x10;
          bVar44 = false;
        }
        piVar13 = (int *)(puVar11 + (int)&p_Var12->_M_nxt);
        pSVar41 = (Stub_table<64,_false> *)local_44[1]._M_nxt;
        if ((Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_ == (Stub_table<64,_false> *)0x0) {
          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);
        }
        else if (((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||
                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {
          *piVar13 = -0x169d0000;
          piVar13[1] = -0x167cfff8;
          piVar13[2] = 0x7c601b78;
          piVar13[3] = 0x2c2b0000;
          piVar13[4] = 0x7c6c6a14;
          piVar13[5] = 0x4d820020;
          piVar13[6] = 0x7c030378;
          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);
          bVar44 = local_69;
          if ((char)bVar31 < '\0') {
            piVar13 = piVar13 + 7;
          }
          else {
            piVar13[7] = 0x7d6802a6;
            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;
            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);
            piVar13 = piVar13 + 9;
          }
        }
        else {
          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);
        }
        if (local_54 == 0) {
          piVar17 = piVar13;
          if ((bVar31 & 0x40) != 0) {
            piVar17 = piVar13 + 1;
            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;
          }
          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;
          if (uVar20 == 0) {
            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {
              piVar13 = piVar17 + 1;
              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;
              local_54 = uVar37;
            }
            else {
              piVar13 = piVar17 + 2;
              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;
              iVar36 = -0x17bdfff8;
            }
            *piVar13 = 0x7d8903a6;
            puVar29 = (uint64_t *)(piVar13 + 1);
            if ((bool)bVar44 != false) {
              piVar13[1] = 0x7d8b6278;
              puVar29 = (uint64_t *)(piVar13 + 3);
              piVar13[2] = 0x7c425a14;
            }
            puVar18 = (uint64_t *)((int)puVar29 + 4);
            if (bVar1 != 0) {
              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;
              puVar18 = puVar29 + 1;
              puVar29 = (uint64_t *)((int)puVar29 + 4);
            }
            *(int *)puVar29 = iVar36;
          }
          else {
            piVar17[1] = 0x7d8903a6;
            puVar18 = (uint64_t *)(piVar17 + 2);
          }
        }
        else {
          piVar17 = piVar13;
          if ((bVar31 & 0x40) != 0) {
            piVar17 = piVar13 + 1;
            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;
          }
          uVar38 = uVar37 & 0xffff;
          if (uVar20 == 0) {
            *piVar17 = local_54 + 0x3d620000;
            piVar17[1] = uVar38 + 0xe98b0000;
            if (local_54 == uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10) {
              piVar13 = piVar17 + 2;
              pp_Var32 = (_func_int_varargs **)((uVar37 + 8 & 0xffff) + 0xe84b0000);
            }
            else {
              piVar13 = piVar17 + 3;
              uVar37 = 0;
              piVar17[2] = uVar38 + 0x396b0000;
              pp_Var32 = (_func_int_varargs **)0xe84b0008;
            }
            *piVar13 = 0x7d8903a6;
            if ((bool)bVar44 == false) {
              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);
            }
            else {
              piVar13[1] = 0x7d826278;
              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);
              piVar13[2] = 0x7d6b1214;
            }
            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.
            _vptr_Output_data = pp_Var32;
            if (bVar1 != 0) goto LAB_000f37c0;
            puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.
                       super_Output_data.address_;
          }
          else {
            piVar17[2] = 0x7d8903a6;
            puVar18 = (uint64_t *)(piVar17 + 3);
            piVar17[1] = uVar38 + 0xe98c0000;
            *piVar17 = local_54 + 0x3d820000;
          }
        }
      }
      else {
        if ((this_00->field_0x28 & 0xf) != 10) {
LAB_000f2f9a:
          pOVar19 = pTVar33->plt_;
          if (pOVar19 == (Output_data_plt_powerpc<64,_false> *)0x0) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");
          }
LAB_000f2fa5:
          local_54 = this_00->plt_offset_;
          if (local_54 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");
          }
          goto LAB_000f2fbb;
        }
        if ((this_00->field_0x2a & 7) == 0) {
          if ((((uint)((this_00->u1_).output_segment)->output_lists_[3].
                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                      _M_impl._M_end_of_storage & 1) == 0) &&
             ((pSVar41 = (Stub_table<64,_false> *)(this_00->u2_).shndx,
              pSVar41 != (Stub_table<64,_false> *)0x0 || ((this_00->field_0x2b & 0x20) == 0))))
          goto LAB_000f3795;
          goto LAB_000f2f9a;
        }
        if ((this_00->field_0x2a & 7) == 4) goto LAB_000f2f9a;
LAB_000f3795:
        bVar43 = gold::Symbol::is_preemptible(this_00);
        if (bVar43) goto LAB_000f2f9a;
        pOVar19 = pTVar33->iplt_;
        if (pOVar19 != (Output_data_plt_powerpc<64,_false> *)0x0) goto LAB_000f2fa5;
        pOVar19 = Target_powerpc<64,_false>::iplt_section(in_stack_ffffff44);
        uVar37 = extraout_EDX;
        bVar44 = extraout_CL;
LAB_000f37c0:
        puVar18 = (uint64_t *)
                  ((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.
                         super_Output_data.address_ + 4);
        *(uint *)&(pOVar19->super_Output_section_data_build).super_Output_section_data.
                  super_Output_data.address_ = (uVar37 + 0x10 & 0xffff) + 0xe96b0000;
      }
      if (*(char *)((int)&local_44[7]._M_nxt + 3) < '\0') {
LAB_000f2f35:
        if ((bVar44 == 1) || (local_69 == false)) {
          *(int *)puVar18 = 0x4e800420;
        }
        else {
          *(int *)puVar18 = 0x28220000;
          *(int *)((int)puVar18 + 4) = 0x4ce20420;
          *(uint *)(puVar18 + 1) = local_64 & 0x3fffffc | 0x48000000;
        }
      }
      else {
        pSVar4 = (Stub_table<64,_false> *)this->targ_->tls_get_addr_opt_;
        if ((pSVar4 == (Stub_table<64,_false> *)0x0) ||
           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))
           ) goto LAB_000f2f35;
        *(int *)puVar18 = 0x4e800421;
        *(uint *)((int)puVar18 + 4) =
             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;
        uVar37 = *(uint *)&this->targ_->field_0x8;
        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;
        *(int *)(puVar18 + 2) = 0x4e800020;
        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;
        pSVar41 = this;
      }
      local_44 = local_44->_M_nxt;
      if (local_44 == (_Hash_node_base *)0x0) break;
      pTVar33 = this->targ_;
    } while( true );
  }
  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;
joined_r0x000f30c8:
  if (local_44 != (_Hash_node_base *)0x0) {
    do {
      if (*(char *)&local_44[4]._M_nxt == '\0') {
        p_Var12 = local_44[5]._M_nxt;
        uVar37 = this->plt_size_;
        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);
        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;
        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
        if (uVar20 < 0x20) {
          uVar20 = 0x20;
        }
        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;
        p_Var24 = local_44[1]._M_nxt;
        puVar15 = (uint *)((int)&this->invalid_address + 4);
        uVar21 = (uVar20 - 1) + *puVar15;
        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;
        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);
        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);
        uVar38 = (int)p_Var22 - (int)p_Var12;
        iVar35 = (int)local_44[2]._M_nxt +
                 (uint)(0xfdffffff < uVar38) +
                 ((-(uint)(p_Var24 < p_Var16) -
                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +
                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &
                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))) - (uint)(p_Var22 < p_Var12)
                 );
        if (iVar35 == 0 && (uint)(0x3ffffff < uVar38 + 0x2000000) <= (uint)-iVar35)
        goto code_r0x000f32c9;
        local_34 = p_Var24;
        local_30 = local_44[2]._M_nxt;
        std::
        _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
        ::find((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);
        if (local_40 == 0) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write");
        }
        pOVar6 = this->targ_->brlt_section_;
        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.
             field_0x1c & 1) == 0) goto LAB_000f3135;
        uVar37 = ((*(int *)(local_40 + 0xc) +
                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.
                       super_Output_data.address_) - (int)in_stack_ffffff44) -
                 (int)local_44[3]._M_nxt;
        uVar20 = uVar37 & 0xffff;
        uVar37 = uVar37 + 0x8000 >> 0x10;
        if (uVar37 == 0) {
          *puVar14 = uVar20 + 0xe9820000;
          puVar15 = puVar14 + 1;
        }
        else {
          puVar14[1] = uVar20 + 0xe98c0000;
          puVar15 = puVar14 + 2;
          *puVar14 = uVar37 + 0x3d820000;
        }
        *puVar15 = 0x7d8903a6;
        puVar15[1] = 0x4e800420;
      }
      local_44 = local_44->_M_nxt;
      if (local_44 == (_Hash_node_base *)0x0) break;
    } while( true );
  }
  if (this->need_save_res_ == false) {
    return;
  }
  pOVar7 = this->targ_->savres_section_;
  if ((pOVar7->field_0x1c & 2) != 0) {
    memcpy(puVar11 + this->plt_size_ + this->branch_size_,pOVar7->contents_,
           *(size_t *)&pOVar7->field_0xc);
    return;
  }
  goto LAB_000f398a;
code_r0x000f32c9:
  *puVar14 = uVar38 & 0x3fffffc | 0x48000000;
  local_44 = local_44->_M_nxt;
  goto joined_r0x000f30c8;
}



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

void FUN_000f2ca0(uint param_1,int param_2)

{
  int iVar1;
  undefined4 uVar2;
  code *pcVar3;
  undefined **ppuVar4;
  undefined1 *puVar5;
  char cVar6;
  int *piVar7;
  int *piVar8;
  undefined4 uVar9;
  int *piVar10;
  byte extraout_CL;
  uint *puVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  uint uVar15;
  uint uVar16;
  uint uVar17;
  uint uVar18;
  uint *puVar19;
  byte bVar20;
  int iVar21;
  uint *puVar22;
  uint uVar23;
  uint uVar24;
  uint uVar25;
  byte bVar26;
  undefined8 uVar27;
  uint auStackY_d4 [2];
  uint local_bc;
  uint local_b8;
  uint local_b4;
  int local_b0;
  uint local_ac;
  undefined4 local_a8;
  uint local_a4;
  undefined4 local_a0;
  uint local_9c;
  undefined4 local_98;
  uint local_94;
  uint local_90;
  uint local_8c;
  uint local_88;
  uint local_84;
  uint local_80;
  uint local_7c;
  int local_78;
  int *local_74;
  int local_70;
  bool local_69;
  uint local_68;
  uint *local_64;
  int local_60;
  uint local_5c;
  undefined **local_58;
  uint *local_54;
  int local_50;
  uint *local_4c;
  uint local_48;
  int *local_44;
  int local_40 [3];
  uint *local_34;
  int local_30;
  uint local_2c [7];
  
  puVar19 = &local_bc;
  puVar11 = &local_bc;
  local_58 = &__DT_PLTGOT;
  local_44 = *(int **)(param_1 + 0x44);
  if ((local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0)) {
    return;
  }
  bVar26 = *(byte *)(param_1 + 0x1c);
  local_5c = CONCAT31(local_5c._1_3_,bVar26);
  if ((bVar26 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);
  }
  local_4c = *(uint **)(param_1 + 0x14);
  local_54 = local_4c;
  local_50 = *(int *)(param_1 + 0x18);
  local_74 = &DAT_005ea7c8;
  if (*(int *)(DAT_005ea7c8 + 8) == 0) {
LAB_000f392f:
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;
    FUN_000afd50();
  }
  uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f);
  if (uVar23 < 0x20) {
    uVar23 = 0x20;
  }
  uVar23 = (int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23;
  if ((bVar26 & 2) == 0) {
LAB_000f398a:
    ppuVar4 = local_58;
    *(uint *)((int)puVar11 + -4) = uVar23;
    *(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;
    *(undefined4 *)((int)puVar11 + -0xc) = 0xcf;
    *(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;
                    /* WARNING: Subroutine does not return */
    *(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;
    FUN_002446e0();
  }
  puVar11 = (uint *)(uVar23 - (int)local_4c);
  local_4c = *(uint **)(param_1 + 0xc);
  uVar24 = (int)local_4c - (int)puVar11;
  local_48 = *(uint *)(param_1 + 0x10);
  if (*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11)) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);
  }
  uVar12 = (uint)CARRY4(uVar23,uVar24);
  uVar24 = (uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24);
  iVar21 = *(int *)(param_2 + 0xc) - uVar12;
  if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==
      (int)(iVar21 - uVar24) < 0) {
    local_70 = uVar23 + *(int *)(param_2 + 0x10);
    iVar21 = *(int *)(param_1 + 0x34);
    if (*(int *)(iVar21 + 0x14) != 0) {
      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);
      puVar22 = &local_bc;
      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {
LAB_000f3135:
        ppuVar4 = local_58;
        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;
        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;
        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;
                    /* WARNING: Subroutine does not return */
        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;
        FUN_002446e0();
      }
      local_bc = *(uint *)(iVar1 + 4);
      uVar23 = *(uint *)(iVar1 + 8);
      local_b8 = uVar23;
      puVar22 = &local_bc;
      if ((local_44 != (int *)0x0) &&
         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,
         *(int **)(param_1 + 0x40) != (int *)0x0)) {
        local_7c = -local_bc - 0x8000;
        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);
        puVar22 = &local_bc;
        do {
          iVar1 = local_44[1];
          if (iVar1 == 0) {
            piVar7 = (int *)local_44[2];
            uVar23 = local_44[5];
            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {
              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;
              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;
              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;
              FUN_002446e0();
            }
            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {
              iVar21 = *(int *)(iVar21 + 0x20);
            }
            else {
              iVar21 = *(int *)(iVar21 + 0x1c);
              if (iVar21 == 0) {
                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;
                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;
                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;
                FUN_002446e0();
              }
            }
            iVar1 = *piVar7;
            *(uint *)((int)puVar22 + -0xc) = uVar23;
            *(int **)((int)puVar22 + -0x10) = piVar7;
            pcVar3 = *(code **)(iVar1 + 0xa8);
            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;
            local_54 = (uint *)(*pcVar3)();
            local_50 = 0;
LAB_000f2fbb:
            piVar7 = local_44;
            local_50 = 0;
            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;
            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));
            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +
                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));
            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||
               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {
              *(int *)((int)puVar22 + -0xc) = local_44[1];
              *(uint ***)((int)puVar22 + -0x10) = &local_34;
              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;
              FUN_0034dd40();
              puVar11 = local_34;
              uVar2 = *(undefined4 *)(piVar7[2] + 4);
              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;
              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;
              uVar9 = gettext();
              *(uint **)((int)puVar22 + -0xc) = puVar11;
              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;
              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;
                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */
              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;
              FUN_0023b810();
              puVar5 = (undefined1 *)((int)puVar22 + -4);
              if (local_34 != local_2c) {
                *(uint **)((int)puVar22 + -0x14) = local_34;
                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;
                FUN_003ae080();
                puVar5 = (undefined1 *)((int)puVar22 + -4);
              }
            }
            puVar22 = (uint *)puVar5;
            puVar11 = local_64;
            local_4c = *(uint **)(param_1 + 0x34);
            local_68 = local_4c[2] & 2;
            if ((local_4c[2] & 2) == 0) {
              iVar21 = *(int *)(*local_74 + 8);
              if (iVar21 == 0) {
                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;
                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;
                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;
                FUN_002446e0();
              }
              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));
              if ((char)local_4c[0x27] == '\0') {
                local_69 = false;
                local_64 = (uint *)0x0;
                uVar23 = local_44[6];
                local_60 = 0;
                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);
                bVar26 = false;
              }
              else {
                *(undefined4 *)((int)puVar22 + -4) = 0;
                *(undefined4 *)((int)puVar22 + -8) = 0x18;
                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);
                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;
                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;
                uVar23 = FUN_00442bb0();
                puVar11 = local_64;
                uVar24 = local_4c[10];
                if (uVar24 == 0) {
                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;
                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;
                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;
                  FUN_002446e0();
                }
                local_90 = 0;
                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +
                         0x40 + uVar23 * 8;
                local_94 = uVar12;
                if (0x8000 < uVar23) {
                  uVar23 = uVar23 * 4 - 0x20000;
                  local_94 = uVar12 + uVar23;
                  local_90 = (uint)CARRY4(uVar12,uVar23);
                }
                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;
                local_b4 = *(uint *)(uVar24 + 4);
                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);
                local_b0 = *(int *)(uVar24 + 8);
                if (uVar23 < 0x20) {
                  uVar23 = 0x20;
                }
                bVar26 = *(byte *)(param_1 + 0x1c);
                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);
                local_69 = (bool)(bVar26 & 1);
                if ((bVar26 & 1) == 0) goto LAB_000f3135;
                local_a0 = 0;
                local_9c = 4;
                local_98 = 0;
                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);
                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;
                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +
                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +
                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);
                uVar23 = local_44[6];
                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;
                local_a4 = uVar23;
                local_ac = uVar12 * 4;
                local_a8 = 0;
                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);
                if (local_54 == (uint *)0x0) {
                  local_9c = 0;
                  local_98 = 0;
                }
                local_98 = 0;
                uVar13 = local_5c & 0xff;
                local_64 = (uint *)0x0;
                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {
                  local_64 = (uint *)0x4;
                }
                uVar25 = local_b4 + uVar13 * -4;
                uVar14 = uVar25 - 0x14;
                uVar15 = uVar14 - local_8c;
                uVar16 = uVar15 - uVar23;
                uVar12 = uVar16 + uVar12 * -4;
                uVar17 = uVar12 + local_94;
                uVar18 = uVar17 - local_9c;
                puVar19 = (uint *)(uVar18 - (int)local_64);
                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +
                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -
                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +
                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -
                           (uint)(uVar18 < local_64);
                local_64 = puVar19;
                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);
                bVar26 = iVar21 != 0 ||
                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);
              }
            }
            else {
              local_5c = (uint)local_5c._1_3_ << 8;
              local_69 = false;
              puVar19 = local_64 + 0x2000;
              local_64 = (uint *)0x0;
              uVar23 = local_44[6];
              local_60 = 0;
              local_54 = (uint *)((uint)puVar19 >> 0x10);
              bVar26 = false;
            }
            piVar7 = (int *)(uVar23 + local_70);
            uVar23 = local_44[1];
            if (local_4c[0x2d] == 0) {
              bVar20 = *(byte *)((int)local_44 + 0x1f);
            }
            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {
              *piVar7 = -0x169d0000;
              piVar7[1] = -0x167cfff8;
              piVar7[2] = 0x7c601b78;
              piVar7[3] = 0x2c2b0000;
              piVar7[4] = 0x7c6c6a14;
              piVar7[5] = 0x4d820020;
              piVar7[6] = 0x7c030378;
              bVar20 = *(byte *)((int)local_44 + 0x1f);
              bVar26 = local_69;
              if ((char)bVar20 < '\0') {
                piVar7 = piVar7 + 7;
              }
              else {
                piVar7[7] = 0x7d6802a6;
                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +
                            0xf9610008;
                bVar20 = *(byte *)((int)local_44 + 0x1f);
                piVar7 = piVar7 + 9;
              }
            }
            else {
              bVar20 = *(byte *)((int)local_44 + 0x1f);
            }
            if (local_54 == (uint *)0x0) {
              piVar10 = piVar7;
              if ((bVar20 & 0x40) != 0) {
                piVar10 = piVar7 + 1;
                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +
                          0xf8410018;
              }
              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;
              if (local_68 == 0) {
                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {
                  piVar7 = piVar10 + 1;
                  local_54 = puVar11;
                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;
                }
                else {
                  piVar7 = piVar10 + 2;
                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;
                  iVar21 = -0x17bdfff8;
                }
                *piVar7 = 0x7d8903a6;
                piVar8 = piVar7 + 1;
                if ((bool)bVar26 != false) {
                  piVar7[1] = 0x7d8b6278;
                  piVar8 = piVar7 + 3;
                  piVar7[2] = 0x7c425a14;
                }
                piVar10 = piVar8 + 1;
                if ((char)local_5c != '\0') {
                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;
                  piVar10 = piVar8 + 2;
                  piVar8 = piVar8 + 1;
                }
                *piVar8 = iVar21;
              }
              else {
                piVar10[1] = 0x7d8903a6;
                piVar10 = piVar10 + 2;
              }
            }
            else {
              piVar8 = piVar7;
              if ((bVar20 & 0x40) != 0) {
                piVar8 = piVar7 + 1;
                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +
                          0xf8410018;
              }
              uVar24 = (uint)puVar11 & 0xffff;
              if (local_68 == 0) {
                *piVar8 = (int)(local_54 + 0xf588000);
                piVar8[1] = uVar24 + 0xe98b0000;
                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))
                {
                  piVar7 = piVar8 + 2;
                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;
                }
                else {
                  piVar7 = piVar8 + 3;
                  puVar11 = (uint *)0x0;
                  piVar8[2] = uVar24 + 0x396b0000;
                  iVar21 = -0x17b4fff8;
                }
                *piVar7 = 0x7d8903a6;
                if ((bool)bVar26 == false) {
                  piVar10 = piVar7 + 1;
                }
                else {
                  piVar7[1] = 0x7d826278;
                  piVar10 = piVar7 + 3;
                  piVar7[2] = 0x7d6b1214;
                }
                uVar27 = CONCAT44(puVar11,piVar10);
                *piVar10 = iVar21;
                if ((char)local_5c != '\0') goto LAB_000f37c0;
                piVar10 = piVar10 + 1;
              }
              else {
                piVar8[2] = 0x7d8903a6;
                piVar10 = piVar8 + 3;
                piVar8[1] = uVar24 + 0xe98c0000;
                *piVar8 = (int)(local_54 + 0xf608000);
              }
            }
          }
          else {
            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {
LAB_000f2f9a:
              iVar21 = *(int *)(iVar21 + 0x18);
              if (iVar21 == 0) {
                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;
                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;
                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;
                FUN_002446e0();
              }
LAB_000f2fa5:
              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {
                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;
                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;
                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;
                FUN_002446e0();
              }
              local_50 = 0;
              local_54 = *(uint **)(iVar1 + 0x18);
              goto LAB_000f2fbb;
            }
            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {
              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&
                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||
                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;
              goto LAB_000f2f9a;
            }
            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;
LAB_000f3795:
            *(int *)((int)puVar22 + -0x10) = iVar1;
            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;
            cVar6 = FUN_00071a80();
            if (cVar6 != '\0') goto LAB_000f2f9a;
            iVar21 = *(int *)(iVar21 + 0x1c);
            if (iVar21 != 0) goto LAB_000f2fa5;
            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;
            uVar27 = FUN_000af2f0();
            bVar26 = extraout_CL;
LAB_000f37c0:
            piVar10 = (int *)((int)uVar27 + 8);
            *(uint *)((int)uVar27 + 4) =
                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;
          }
          if (*(char *)((int)local_44 + 0x1f) < '\0') {
LAB_000f2f35:
            if ((bVar26 == 1) || (local_69 == false)) {
              *piVar10 = 0x4e800420;
            }
            else {
              *piVar10 = 0x28220000;
              piVar10[1] = 0x4ce20420;
              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;
            }
          }
          else {
            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);
            if ((uVar24 == 0) ||
               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))
            goto LAB_000f2f35;
            *piVar10 = 0x4e800421;
            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +
                         0xe8410018;
            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);
            piVar10[3] = 0x7d6803a6;
            piVar10[4] = 0x4e800020;
            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;
            uVar23 = param_1;
          }
          local_44 = (int *)*local_44;
          if (local_44 == (int *)0x0) break;
          iVar21 = *(int *)(param_1 + 0x34);
        } while( true );
      }
      puVar11 = puVar22;
      piVar7 = local_44;
      local_44 = *(int **)(param_1 + 0x5c);
joined_r0x000f30c8:
      puVar19 = puVar11;
      if (local_44 != (int *)0x0) {
        do {
          puVar11 = puVar19;
          if ((char)local_44[4] == '\0') {
            local_5c = local_44[5];
            local_4c = *(uint **)(param_1 + 0x74);
            local_64 = (uint *)((int)local_4c + local_70 + local_5c);
            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;
            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);
            if (uVar23 < 0x20) {
              uVar23 = 0x20;
            }
            puVar22 = puVar19;
            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;
            local_50 = local_44[2];
            local_54 = (uint *)local_44[1];
            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);
            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;
            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +
                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +
                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);
            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);
            uVar23 = uVar24 - local_5c;
            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -
                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -
                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);
            local_4c = (uint *)(uVar23 + 0x2000000);
            if (local_48 == 0 &&
                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)
            goto code_r0x000f32c9;
            local_4c = *(uint **)(param_1 + 0x34);
            *(uint ***)((int)puVar19 + -8) = &local_34;
            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;
            *(int **)((int)puVar19 + -0x10) = local_40;
            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;
            local_34 = local_54;
            local_30 = local_50;
            FUN_00109180();
            puVar22 = (uint *)((int)puVar19 + -4);
            puVar11 = (uint *)((int)puVar19 + -4);
            if (local_40[0] == 0) {
              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;
              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;
              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;
              FUN_002446e0();
            }
            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);
            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;
            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]
            ;
            uVar24 = uVar23 & 0xffff;
            uVar23 = uVar23 + 0x8000 >> 0x10;
            if (uVar23 == 0) {
              *local_64 = uVar24 + 0xe9820000;
              puVar19 = local_64 + 1;
            }
            else {
              local_64[1] = uVar24 + 0xe98c0000;
              puVar19 = local_64 + 2;
              *local_64 = uVar23 + 0x3d820000;
            }
            *puVar19 = 0x7d8903a6;
            puVar19[1] = 0x4e800420;
          }
          local_44 = (int *)*local_44;
          puVar19 = puVar11;
          piVar7 = local_44;
          if (local_44 == (int *)0x0) break;
        } while( true );
      }
      local_44 = piVar7;
      if (*(char *)(param_1 + 0x8c) == '\0') {
        return;
      }
      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);
      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);
      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {
        uVar2 = *(undefined4 *)(iVar21 + 0x2c);
        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);
        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;
        *(uint *)((int)puVar11 + -0x10) = uVar23;
        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;
        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),
               *(size_t *)((int)puVar11 + -8));
        return;
      }
      goto LAB_000f398a;
    }
    uVar23 = FUN_000af350();
  }
                    /* WARNING: Subroutine does not return */
  FUN_002446e0((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23);
code_r0x000f32c9:
  *local_64 = uVar23 & 0x3fffffc | 0x48000000;
  local_44 = (int *)*local_44;
  piVar7 = local_44;
  goto joined_r0x000f30c8;
}


CALL 0x00074f02
ADD EAX,0x4f735b
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0xac
MOV dword ptr [EBP + -0x54],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x44]
MOV dword ptr [EBP + -0x40],EAX
TEST EAX,EAX
JNZ 0x000f2cd4
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x60]
TEST EAX,EAX
JZ 0x000f3230
MOV EAX,dword ptr [EBP + 0x8]
MOVZX EAX,byte ptr [EAX + 0x1c]
MOV byte ptr [EBP + -0x58],AL
TEST AL,0x4
JZ 0x000f3934
MOV EAX,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [EAX + 0x18]
MOV EAX,dword ptr [EAX + 0x14]
MOV dword ptr [EBP + -0x50],EAX
MOV dword ptr [EBP + -0x48],EAX
MOV EAX,dword ptr [EBP + -0x54]
MOV dword ptr [EBP + -0x4c],EDX
LEA EAX,[EAX + 0x7c8]
MOV dword ptr [EBP + -0x70],EAX
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000f392f
MOV ECX,dword ptr [EAX + 0x2b20]
MOV ESI,0x1
MOV EAX,0x20
SHL ESI,CL
CMP ESI,0x20
CMOVC ESI,EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV ECX,dword ptr [EAX + 0x70]
MOV EAX,ESI
ADD ECX,dword ptr [EBP + -0x50]
ADD EAX,-0x1
ADD EAX,ECX
NEG ESI
AND EAX,ESI
TEST byte ptr [EBP + -0x58],0x2
JZ 0x000f398a
MOV EDI,dword ptr [EBP + 0x8]
MOV ECX,EAX
SUB ECX,dword ptr [EBP + -0x48]
XOR EBX,EBX
MOV ESI,dword ptr [EDI + 0xc]
MOV EDI,dword ptr [EDI + 0x10]
MOV dword ptr [EBP + -0x48],ESI
SUB ESI,ECX
MOV dword ptr [EBP + -0x44],EDI
SBB EDI,EBX
MOV EDX,ESI
MOV EBX,EDI
XOR EDX,ESI
XOR EDI,EDI
MOV ECX,EBX
OR ECX,EDX
JNZ 0x000f396e
MOV ECX,EAX
XOR EBX,EBX
ADD ECX,ESI
ADC EBX,EDI
MOV EDI,dword ptr [EBP + 0xc]
MOV EDX,dword ptr [EDI + 0xc]
CMP dword ptr [EDI + 0x8],ECX
SBB EDX,EBX
JL 0x000f3955
MOV EDI,dword ptr [EBP + 0xc]
ADD EAX,dword ptr [EDI + 0x10]
MOV dword ptr [EBP + -0x6c],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x34]
MOV EAX,dword ptr [EBX + 0x14]
TEST EAX,EAX
JZ 0x000f3950
MOV EAX,dword ptr [EAX + 0x20]
TEST byte ptr [EAX + 0x1c],0x1
JZ 0x000f3135
MOV ESI,dword ptr [EAX + 0x4]
MOV EDI,dword ptr [EAX + 0x8]
MOV EAX,dword ptr [EBP + -0x40]
MOV dword ptr [EBP + 0xffffff48],ESI
MOV dword ptr [EBP + 0xffffff4c],EDI
TEST EAX,EAX
JZ 0x000f30c0
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x40]
MOV dword ptr [EBP + -0x40],EAX
TEST EAX,EAX
JZ 0x000f30c0
MOV EAX,0xffff8000
MOV EDX,0xffffffff
SUB EAX,ESI
SBB EDX,EDI
MOV dword ptr [EBP + -0x78],EAX
MOV dword ptr [EBP + -0x74],EDX
JMP 0x000f2f7d
MOV EDX,dword ptr [EBP + -0x60]
MOV EAX,dword ptr [EBP + -0x40]
MOV byte ptr [EBP + -0x58],0x0
MOV byte ptr [EBP + -0x65],0x0
LEA ECX,[EDX + 0x8000]
MOV dword ptr [EBP + -0x60],0x0
MOV EAX,dword ptr [EAX + 0x18]
MOV dword ptr [EBP + -0x5c],0x0
SHR ECX,0x10
MOV dword ptr [EBP + -0x50],ECX
XOR ECX,ECX
MOV EBX,dword ptr [EBP + -0x48]
MOV EDI,dword ptr [EBP + -0x40]
ADD EAX,dword ptr [EBP + -0x6c]
MOV EBX,dword ptr [EBX + 0xb4]
MOV EDI,dword ptr [EDI + 0x4]
TEST EBX,EBX
JZ 0x000f34a0
MOV ESI,dword ptr [EBP + -0x48]
CMP dword ptr [ESI + 0xb0],EDI
JZ 0x000f33c8
CMP EDI,EBX
JZ 0x000f33c8
MOV ESI,dword ptr [EBP + -0x40]
MOVZX EBX,byte ptr [ESI + 0x1f]
MOV ESI,dword ptr [EBP + -0x50]
AND EBX,0x40
TEST ESI,ESI
JZ 0x000f3310
TEST BL,BL
JZ 0x000f2e97
MOV ESI,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [ESI + 0x34]
MOV EBX,dword ptr [EBX + 0x8]
AND EBX,0x2
CMP EBX,0x1
SBB EBX,EBX
ADD EAX,0x4
AND EBX,0x10
SUB EBX,0x7beffe8
MOV dword ptr [EAX + -0x4],EBX
MOV ESI,dword ptr [EBP + -0x64]
MOVZX EBX,DX
TEST ESI,ESI
JNZ 0x000f36d0
MOV ESI,dword ptr [EBP + -0x50]
ADD ESI,0x3d620000
MOV dword ptr [EAX],ESI
LEA ESI,[EBX + 0xe98b0000]
MOV dword ptr [EAX + 0x4],ESI
MOVZX ESI,byte ptr [EBP + -0x58]
LEA ESI,[EDX + ESI*0x8 + 0x8008]
SHR ESI,0x10
CMP dword ptr [EBP + -0x50],ESI
JZ 0x000f3820
ADD EBX,0x396b0000
ADD EAX,0xc
XOR EDX,EDX
MOV dword ptr [EAX + -0x4],EBX
MOV EBX,0xe84b0008
MOV dword ptr [EAX],0x7d8903a6
TEST CL,CL
JNZ 0x000f37e0
ADD EAX,0x4
CMP byte ptr [EBP + -0x58],0x0
MOV dword ptr [EAX],EBX
JNZ 0x000f37c0
ADD EAX,0x4
LEA ESI,[ESI]
NOP
MOV ESI,dword ptr [EBP + -0x40]
CMP byte ptr [ESI + 0x1f],0x0
JS 0x000f2f35
MOV ESI,dword ptr [EBP + 0x8]
MOV EDX,dword ptr [ESI + 0x34]
MOV EBX,dword ptr [EDX + 0xb4]
TEST EBX,EBX
JZ 0x000f2f35
CMP dword ptr [EDX + 0xb0],EDI
JZ 0x000f3710
CMP EDI,EBX
JZ 0x000f3710
CMP CL,0x1
JZ 0x000f33b8
CMP byte ptr [EBP + -0x65],0x0
JZ 0x000f33b8
MOV ECX,dword ptr [EBP + -0x60]
MOV dword ptr [EAX],0x28220000
MOV dword ptr [EAX + 0x4],0x4ce20420
AND ECX,0x3fffffc
OR ECX,0x48000000
MOV dword ptr [EAX + 0x8],ECX
MOV EAX,dword ptr [EBP + -0x40]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + -0x40],EAX
TEST EAX,EAX
JZ 0x000f30c0
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x34]
MOV EAX,dword ptr [EBP + -0x40]
MOV ESI,dword ptr [EAX + 0x4]
TEST ESI,ESI
JZ 0x000f3440
MOVZX EAX,byte ptr [ESI + 0x28]
AND EAX,0xf
CMP AL,0xa
JZ 0x000f3780
MOV EBX,dword ptr [EBX + 0x18]
TEST EBX,EBX
JZ 0x000f38b7
MOV EAX,dword ptr [ESI + 0x18]
CMP EAX,-0x1
JZ 0x000f387e
MOV dword ptr [EBP + -0x50],EAX
MOV dword ptr [EBP + -0x4c],0x0
TEST byte ptr [EBX + 0x1c],0x1
JZ 0x000f3135
MOV EAX,dword ptr [EBP + -0x78]
MOV EDX,dword ptr [EBP + -0x74]
ADD EAX,dword ptr [EBP + -0x50]
ADC EDX,dword ptr [EBP + -0x4c]
ADD EAX,dword ptr [EBX + 0x4]
ADC EDX,dword ptr [EBX + 0x8]
MOV ESI,EAX
MOV dword ptr [EBP + -0x60],EAX
ADD EAX,0x80008000
MOV dword ptr [EBP + -0x5c],EDX
ADC EDX,0x0
CMP EDX,0x0
JA 0x000f2ff3
MOV EAX,ESI
AND EAX,0x7
JZ 0x000f304b
MOV ESI,dword ptr [EBP + -0x40]
LEA EAX,[EBP + -0x30]
SUB ESP,0x8
MOV EBX,dword ptr [EBP + -0x54]
PUSH dword ptr [ESI + 0x4]
PUSH EAX
CALL 0x0034dd40
MOV EAX,dword ptr [ESI + 0x8]
MOV ECX,dword ptr [EBP + -0x54]
MOV EDI,dword ptr [EBP + -0x30]
MOV ESI,dword ptr [EAX + 0x4]
LEA EAX,[ECX + 0xffe7cab8]
MOV EBX,ECX
PUSH EAX
CALL 0x00039440
ADD ESP,0xc
PUSH EDI
MOV EDI,dword ptr [EBP + -0x54]
PUSH ESI
PUSH EAX
MOV EBX,EDI
CALL 0x0023b810
MOV EAX,dword ptr [EBP + -0x30]
LEA EDX,[EBP + -0x28]
ADD ESP,0x10
CMP EAX,EDX
JZ 0x000f304b
SUB ESP,0xc
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x34]
MOV dword ptr [EBP + -0x48],EAX
MOV EAX,dword ptr [EAX + 0x8]
AND EAX,0x2
MOV dword ptr [EBP + -0x64],EAX
JNZ 0x000f2e00
MOV EAX,dword ptr [EBP + -0x70]
MOV EAX,dword ptr [EAX]
MOV EDI,dword ptr [EAX + 0x8]
TEST EDI,EDI
JZ 0x000f389c
MOVZX EAX,byte ptr [EDI + 0x2bdd]
MOV byte ptr [EBP + -0x58],AL
MOV EAX,dword ptr [EBP + -0x48]
MOVZX ECX,byte ptr [EAX + 0x9c]
TEST CL,CL
JNZ 0x000f34b0
MOV EDX,dword ptr [EBP + -0x60]
MOV EAX,dword ptr [EBP + -0x40]
MOV byte ptr [EBP + -0x65],0x0
MOV dword ptr [EBP + -0x60],0x0
LEA EBX,[EDX + 0x8000]
MOV EAX,dword ptr [EAX + 0x18]
MOV dword ptr [EBP + -0x5c],0x0
SHR EBX,0x10
MOV dword ptr [EBP + -0x50],EBX
JMP 0x000f2e2d
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x5c]
TEST EBX,EBX
JZ 0x000f31ef
MOV dword ptr [EBP + -0x40],EBX
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + -0x40]
CMP byte ptr [EAX + 0x10],0x0
JNZ 0x000f31df
MOV EDI,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x14]
MOV EDI,dword ptr [EDI + 0x74]
MOV dword ptr [EBP + -0x58],EBX
MOV EAX,EDI
MOV dword ptr [EBP + -0x48],EDI
ADD EAX,EBX
ADD EAX,dword ptr [EBP + -0x6c]
MOV dword ptr [EBP + -0x60],EAX
MOV EAX,dword ptr [EBP + -0x70]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000f392f
MOV ECX,dword ptr [EAX + 0x2b20]
MOV ESI,0x1
MOV EAX,0x20
SHL ESI,CL
CMP ESI,0x20
CMOVC ESI,EAX
MOV EAX,dword ptr [EBP + 0x8]
XOR EDI,EDI
TEST byte ptr [EAX + 0x1c],0x1
JNZ 0x000f3240
MOV EBX,dword ptr [EBP + -0x54]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe7b974]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xc5
PUSH EAX
CALL 0x002446e0
MOV EAX,dword ptr [EBP + 0x8]
SUB ESP,0x4
MOV EDX,dword ptr [EBP + -0x4c]
MOV EAX,dword ptr [EAX + 0x34]
MOV dword ptr [EBP + -0x2c],EDX
LEA EDX,[EBP + -0x3c]
MOV dword ptr [EBP + -0x48],EAX
MOV EAX,dword ptr [EBP + -0x50]
MOV dword ptr [EBP + -0x30],EAX
LEA EAX,[EBP + -0x30]
PUSH EAX
MOV EAX,dword ptr [EBP + -0x48]
ADD EAX,0x58
PUSH EAX
PUSH EDX
CALL 0x00109180
MOV EAX,dword ptr [EBP + -0x3c]
ADD ESP,0xc
TEST EAX,EAX
JZ 0x000f3860
MOV EDI,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0xc]
MOV ECX,dword ptr [EDI + 0x34]
MOV ECX,dword ptr [ECX + 0x24]
TEST byte ptr [ECX + 0x1c],0x1
JZ 0x000f3135
MOV EDI,dword ptr [EBP + -0x40]
ADD EAX,dword ptr [ECX + 0x4]
SUB EAX,dword ptr [EBP + 0xffffff48]
SUB EAX,dword ptr [EDI + 0xc]
LEA EDX,[EAX + 0x8000]
MOVZX EAX,AX
SHR EDX,0x10
JNZ 0x000f32f0
MOV EDI,dword ptr [EBP + -0x60]
SUB EAX,0x167e0000
MOV dword ptr [EDI],EAX
LEA EAX,[EDI + 0x4]
MOV dword ptr [EAX],0x7d8903a6
MOV dword ptr [EAX + 0x4],0x4e800420
MOV EAX,dword ptr [EBP + -0x40]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + -0x40],EAX
TEST EAX,EAX
JNZ 0x000f30d8
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x8c],0x0
JZ 0x000f3230
MOV EDI,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EBP + -0x6c]
MOV EDX,dword ptr [EDI + 0x34]
ADD EAX,dword ptr [EDI + 0x7c]
ADD EAX,dword ptr [EDI + 0x74]
MOV EDX,dword ptr [EDX + 0xac]
TEST byte ptr [EDX + 0x1c],0x2
JZ 0x000f398a
MOV ECX,dword ptr [EDX + 0x2c]
SUB ESP,0x4
MOV EBX,dword ptr [EBP + -0x54]
PUSH dword ptr [EDX + 0xc]
PUSH ECX
PUSH EAX
CALL 0x000392d0
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + -0x40]
MOV ECX,ESI
MOV EBX,EDI
ADD ECX,-0x1
MOV EDX,dword ptr [EAX + 0x8]
MOV EAX,dword ptr [EAX + 0x4]
ADC EBX,-0x1
MOV dword ptr [EBP + -0x4c],EDX
MOV EDX,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x50],EAX
MOV EAX,dword ptr [EDX + 0x70]
ADD ECX,dword ptr [EDX + 0x4]
ADC EBX,dword ptr [EDX + 0x8]
XOR EDX,EDX
ADD EAX,ECX
MOV ECX,dword ptr [EBP + -0x50]
ADC EDX,EBX
NEG ESI
MOV EBX,EAX
MOV EAX,dword ptr [EBP + -0x48]
ADC EDI,0x0
AND EBX,ESI
MOV ESI,0x3ffffff
NEG EDI
MOV dword ptr [EBP + -0x80],EBX
MOV EBX,dword ptr [EBP + -0x4c]
AND EDX,EDI
MOV dword ptr [EBP + -0x7c],EDX
XOR EDX,EDX
ADD EAX,dword ptr [EBP + -0x80]
ADC EDX,dword ptr [EBP + -0x7c]
SUB ECX,EAX
MOV EAX,ECX
MOV ECX,dword ptr [EBP + -0x58]
SBB EBX,EDX
MOV EDX,EBX
XOR EBX,EBX
SUB EAX,ECX
SBB EDX,EBX
MOV ECX,EAX
ADD ECX,0x2000000
MOV EBX,EDX
ADC EBX,0x0
MOV dword ptr [EBP + -0x48],ECX
MOV ECX,0x0
CMP ESI,dword ptr [EBP + -0x48]
MOV dword ptr [EBP + -0x44],EBX
SBB ECX,dword ptr [EBP + -0x44]
JC 0x000f3158
AND EAX,0x3fffffc
MOV EDI,dword ptr [EBP + -0x60]
OR EAX,0x48000000
MOV dword ptr [EDI],EAX
MOV EAX,dword ptr [EBP + -0x40]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + -0x40],EAX
TEST EAX,EAX
JNZ 0x000f30d8
JMP 0x000f31ef
MOV EDI,dword ptr [EBP + -0x60]
SUB EAX,0x16740000
ADD EDX,0x3d820000
MOV dword ptr [EDI + 0x4],EAX
LEA EAX,[EDI + 0x8]
MOV dword ptr [EDI],EDX
JMP 0x000f31d2
TEST BL,BL
JZ 0x000f3334
MOV EBX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EBX + 0x34]
MOV EBX,dword ptr [EBX + 0x8]
AND EBX,0x2
CMP EBX,0x1
SBB EBX,EBX
ADD EAX,0x4
AND EBX,0x10
SUB EBX,0x7beffe8
MOV dword ptr [EAX + -0x4],EBX
MOVZX EBX,DX
LEA ESI,[EBX + 0xe9820000]
MOV dword ptr [EAX],ESI
MOV ESI,dword ptr [EBP + -0x64]
TEST ESI,ESI
JNZ 0x000f36f8
MOVZX ESI,byte ptr [EBP + -0x58]
LEA ESI,[EDX + ESI*0x8 + 0x8008]
SHR ESI,0x10
JZ 0x000f3800
ADD EBX,0x38420000
ADD EAX,0x8
MOV dword ptr [EAX + -0x4],EBX
MOV EBX,0xe8420008
MOV dword ptr [EAX],0x7d8903a6
LEA EDX,[EAX + 0x4]
TEST CL,CL
JZ 0x000f338d
MOV dword ptr [EAX + 0x4],0x7d8b6278
LEA EDX,[EAX + 0xc]
MOV dword ptr [EAX + 0x8],0x7c425a14
CMP byte ptr [EBP + -0x58],0x0
LEA EAX,[EDX + 0x4]
JZ 0x000f33ae
MOV ESI,dword ptr [EBP + -0x50]
ADD ESI,0x10
MOVZX ESI,SI
SUB ESI,0x169e0000
MOV dword ptr [EDX],ESI
LEA ESI,[EDX + 0x8]
MOV EDX,EAX
MOV EAX,ESI
MOV dword ptr [EDX],EBX
JMP 0x000f2f08
MOV dword ptr [EAX],0x4e800420
JMP 0x000f2f67
MOV ECX,dword ptr [EBP + -0x40]
MOV dword ptr [EAX],0xe9630000
MOV dword ptr [EAX + 0x4],0xe9830008
MOV dword ptr [EAX + 0x8],0x7c601b78
MOV dword ptr [EAX + 0xc],0x2c2b0000
MOV dword ptr [EAX + 0x10],0x7c6c6a14
MOV dword ptr [EAX + 0x14],0x4d820020
MOV dword ptr [EAX + 0x18],0x7c030378
MOVZX EBX,byte ptr [ECX + 0x1f]
TEST BL,BL
JS 0x000f3770
MOV ECX,dword ptr [EBP + 0x8]
MOV dword ptr [EAX + 0x1c],0x7d6802a6
MOV ECX,dword ptr [ECX + 0x34]
MOV ECX,dword ptr [ECX + 0x8]
AND ECX,0x2
CMP ECX,0x1
SBB ECX,ECX
ADD EAX,0x24
AND ECX,0x18
SUB ECX,0x69efff8
MOV dword ptr [EAX + -0x4],ECX
MOV ECX,dword ptr [EBP + -0x40]
MOVZX EBX,byte ptr [ECX + 0x1f]
MOVZX ECX,byte ptr [EBP + -0x65]
JMP 0x000f2e65
MOV EAX,dword ptr [EBP + -0x40]
MOV EDX,dword ptr [EAX + 0x8]
MOV ECX,dword ptr [EAX + 0x14]
MOV ESI,dword ptr [EDX + 0xdc]
MOV EAX,dword ptr [EDX + 0xe0]
SUB EAX,ESI
SAR EAX,0x2
IMUL EAX,EAX,-0x33333333
CMP ECX,EAX
JNC 0x000f38d5
LEA EAX,[ECX + ECX*0x4]
TEST byte ptr [ESI + EAX*0x4 + 0xb],0x40
JZ 0x000f3760
MOV EBX,dword ptr [EBX + 0x1c]
TEST EBX,EBX
JZ 0x000f38f3
SUB ESP,0x8
MOV EAX,dword ptr [EDX]
PUSH ECX
PUSH EDX
CALL dword ptr [EAX + 0xa8]
MOV dword ptr [EBP + -0x4c],0x0
MOV dword ptr [EBP + -0x50],EAX
ADD ESP,0x10
JMP 0x000f2fbb
MOV EBX,dword ptr [EBP + -0x40]
MOVZX EBX,byte ptr [EBX + 0x1f]
JMP 0x000f2e65
MOV EAX,dword ptr [EBP + -0x50]
MOV EDX,dword ptr [EBP + -0x4c]
PUSH 0x0
PUSH 0x18
MOV EBX,dword ptr [EBP + -0x54]
ADD EAX,-0x18
ADC EDX,-0x1
PUSH EDX
PUSH EAX
CALL 0x00442bb0
MOV EDX,dword ptr [EBP + -0x48]
ADD ESP,0x10
MOV EBX,dword ptr [EDX + 0x28]
TEST EBX,EBX
JZ 0x000f3911
MOV dword ptr [EBP + 0xffffff74],0x0
MOV EDX,dword ptr [EBX + 0x2c]
MOV EDX,dword ptr [EDX + 0x8]
AND EDX,0x2
CMP EDX,0x1
SBB EDX,EDX
AND EDX,0xfffffff4
LEA ECX,[EDX + EAX*0x8 + 0x40]
MOV dword ptr [EBP + 0xffffff70],ECX
CMP EAX,0x8000
JBE 0x000f351c
XOR EDX,EDX
LEA EAX,[EAX*0x4 + 0xfffe0000]
ADD dword ptr [EBP + 0xffffff70],EAX
ADC dword ptr [EBP + 0xffffff74],EDX
TEST byte ptr [EBX + 0x1c],0x1
JZ 0x000f3135
MOV ECX,dword ptr [EDI + 0x2b20]
MOV EAX,dword ptr [EBX + 0x4]
MOV EDI,0x1
MOV EDX,dword ptr [EBX + 0x8]
SHL EDI,CL
MOV dword ptr [EBP + 0xffffff50],EAX
MOV EAX,0x20
CMP EDI,0x20
MOV dword ptr [EBP + 0xffffff54],EDX
CMOVC EDI,EAX
MOV EAX,dword ptr [EBP + 0x8]
XOR ECX,ECX
MOVZX EAX,byte ptr [EAX + 0x1c]
MOV EDX,EDI
MOV byte ptr [EBP + -0x50],AL
AND EAX,0x1
MOV byte ptr [EBP + -0x65],AL
JZ 0x000f3135
MOV dword ptr [EBP + 0xffffff64],0x0
MOV EAX,dword ptr [EBP + 0x8]
MOV ESI,EDI
MOV EDI,ECX
MOV dword ptr [EBP + 0xffffff68],0x4
MOV ECX,EDX
MOV EBX,EDI
MOV dword ptr [EBP + 0xffffff6c],0x0
ADD ECX,-0x1
ADC EBX,-0x1
ADD ECX,dword ptr [EAX + 0x4]
ADC EBX,dword ptr [EAX + 0x8]
XOR EDX,EDX
MOV EAX,dword ptr [EAX + 0x70]
ADD EAX,ECX
MOV ECX,ESI
ADC EDX,EBX
NEG ECX
MOV EBX,EDI
MOV EDI,EAX
ADC EBX,0x0
AND EDI,ECX
MOV EAX,EDX
MOV dword ptr [EBP + 0xffffff78],EDI
MOV EDI,dword ptr [EBP + -0x40]
NEG EBX
AND EAX,EBX
MOVZX EDX,byte ptr [EDI + 0x1f]
MOV dword ptr [EBP + 0xffffff7c],EAX
MOV EAX,dword ptr [EDI + 0x18]
SHR DL,0x6
AND EDX,0x1
MOV dword ptr [EBP + 0xffffff60],EAX
SHL EDX,0x2
MOV dword ptr [EBP + 0xffffff58],EDX
SAR EDX,0x1f
MOV dword ptr [EBP + 0xffffff5c],EDX
MOV EDX,dword ptr [EBP + -0x60]
LEA ECX,[EDX + 0x8000]
SHR ECX,0x10
MOV dword ptr [EBP + -0x50],ECX
JNZ 0x000f3614
MOV dword ptr [EBP + 0xffffff68],0x0
MOV dword ptr [EBP + 0xffffff6c],0x0
MOVZX ECX,byte ptr [EBP + -0x58]
MOV dword ptr [EBP + -0x60],0x0
MOV dword ptr [EBP + -0x5c],0x0
LEA EBX,[EDX + ECX*0x8 + 0x8008]
SHR EBX,0x10
CMP dword ptr [EBP + -0x50],EBX
JZ 0x000f3643
MOV dword ptr [EBP + -0x60],0x4
MOV dword ptr [EBP + -0x5c],0x0
SHL ECX,0x2
MOV ESI,dword ptr [EBP + 0xffffff50]
MOV EDI,dword ptr [EBP + 0xffffff54]
MOV EBX,ECX
SAR EBX,0x1f
SUB ESI,ECX
SBB EDI,EBX
MOV ECX,ESI
MOV EBX,EDI
ADD ECX,-0x14
MOV EDI,0x3ffffff
ADC EBX,-0x1
SUB ECX,dword ptr [EBP + 0xffffff78]
SBB EBX,dword ptr [EBP + 0xffffff7c]
SUB ECX,dword ptr [EBP + 0xffffff60]
SBB EBX,dword ptr [EBP + 0xffffff64]
SUB ECX,dword ptr [EBP + 0xffffff58]
SBB EBX,dword ptr [EBP + 0xffffff5c]
ADD ECX,dword ptr [EBP + 0xffffff70]
ADC EBX,dword ptr [EBP + 0xffffff74]
SUB ECX,dword ptr [EBP + 0xffffff68]
SBB EBX,dword ptr [EBP + 0xffffff6c]
SUB ECX,dword ptr [EBP + -0x60]
SBB EBX,dword ptr [EBP + -0x5c]
MOV dword ptr [EBP + -0x60],ECX
ADD ECX,0x2000000
MOV dword ptr [EBP + -0x5c],EBX
ADC EBX,0x0
CMP EDI,ECX
MOV ECX,0x0
MOV ESI,EBX
SBB ECX,ESI
SETC CL
JMP 0x000f2e2d
MOV EDX,dword ptr [EBP + -0x50]
SUB EBX,0x16740000
MOV dword ptr [EAX + 0x8],0x7d8903a6
ADD EAX,0xc
MOV dword ptr [EAX + -0x8],EBX
ADD EDX,0x3d820000
MOV dword ptr [EAX + -0xc],EDX
JMP 0x000f2f08
MOV dword ptr [EAX + 0x4],0x7d8903a6
ADD EAX,0x8
JMP 0x000f2f08
MOV EDI,dword ptr [EBP + 0x8]
MOV dword ptr [EAX],0x4e800421
MOV EDX,dword ptr [EDI + 0x34]
MOV EDX,dword ptr [EDX + 0x8]
AND EDX,0x2
CMP EDX,0x1
SBB EDX,EDX
AND EDX,0x10
SUB EDX,0x17beffe8
MOV dword ptr [EAX + 0x4],EDX
MOV EDX,dword ptr [EDI + 0x34]
MOV EDX,dword ptr [EDX + 0x8]
MOV dword ptr [EAX + 0xc],0x7d6803a6
MOV dword ptr [EAX + 0x10],0x4e800020
AND EDX,0x2
CMP EDX,0x1
SBB EDX,EDX
AND EDX,0x18
SUB EDX,0x169efff8
MOV dword ptr [EAX + 0x8],EDX
JMP 0x000f2f67
MOV EBX,dword ptr [EBX + 0x20]
JMP 0x000f3481
ADD EAX,0x1c
MOVZX ECX,byte ptr [EBP + -0x65]
JMP 0x000f2e65
MOVZX EAX,byte ptr [ESI + 0x2a]
AND EAX,0x7
JZ 0x000f3838
CMP AL,0x4
JZ 0x000f2f9a
SUB ESP,0xc
PUSH ESI
CALL 0x00071a80
ADD ESP,0x10
TEST AL,AL
JNZ 0x000f2f9a
MOV EBX,dword ptr [EBX + 0x1c]
TEST EBX,EBX
JNZ 0x000f2fa5
CALL 0x000af2f0
LEA ESI,[ESI]
ADD EDX,0x10
ADD EAX,0x8
MOVZX EDX,DX
SUB EDX,0x16950000
MOV dword ptr [EAX + -0x4],EDX
JMP 0x000f2f08
MOV dword ptr [EAX + 0x4],0x7d826278
ADD EAX,0xc
MOV dword ptr [EAX + -0x4],0x7d6b1214
JMP 0x000f2ef4
LEA EBX,[EDX + 0x8]
ADD EAX,0x4
MOV dword ptr [EBP + -0x50],EDX
MOVZX EBX,BX
SUB EBX,0x17be0000
JMP 0x000f336f
LEA EBX,[EDX + 0x8]
ADD EAX,0x8
MOVZX EBX,BX
SUB EBX,0x17b50000
JMP 0x000f2ee3
MOV EAX,dword ptr [ESI + 0x8]
TEST byte ptr [EAX + 0x2c],0x1
JNZ 0x000f2f9a
MOV EDI,dword ptr [ESI + 0xc]
TEST EDI,EDI
JNZ 0x000f3795
TEST byte ptr [ESI + 0x2b],0x20
JZ 0x000f3795
JMP 0x000f2f9a
MOV EBX,dword ptr [EBP + -0x54]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe7b334]
PUSH EAX
LEA EAX,[EBX + 0xffe7c4c8]
PUSH 0x15f1
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x54]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe7b77c]
PUSH EAX
LEA EAX,[EBX + 0xffe633e0]
PUSH 0x1ce
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x54]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe7ba28]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x54]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe7b788]
PUSH EAX
LEA EAX,[EBX + 0xffe7c4c8]
PUSH 0x36a
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x54]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe7b984]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x8c1
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x54]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe7b794]
PUSH EAX
LEA EAX,[EBX + 0xffe7c4c8]
PUSH 0x372
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x54]
SUB ESP,0x4
LEA EAX,[EBX + 0xffe7b7bc]
PUSH EAX
LEA EAX,[EBX + 0xffe7c4c8]
PUSH 0x3a3
PUSH EAX
CALL 0x002446e0
CALL 0x000afd50
MOV EBX,dword ptr [EBP + -0x54]
PUSH EAX
LEA EAX,[EBX + 0xffe7b548]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xe3
PUSH EAX
CALL 0x002446e0
CALL 0x000af350
MOV EBX,dword ptr [EBP + -0x54]
PUSH EAX
LEA EAX,[EBX + 0xffe7b528]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0x6f
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x54]
PUSH EAX
LEA EAX,[EBX + 0xffe7b538]
PUSH EAX
LEA EAX,[EBX + 0xffe634b4]
PUSH 0xc0
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x54]
PUSH EAX
LEA EAX,[EBX + 0xffe7ba7c]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0xcf
PUSH EAX
CALL 0x002446e0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_000f2ca0(uint param_1,int param_2)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  code *pcVar3;\n  undefined **ppuVar4;\n  undefined1 *puVar5;\n  char cVar6;\n  int *piVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  byte extraout_CL;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint *puVar19;\n  byte bVar20;\n  int iVar21;\n  uint *puVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  byte bVar26;\n  undefined8 uVar27;\n  uint auStackY_d4 [2];\n  uint local_bc;\n  uint local_b8;\n  uint local_b4;\n  int local_b0;\n  uint local_ac;\n  undefined4 local_a8;\n  uint local_a4;\n  undefined4 local_a0;\n  uint local_9c;\n  undefined4 local_98;\n  uint local_94;\n  uint local_90;\n  uint local_8c;\n  uint local_88;\n  uint local_84;\n  uint local_80;\n  uint local_7c;\n  int local_78;\n  int *local_74;\n  int local_70;\n  bool local_69;\n  uint local_68;\n  uint *local_64;\n  int local_60;\n  uint local_5c;\n  undefined **local_58;\n  uint *local_54;\n  int local_50;\n  uint *local_4c;\n  uint local_48;\n  int *local_44;\n  int local_40 [3];\n  uint *local_34;\n  int local_30;\n  uint local_2c [7];\n  \n  puVar19 = &local_bc;\n  puVar11 = &local_bc;\n  local_58 = &__DT_PLTGOT;\n  local_44 = *(int **)(param_1 + 0x44);\n  if ((local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0)) {\n    return;\n  }\n  bVar26 = *(byte *)(param_1 + 0x1c);\n  local_5c = CONCAT31(local_5c._1_3_,bVar26);\n  if ((bVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);\n  }\n  local_4c = *(uint **)(param_1 + 0x14);\n  local_54 = local_4c;\n  local_50 = *(int *)(param_1 + 0x18);\n  local_74 = &DAT_005ea7c8;\n  if (*(int *)(DAT_005ea7c8 + 8) == 0) {\nLAB_000f392f:\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;\n    FUN_000afd50();\n  }\n  uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f);\n  if (uVar23 < 0x20) {\n    uVar23 = 0x20;\n  }\n  uVar23 = (int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23;\n  if ((bVar26 & 2) == 0) {\nLAB_000f398a:\n    ppuVar4 = local_58;\n    *(uint *)((int)puVar11 + -4) = uVar23;\n    *(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;\n    *(undefined4 *)((int)puVar11 + -0xc) = 0xcf;\n    *(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;\n    FUN_002446e0();\n  }\n  puVar11 = (uint *)(uVar23 - (int)local_4c);\n  local_4c = *(uint **)(param_1 + 0xc);\n  uVar24 = (int)local_4c - (int)puVar11;\n  local_48 = *(uint *)(param_1 + 0x10);\n  if (*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);\n  }\n  uVar12 = (uint)CARRY4(uVar23,uVar24);\n  uVar24 = (uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24);\n  iVar21 = *(int *)(param_2 + 0xc) - uVar12;\n  if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0) {\n    local_70 = uVar23 + *(int *)(param_2 + 0x10);\n    iVar21 = *(int *)(param_1 + 0x34);\n    if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }\n    uVar23 = FUN_000af350();\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23);\ncode_r0x000f32c9:\n  *local_64 = uVar23 & 0x3fffffc | 0x48000000;\n  local_44 = (int *)*local_44;\n  piVar7 = local_44;\n  goto joined_r0x000f30c8;\n}\n\n" comment (function_definition "void FUN_000f2ca0(uint param_1,int param_2)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  code *pcVar3;\n  undefined **ppuVar4;\n  undefined1 *puVar5;\n  char cVar6;\n  int *piVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  byte extraout_CL;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint *puVar19;\n  byte bVar20;\n  int iVar21;\n  uint *puVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  byte bVar26;\n  undefined8 uVar27;\n  uint auStackY_d4 [2];\n  uint local_bc;\n  uint local_b8;\n  uint local_b4;\n  int local_b0;\n  uint local_ac;\n  undefined4 local_a8;\n  uint local_a4;\n  undefined4 local_a0;\n  uint local_9c;\n  undefined4 local_98;\n  uint local_94;\n  uint local_90;\n  uint local_8c;\n  uint local_88;\n  uint local_84;\n  uint local_80;\n  uint local_7c;\n  int local_78;\n  int *local_74;\n  int local_70;\n  bool local_69;\n  uint local_68;\n  uint *local_64;\n  int local_60;\n  uint local_5c;\n  undefined **local_58;\n  uint *local_54;\n  int local_50;\n  uint *local_4c;\n  uint local_48;\n  int *local_44;\n  int local_40 [3];\n  uint *local_34;\n  int local_30;\n  uint local_2c [7];\n  \n  puVar19 = &local_bc;\n  puVar11 = &local_bc;\n  local_58 = &__DT_PLTGOT;\n  local_44 = *(int **)(param_1 + 0x44);\n  if ((local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0)) {\n    return;\n  }\n  bVar26 = *(byte *)(param_1 + 0x1c);\n  local_5c = CONCAT31(local_5c._1_3_,bVar26);\n  if ((bVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);\n  }\n  local_4c = *(uint **)(param_1 + 0x14);\n  local_54 = local_4c;\n  local_50 = *(int *)(param_1 + 0x18);\n  local_74 = &DAT_005ea7c8;\n  if (*(int *)(DAT_005ea7c8 + 8) == 0) {\nLAB_000f392f:\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;\n    FUN_000afd50();\n  }\n  uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f);\n  if (uVar23 < 0x20) {\n    uVar23 = 0x20;\n  }\n  uVar23 = (int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23;\n  if ((bVar26 & 2) == 0) {\nLAB_000f398a:\n    ppuVar4 = local_58;\n    *(uint *)((int)puVar11 + -4) = uVar23;\n    *(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;\n    *(undefined4 *)((int)puVar11 + -0xc) = 0xcf;\n    *(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;\n    FUN_002446e0();\n  }\n  puVar11 = (uint *)(uVar23 - (int)local_4c);\n  local_4c = *(uint **)(param_1 + 0xc);\n  uVar24 = (int)local_4c - (int)puVar11;\n  local_48 = *(uint *)(param_1 + 0x10);\n  if (*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);\n  }\n  uVar12 = (uint)CARRY4(uVar23,uVar24);\n  uVar24 = (uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24);\n  iVar21 = *(int *)(param_2 + 0xc) - uVar12;\n  if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0) {\n    local_70 = uVar23 + *(int *)(param_2 + 0x10);\n    iVar21 = *(int *)(param_1 + 0x34);\n    if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }\n    uVar23 = FUN_000af350();\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23);\ncode_r0x000f32c9:\n  *local_64 = uVar23 & 0x3fffffc | 0x48000000;\n  local_44 = (int *)*local_44;\n  piVar7 = local_44;\n  goto joined_r0x000f30c8;\n}" primitive_type (function_declarator "FUN_000f2ca0(uint param_1,int param_2)" identifier (parameter_list "(uint param_1,int param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  code *pcVar3;\n  undefined **ppuVar4;\n  undefined1 *puVar5;\n  char cVar6;\n  int *piVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  byte extraout_CL;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint *puVar19;\n  byte bVar20;\n  int iVar21;\n  uint *puVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  byte bVar26;\n  undefined8 uVar27;\n  uint auStackY_d4 [2];\n  uint local_bc;\n  uint local_b8;\n  uint local_b4;\n  int local_b0;\n  uint local_ac;\n  undefined4 local_a8;\n  uint local_a4;\n  undefined4 local_a0;\n  uint local_9c;\n  undefined4 local_98;\n  uint local_94;\n  uint local_90;\n  uint local_8c;\n  uint local_88;\n  uint local_84;\n  uint local_80;\n  uint local_7c;\n  int local_78;\n  int *local_74;\n  int local_70;\n  bool local_69;\n  uint local_68;\n  uint *local_64;\n  int local_60;\n  uint local_5c;\n  undefined **local_58;\n  uint *local_54;\n  int local_50;\n  uint *local_4c;\n  uint local_48;\n  int *local_44;\n  int local_40 [3];\n  uint *local_34;\n  int local_30;\n  uint local_2c [7];\n  \n  puVar19 = &local_bc;\n  puVar11 = &local_bc;\n  local_58 = &__DT_PLTGOT;\n  local_44 = *(int **)(param_1 + 0x44);\n  if ((local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0)) {\n    return;\n  }\n  bVar26 = *(byte *)(param_1 + 0x1c);\n  local_5c = CONCAT31(local_5c._1_3_,bVar26);\n  if ((bVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);\n  }\n  local_4c = *(uint **)(param_1 + 0x14);\n  local_54 = local_4c;\n  local_50 = *(int *)(param_1 + 0x18);\n  local_74 = &DAT_005ea7c8;\n  if (*(int *)(DAT_005ea7c8 + 8) == 0) {\nLAB_000f392f:\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;\n    FUN_000afd50();\n  }\n  uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f);\n  if (uVar23 < 0x20) {\n    uVar23 = 0x20;\n  }\n  uVar23 = (int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23;\n  if ((bVar26 & 2) == 0) {\nLAB_000f398a:\n    ppuVar4 = local_58;\n    *(uint *)((int)puVar11 + -4) = uVar23;\n    *(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;\n    *(undefined4 *)((int)puVar11 + -0xc) = 0xcf;\n    *(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;\n    FUN_002446e0();\n  }\n  puVar11 = (uint *)(uVar23 - (int)local_4c);\n  local_4c = *(uint **)(param_1 + 0xc);\n  uVar24 = (int)local_4c - (int)puVar11;\n  local_48 = *(uint *)(param_1 + 0x10);\n  if (*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);\n  }\n  uVar12 = (uint)CARRY4(uVar23,uVar24);\n  uVar24 = (uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24);\n  iVar21 = *(int *)(param_2 + 0xc) - uVar12;\n  if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0) {\n    local_70 = uVar23 + *(int *)(param_2 + 0x10);\n    iVar21 = *(int *)(param_1 + 0x34);\n    if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }\n    uVar23 = FUN_000af350();\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23);\ncode_r0x000f32c9:\n  *local_64 = uVar23 & 0x3fffffc | 0x48000000;\n  local_44 = (int *)*local_44;\n  piVar7 = local_44;\n  goto joined_r0x000f30c8;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "undefined **ppuVar4;" type_identifier (pointer_declarator "**ppuVar4" * (pointer_declarator "*ppuVar4" * identifier)) ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "byte extraout_CL;" type_identifier identifier ;) (declaration "uint *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "byte bVar20;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "uint *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "byte bVar26;" type_identifier identifier ;) (declaration "undefined8 uVar27;" type_identifier identifier ;) (declaration "uint auStackY_d4 [2];" type_identifier (array_declarator "auStackY_d4 [2]" identifier [ number_literal ]) ;) (declaration "uint local_bc;" type_identifier identifier ;) (declaration "uint local_b8;" type_identifier identifier ;) (declaration "uint local_b4;" type_identifier identifier ;) (declaration "int local_b0;" primitive_type identifier ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "undefined4 local_a8;" type_identifier identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "undefined4 local_a0;" type_identifier identifier ;) (declaration "uint local_9c;" type_identifier identifier ;) (declaration "undefined4 local_98;" type_identifier identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "uint local_90;" type_identifier identifier ;) (declaration "uint local_8c;" type_identifier identifier ;) (declaration "uint local_88;" type_identifier identifier ;) (declaration "uint local_84;" type_identifier identifier ;) (declaration "uint local_80;" type_identifier identifier ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "int local_78;" primitive_type identifier ;) (declaration "int *local_74;" primitive_type (pointer_declarator "*local_74" * identifier) ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "bool local_69;" primitive_type identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "uint *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "undefined **local_58;" type_identifier (pointer_declarator "**local_58" * (pointer_declarator "*local_58" * identifier)) ;) (declaration "uint *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "uint *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "int *local_44;" primitive_type (pointer_declarator "*local_44" * identifier) ;) (declaration "int local_40 [3];" primitive_type (array_declarator "local_40 [3]" identifier [ number_literal ]) ;) (declaration "uint *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "uint local_2c [7];" type_identifier (array_declarator "local_2c [7]" identifier [ number_literal ]) ;) (expression_statement "puVar19 = &local_bc;" (assignment_expression "puVar19 = &local_bc" identifier = (pointer_expression "&local_bc" & identifier)) ;) (expression_statement "puVar11 = &local_bc;" (assignment_expression "puVar11 = &local_bc" identifier = (pointer_expression "&local_bc" & identifier)) ;) (expression_statement "local_58 = &__DT_PLTGOT;" (assignment_expression "local_58 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_44 = *(int **)(param_1 + 0x44);" (assignment_expression "local_44 = *(int **)(param_1 + 0x44)" identifier = (pointer_expression "*(int **)(param_1 + 0x44)" * (cast_expression "(int **)(param_1 + 0x44)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) ;) (if_statement "if ((local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0)) {\n    return;\n  }" if (parenthesized_expression "((local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0))" ( (binary_expression "(local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0)" (parenthesized_expression "(local_44 == (int *)0x0)" ( (binary_expression "local_44 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(int *)(param_1 + 0x60) == 0)" ( (binary_expression "*(int *)(param_1 + 0x60) == 0" (pointer_expression "*(int *)(param_1 + 0x60)" * (cast_expression "(int *)(param_1 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "bVar26 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar26 = *(byte *)(param_1 + 0x1c)" identifier = (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_5c = CONCAT31(local_5c._1_3_,bVar26);" (assignment_expression "local_5c = CONCAT31(local_5c._1_3_,bVar26)" identifier = (call_expression "CONCAT31(local_5c._1_3_,bVar26)" identifier (argument_list "(local_5c._1_3_,bVar26)" ( (field_expression "local_5c._1_3_" identifier . field_identifier) , identifier )))) ;) (if_statement "if ((bVar26 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);\n  }" if (parenthesized_expression "((bVar26 & 4) == 0)" ( (binary_expression "(bVar26 & 4) == 0" (parenthesized_expression "(bVar26 & 4)" ( (binary_expression "bVar26 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);\n  }" { comment (expression_statement "FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);" (call_expression "FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26)" identifier (argument_list "("../../gold/output.h",0xe3,"offset",bVar26)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") , identifier ))) ;) })) (expression_statement "local_4c = *(uint **)(param_1 + 0x14);" (assignment_expression "local_4c = *(uint **)(param_1 + 0x14)" identifier = (pointer_expression "*(uint **)(param_1 + 0x14)" * (cast_expression "(uint **)(param_1 + 0x14)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_54 = local_4c;" (assignment_expression "local_54 = local_4c" identifier = identifier) ;) (expression_statement "local_50 = *(int *)(param_1 + 0x18);" (assignment_expression "local_50 = *(int *)(param_1 + 0x18)" identifier = (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_74 = &DAT_005ea7c8;" (assignment_expression "local_74 = &DAT_005ea7c8" identifier = (pointer_expression "&DAT_005ea7c8" & identifier)) ;) (if_statement "if (*(int *)(DAT_005ea7c8 + 8) == 0) {\nLAB_000f392f:\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;\n    FUN_000afd50();\n  }" if (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) == 0)" ( (binary_expression "*(int *)(DAT_005ea7c8 + 8) == 0" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_000f392f:\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;\n    FUN_000afd50();\n  }" { (labeled_statement "LAB_000f392f:\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;" statement_identifier : comment (expression_statement "*(undefined4 *)((int)puVar19 + -4) = 0xf3934;" (assignment_expression "*(undefined4 *)((int)puVar19 + -4) = 0xf3934" (pointer_expression "*(undefined4 *)((int)puVar19 + -4)" * (cast_expression "(undefined4 *)((int)puVar19 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + -4)" ( (binary_expression "(int)puVar19 + -4" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_000afd50();" (call_expression "FUN_000afd50()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f);" (assignment_expression "uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f)" identifier = (binary_expression "1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f)" number_literal << (parenthesized_expression "((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f)" ( (binary_expression "(byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f" (binary_expression "(byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) + 0x2b20)" ( (binary_expression "*(int *)(DAT_005ea7c8 + 8) + 0x2b20" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) )))) + number_literal) )))) & number_literal) )))) ;) (if_statement "if (uVar23 < 0x20) {\n    uVar23 = 0x20;\n  }" if (parenthesized_expression "(uVar23 < 0x20)" ( (binary_expression "uVar23 < 0x20" identifier < number_literal) )) (compound_statement "{\n    uVar23 = 0x20;\n  }" { (expression_statement "uVar23 = 0x20;" (assignment_expression "uVar23 = 0x20" identifier = number_literal) ;) })) (expression_statement "uVar23 = (int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23;" (assignment_expression "uVar23 = (int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23" identifier = (binary_expression "(int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23" (binary_expression "(int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70)" (binary_expression "(int)local_4c + (uVar23 - 1)" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar23 - 1)" ( (binary_expression "uVar23 - 1" identifier - number_literal) ))) + (pointer_expression "*(int *)(param_1 + 0x70)" * (cast_expression "(int *)(param_1 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) ))))) & (unary_expression "-uVar23" - identifier))) ;) (if_statement "if ((bVar26 & 2) == 0) {\nLAB_000f398a:\n    ppuVar4 = local_58;\n    *(uint *)((int)puVar11 + -4) = uVar23;\n    *(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;\n    *(undefined4 *)((int)puVar11 + -0xc) = 0xcf;\n    *(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;\n    FUN_002446e0();\n  }" if (parenthesized_expression "((bVar26 & 2) == 0)" ( (binary_expression "(bVar26 & 2) == 0" (parenthesized_expression "(bVar26 & 2)" ( (binary_expression "bVar26 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000f398a:\n    ppuVar4 = local_58;\n    *(uint *)((int)puVar11 + -4) = uVar23;\n    *(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;\n    *(undefined4 *)((int)puVar11 + -0xc) = 0xcf;\n    *(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;\n    FUN_002446e0();\n  }" { (labeled_statement "LAB_000f398a:\n    ppuVar4 = local_58;" statement_identifier : (expression_statement "ppuVar4 = local_58;" (assignment_expression "ppuVar4 = local_58" identifier = identifier) ;)) (expression_statement "*(uint *)((int)puVar11 + -4) = uVar23;" (assignment_expression "*(uint *)((int)puVar11 + -4) = uVar23" (pointer_expression "*(uint *)((int)puVar11 + -4)" * (cast_expression "(uint *)((int)puVar11 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;" (assignment_expression "*(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161" (pointer_expression "*(undefined ***)((int)puVar11 + -8)" * (cast_expression "(undefined ***)((int)puVar11 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "ppuVar4 + -0x61161" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0xc) = 0xcf;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0xc) = 0xcf" (pointer_expression "*(undefined4 *)((int)puVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;" (assignment_expression "*(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3" (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)ppuVar4 + -0x19cca3" (cast_expression "(int)ppuVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;" (assignment_expression "*(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6" (pointer_expression "*(undefined1 **)((int)puVar11 + -0x14)" * (cast_expression "(undefined1 **)((int)puVar11 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&LAB_000f39a6" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar11 = (uint *)(uVar23 - (int)local_4c);" (assignment_expression "puVar11 = (uint *)(uVar23 - (int)local_4c)" identifier = (cast_expression "(uint *)(uVar23 - (int)local_4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar23 - (int)local_4c)" ( (binary_expression "uVar23 - (int)local_4c" identifier - (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_4c = *(uint **)(param_1 + 0xc);" (assignment_expression "local_4c = *(uint **)(param_1 + 0xc)" identifier = (pointer_expression "*(uint **)(param_1 + 0xc)" * (cast_expression "(uint **)(param_1 + 0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = (int)local_4c - (int)puVar11;" (assignment_expression "uVar24 = (int)local_4c - (int)puVar11" identifier = (binary_expression "(int)local_4c - (int)puVar11" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_48 = *(uint *)(param_1 + 0x10);" (assignment_expression "local_48 = *(uint *)(param_1 + 0x10)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);\n  }" if (parenthesized_expression "(*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11))" ( (binary_expression "*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11)" (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) != (call_expression "(uint)(local_4c < puVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_4c < puVar11)" ( (binary_expression "local_4c < puVar11" identifier < identifier) )))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);\n  }" { comment (expression_statement "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);" (call_expression "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23)" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types",uVar23)" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar12 = (uint)CARRY4(uVar23,uVar24);" (assignment_expression "uVar12 = (uint)CARRY4(uVar23,uVar24)" identifier = (cast_expression "(uint)CARRY4(uVar23,uVar24)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar23,uVar24)" identifier (argument_list "(uVar23,uVar24)" ( identifier , identifier ))))) ;) (expression_statement "uVar24 = (uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24);" (assignment_expression "uVar24 = (uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24)" identifier = (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_2 + 8) < uVar23 + uVar24)" ( (binary_expression "*(uint *)(param_2 + 8) < uVar23 + uVar24" (pointer_expression "*(uint *)(param_2 + 8)" * (cast_expression "(uint *)(param_2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) < (binary_expression "uVar23 + uVar24" identifier + identifier)) )))) ;) (expression_statement "iVar21 = *(int *)(param_2 + 0xc) - uVar12;" (assignment_expression "iVar21 = *(int *)(param_2 + 0xc) - uVar12" identifier = (binary_expression "*(int *)(param_2 + 0xc) - uVar12" (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) - identifier)) ;) (if_statement "if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0) {\n    local_70 = uVar23 + *(int *)(param_2 + 0x10);\n    iVar21 = *(int *)(param_1 + 0x34);\n    if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }\n    uVar23 = FUN_000af350();\n  }" if (parenthesized_expression "((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0)" ( (binary_expression "(SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24))" ( (binary_expression "SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)" (call_expression "SBORROW4(*(int *)(param_2 + 0xc),uVar12)" identifier (argument_list "(*(int *)(param_2 + 0xc),uVar12)" ( (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) , identifier ))) != (call_expression "SBORROW4(iVar21,uVar24)" identifier (argument_list "(iVar21,uVar24)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar21 - uVar24) < 0" (cast_expression "(int)(iVar21 - uVar24)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar21 - uVar24)" ( (binary_expression "iVar21 - uVar24" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n    local_70 = uVar23 + *(int *)(param_2 + 0x10);\n    iVar21 = *(int *)(param_1 + 0x34);\n    if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }\n    uVar23 = FUN_000af350();\n  }" { (expression_statement "local_70 = uVar23 + *(int *)(param_2 + 0x10);" (assignment_expression "local_70 = uVar23 + *(int *)(param_2 + 0x10)" identifier = (binary_expression "uVar23 + *(int *)(param_2 + 0x10)" identifier + (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "iVar21 = *(int *)(param_1 + 0x34);" (assignment_expression "iVar21 = *(int *)(param_1 + 0x34)" identifier = (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }" if (parenthesized_expression "(*(int *)(iVar21 + 0x14) != 0)" ( (binary_expression "*(int *)(iVar21 + 0x14) != 0" (pointer_expression "*(int *)(iVar21 + 0x14)" * (cast_expression "(int *)(iVar21 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x14)" ( (binary_expression "iVar21 + 0x14" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }" { (expression_statement "iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);" (assignment_expression "iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20)" identifier = (pointer_expression "*(int *)(*(int *)(iVar21 + 0x14) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar21 + 0x14) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar21 + 0x14) + 0x20)" ( (binary_expression "*(int *)(iVar21 + 0x14) + 0x20" (pointer_expression "*(int *)(iVar21 + 0x14)" * (cast_expression "(int *)(iVar21 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x14)" ( (binary_expression "iVar21 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar22 = &local_bc;" (assignment_expression "puVar22 = &local_bc" identifier = (pointer_expression "&local_bc" & identifier)) ;) (if_statement "if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }" if (parenthesized_expression "((*(byte *)(iVar1 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar1 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar1 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar1 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar1 + 0x1c)" * (cast_expression "(byte *)(iVar1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1c)" ( (binary_expression "iVar1 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }" { (labeled_statement "LAB_000f3135:\n        ppuVar4 = local_58;" statement_identifier : (expression_statement "ppuVar4 = local_58;" (assignment_expression "ppuVar4 = local_58" identifier = identifier) ;)) (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" * (cast_expression "(undefined ***)((int)puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -8)" ( (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x611a3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;" (assignment_expression "*(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3" (pointer_expression "*(int *)((int)puVar22 + -0x10)" * (cast_expression "(int *)((int)puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)ppuVar4 + -0x19cca3" (cast_expression "(int)ppuVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;" (assignment_expression "*(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153" (pointer_expression "*(undefined **)((int)puVar22 + -0x14)" * (cast_expression "(undefined **)((int)puVar22 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_000f3153" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_bc = *(uint *)(iVar1 + 4);" (assignment_expression "local_bc = *(uint *)(iVar1 + 4)" identifier = (pointer_expression "*(uint *)(iVar1 + 4)" * (cast_expression "(uint *)(iVar1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 4)" ( (binary_expression "iVar1 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = *(uint *)(iVar1 + 8);" (assignment_expression "uVar23 = *(uint *)(iVar1 + 8)" identifier = (pointer_expression "*(uint *)(iVar1 + 8)" * (cast_expression "(uint *)(iVar1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_b8 = uVar23;" (assignment_expression "local_b8 = uVar23" identifier = identifier) ;) (expression_statement "puVar22 = &local_bc;" (assignment_expression "puVar22 = &local_bc" identifier = (pointer_expression "&local_bc" & identifier)) ;) (if_statement "if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }" if (parenthesized_expression "((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0))" ( (binary_expression "(local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" ( (binary_expression "local_44 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)" ( (comma_expression "local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0" (assignment_expression "local_44 = *(int **)(param_1 + 0x40)" identifier = (pointer_expression "*(int **)(param_1 + 0x40)" * (cast_expression "(int **)(param_1 + 0x40)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) , (comma_expression "puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0" (assignment_expression "puVar22 = &local_bc" identifier = (pointer_expression "&local_bc" & identifier)) , (binary_expression "*(int **)(param_1 + 0x40) != (int *)0x0" (pointer_expression "*(int **)(param_1 + 0x40)" * (cast_expression "(int **)(param_1 + 0x40)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (compound_statement "{\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }" { (expression_statement "local_7c = -local_bc - 0x8000;" (assignment_expression "local_7c = -local_bc - 0x8000" identifier = (binary_expression "-local_bc - 0x8000" (unary_expression "-local_bc" - identifier) - number_literal)) ;) (expression_statement "local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);" (assignment_expression "local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc)" identifier = (binary_expression "(-1 - uVar23) - (uint)(0xffff8000 < local_bc)" (parenthesized_expression "(-1 - uVar23)" ( (binary_expression "-1 - uVar23" number_literal - identifier) )) - (call_expression "(uint)(0xffff8000 < local_bc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff8000 < local_bc)" ( (binary_expression "0xffff8000 < local_bc" number_literal < identifier) ))))) ;) (expression_statement "puVar22 = &local_bc;" (assignment_expression "puVar22 = &local_bc" identifier = (pointer_expression "&local_bc" & identifier)) ;) (do_statement "do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );" do (compound_statement "{\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        }" { (expression_statement "iVar1 = local_44[1];" (assignment_expression "iVar1 = local_44[1]" identifier = (subscript_expression "local_44[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }" { (expression_statement "piVar7 = (int *)local_44[2];" (assignment_expression "piVar7 = (int *)local_44[2]" identifier = (cast_expression "(int *)local_44[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar23 = local_44[5];" (assignment_expression "uVar23 = local_44[5]" identifier = (subscript_expression "local_44[5]" identifier [ number_literal ])) ;) (if_statement "if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }" if (parenthesized_expression "((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23)" ( (binary_expression "(uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23" (call_expression "(uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333)" ( (binary_expression "(piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333" (parenthesized_expression "(piVar7[0x38] - piVar7[0x37] >> 2)" ( (binary_expression "piVar7[0x38] - piVar7[0x37] >> 2" (binary_expression "piVar7[0x38] - piVar7[0x37]" (subscript_expression "piVar7[0x38]" identifier [ number_literal ]) - (subscript_expression "piVar7[0x37]" identifier [ number_literal ])) >> number_literal) )) * number_literal) ))) <= identifier) )) (compound_statement "{\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }" { (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" * (cast_expression "(undefined ***)((int)puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -8)" ( (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x6119f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar22 + -0x10)" * (cast_expression "(int *)((int)puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_58 + -0x19cc7b" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }" if (parenthesized_expression "((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0)" ( (binary_expression "(*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0" (parenthesized_expression "(*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40)" ( (binary_expression "*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40" (pointer_expression "*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14)" * (cast_expression "(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7[0x37] + 0xb + uVar23 * 0x14)" ( (binary_expression "piVar7[0x37] + 0xb + uVar23 * 0x14" (binary_expression "piVar7[0x37] + 0xb" (subscript_expression "piVar7[0x37]" identifier [ number_literal ]) + number_literal) + (binary_expression "uVar23 * 0x14" identifier * number_literal)) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }" { (expression_statement "iVar21 = *(int *)(iVar21 + 0x20);" (assignment_expression "iVar21 = *(int *)(iVar21 + 0x20)" identifier = (pointer_expression "*(int *)(iVar21 + 0x20)" * (cast_expression "(int *)(iVar21 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x20)" ( (binary_expression "iVar21 + 0x20" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }" else (compound_statement "{\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }" { (expression_statement "iVar21 = *(int *)(iVar21 + 0x1c);" (assignment_expression "iVar21 = *(int *)(iVar21 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar21 + 0x1c)" * (cast_expression "(int *)(iVar21 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x1c)" ( (binary_expression "iVar21 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }" { (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" * (cast_expression "(undefined ***)((int)puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -8)" ( (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x6121b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x372;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x372" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;" (assignment_expression "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece" (pointer_expression "*(undefined ***)((int)puVar22 + -0x10)" * (cast_expression "(undefined ***)((int)puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x60ece" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf3911" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "iVar1 = *piVar7;" (assignment_expression "iVar1 = *piVar7" identifier = (pointer_expression "*piVar7" * identifier)) ;) (expression_statement "*(uint *)((int)puVar22 + -0xc) = uVar23;" (assignment_expression "*(uint *)((int)puVar22 + -0xc) = uVar23" (pointer_expression "*(uint *)((int)puVar22 + -0xc)" * (cast_expression "(uint *)((int)puVar22 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)puVar22 + -0x10) = piVar7;" (assignment_expression "*(int **)((int)puVar22 + -0x10) = piVar7" (pointer_expression "*(int **)((int)puVar22 + -0x10)" * (cast_expression "(int **)((int)puVar22 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pcVar3 = *(code **)(iVar1 + 0xa8);" (assignment_expression "pcVar3 = *(code **)(iVar1 + 0xa8)" identifier = (pointer_expression "*(code **)(iVar1 + 0xa8)" * (cast_expression "(code **)(iVar1 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0xa8)" ( (binary_expression "iVar1 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf348e" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_54 = (uint *)(*pcVar3)();" (assignment_expression "local_54 = (uint *)(*pcVar3)()" identifier = (cast_expression "(uint *)(*pcVar3)()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000f2fbb:\n            piVar7 = local_44;" statement_identifier : (expression_statement "piVar7 = local_44;" (assignment_expression "piVar7 = local_44" identifier = identifier) ;)) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (if_statement "if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;" if (parenthesized_expression "((*(byte *)(iVar21 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar21 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar21 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar21 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar21 + 0x1c)" * (cast_expression "(byte *)(iVar21 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x1c)" ( (binary_expression "iVar21 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f3135;" goto statement_identifier ;)) (expression_statement "local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));" (assignment_expression "local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4))" identifier = (cast_expression "(uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + (int)local_54 + *(uint *)(iVar21 + 4))" ( (binary_expression "local_7c + (int)local_54 + *(uint *)(iVar21 + 4)" (binary_expression "local_7c + (int)local_54" identifier + (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier)) + (pointer_expression "*(uint *)(iVar21 + 4)" * (cast_expression "(uint *)(iVar21 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 4)" ( (binary_expression "iVar21 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));" (assignment_expression "local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4))" identifier = (binary_expression "local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4))" (binary_expression "local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8)" (binary_expression "local_78 + (uint)CARRY4(local_7c,(uint)local_54)" identifier + (cast_expression "(uint)CARRY4(local_7c,(uint)local_54)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_7c,(uint)local_54)" identifier (argument_list "(local_7c,(uint)local_54)" ( identifier , (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (pointer_expression "*(int *)(iVar21 + 8)" * (cast_expression "(int *)(iVar21 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 8)" ( (binary_expression "iVar21 + 8" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4))" identifier (argument_list "(local_7c + (int)local_54,*(uint *)(iVar21 + 4))" ( (binary_expression "local_7c + (int)local_54" identifier + (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier)) , (pointer_expression "*(uint *)(iVar21 + 4)" * (cast_expression "(uint *)(iVar21 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 4)" ( (binary_expression "iVar21 + 4" identifier + number_literal) )))) )))))) ;) (if_statement "if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }" if (parenthesized_expression "((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0))" ( (binary_expression "(local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)" (parenthesized_expression "(local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0)" ( (binary_expression "local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0" (binary_expression "local_60 + (uint)((uint *)0x7fff7fff < local_64)" identifier + (call_expression "(uint)((uint *)0x7fff7fff < local_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint *)0x7fff7fff < local_64)" ( (binary_expression "(uint *)0x7fff7fff < local_64" (cast_expression "(uint *)0x7fff7fff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )))) != number_literal) )) || (parenthesized_expression "(puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)" ( (comma_expression "puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0" (assignment_expression "puVar5 = (undefined1 *)puVar22" identifier = (cast_expression "(undefined1 *)puVar22" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "((uint)local_64 & 7) != 0" (parenthesized_expression "((uint)local_64 & 7)" ( (binary_expression "(uint)local_64 & 7" (cast_expression "(uint)local_64" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }" { (expression_statement "*(int *)((int)puVar22 + -0xc) = local_44[1];" (assignment_expression "*(int *)((int)puVar22 + -0xc) = local_44[1]" (pointer_expression "*(int *)((int)puVar22 + -0xc)" * (cast_expression "(int *)((int)puVar22 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_44[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint ***)((int)puVar22 + -0x10) = &local_34;" (assignment_expression "*(uint ***)((int)puVar22 + -0x10) = &local_34" (pointer_expression "*(uint ***)((int)puVar22 + -0x10)" * (cast_expression "(uint ***)((int)puVar22 + -0x10)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf3008" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0034dd40();" (call_expression "FUN_0034dd40()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar11 = local_34;" (assignment_expression "puVar11 = local_34" identifier = identifier) ;) (expression_statement "uVar2 = *(undefined4 *)(piVar7[2] + 4);" (assignment_expression "uVar2 = *(undefined4 *)(piVar7[2] + 4)" identifier = (pointer_expression "*(undefined4 *)(piVar7[2] + 4)" * (cast_expression "(undefined4 *)(piVar7[2] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7[2] + 4)" ( (binary_expression "piVar7[2] + 4" (subscript_expression "piVar7[2]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "*(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;" (assignment_expression "*(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52" (pointer_expression "*(undefined ***)((int)puVar22 + -0x14)" * (cast_expression "(undefined ***)((int)puVar22 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x60d52" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3022" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x18)" ( (binary_expression "(int)puVar22 + -0x18" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint **)((int)puVar22 + -0xc) = puVar11;" (assignment_expression "*(uint **)((int)puVar22 + -0xc) = puVar11" (pointer_expression "*(uint **)((int)puVar22 + -0xc)" * (cast_expression "(uint **)((int)puVar22 + -0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x10) = uVar2;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x10) = uVar2" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = uVar9;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = uVar9" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3032" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x18)" ( (binary_expression "(int)puVar22 + -0x18" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar5 = (undefined1 *)((int)puVar22 + -4);" (assignment_expression "puVar5 = (undefined1 *)((int)puVar22 + -4)" identifier = (cast_expression "(undefined1 *)((int)puVar22 + -4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -4)" ( (binary_expression "(int)puVar22 + -4" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }" if (parenthesized_expression "(local_34 != local_2c)" ( (binary_expression "local_34 != local_2c" identifier != identifier) )) (compound_statement "{\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }" { (expression_statement "*(uint **)((int)puVar22 + -0x14) = local_34;" (assignment_expression "*(uint **)((int)puVar22 + -0x14) = local_34" (pointer_expression "*(uint **)((int)puVar22 + -0x14)" * (cast_expression "(uint **)((int)puVar22 + -0x14)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3048" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x18)" ( (binary_expression "(int)puVar22 + -0x18" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar5 = (undefined1 *)((int)puVar22 + -4);" (assignment_expression "puVar5 = (undefined1 *)((int)puVar22 + -4)" identifier = (cast_expression "(undefined1 *)((int)puVar22 + -4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -4)" ( (binary_expression "(int)puVar22 + -4" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) })) (expression_statement "puVar22 = (uint *)puVar5;" (assignment_expression "puVar22 = (uint *)puVar5" identifier = (cast_expression "(uint *)puVar5" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar11 = local_64;" (assignment_expression "puVar11 = local_64" identifier = identifier) ;) (expression_statement "local_4c = *(uint **)(param_1 + 0x34);" (assignment_expression "local_4c = *(uint **)(param_1 + 0x34)" identifier = (pointer_expression "*(uint **)(param_1 + 0x34)" * (cast_expression "(uint **)(param_1 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "local_68 = local_4c[2] & 2;" (assignment_expression "local_68 = local_4c[2] & 2" identifier = (binary_expression "local_4c[2] & 2" (subscript_expression "local_4c[2]" identifier [ number_literal ]) & number_literal)) ;) (if_statement "if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }" if (parenthesized_expression "((local_4c[2] & 2) == 0)" ( (binary_expression "(local_4c[2] & 2) == 0" (parenthesized_expression "(local_4c[2] & 2)" ( (binary_expression "local_4c[2] & 2" (subscript_expression "local_4c[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }" { (expression_statement "iVar21 = *(int *)(*local_74 + 8);" (assignment_expression "iVar21 = *(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 (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }" { (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" * (cast_expression "(undefined ***)((int)puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -8)" ( (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x61176" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;" (assignment_expression "*(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93" (pointer_expression "*(int *)((int)puVar22 + -0x10)" * (cast_expression "(int *)((int)puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_58 + -0x1a1d93" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));" (assignment_expression "local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd))" identifier = (call_expression "CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd))" identifier (argument_list "(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd))" ( (field_expression "local_5c._1_3_" identifier . field_identifier) , (pointer_expression "*(undefined1 *)(iVar21 + 0x2bdd)" * (cast_expression "(undefined1 *)(iVar21 + 0x2bdd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x2bdd)" ( (binary_expression "iVar21 + 0x2bdd" identifier + number_literal) )))) )))) ;) (if_statement "if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }" if (parenthesized_expression "((char)local_4c[0x27] == '\0')" ( (binary_expression "(char)local_4c[0x27] == '\0'" (cast_expression "(char)local_4c[0x27]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_4c[0x27]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }" { (expression_statement "local_69 = false;" (assignment_expression "local_69 = false" identifier = false) ;) (expression_statement "local_64 = (uint *)0x0;" (assignment_expression "local_64 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar23 = local_44[6];" (assignment_expression "uVar23 = local_44[6]" identifier = (subscript_expression "local_44[6]" identifier [ number_literal ])) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);" (assignment_expression "local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10)" identifier = (cast_expression "(uint *)((uint)(puVar11 + 0x2000) >> 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar11 + 0x2000) >> 0x10)" ( (binary_expression "(uint)(puVar11 + 0x2000) >> 0x10" (call_expression "(uint)(puVar11 + 0x2000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar11 + 0x2000)" ( (binary_expression "puVar11 + 0x2000" identifier + number_literal) ))) >> number_literal) )))) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) }) (else_clause "else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }" else (compound_statement "{\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }" { (expression_statement "*(undefined4 *)((int)puVar22 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)puVar22 + -4) = 0" (pointer_expression "*(undefined4 *)((int)puVar22 + -4)" * (cast_expression "(undefined4 *)((int)puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -4)" ( (binary_expression "(int)puVar22 + -4" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -8) = 0x18;" (assignment_expression "*(undefined4 *)((int)puVar22 + -8) = 0x18" (pointer_expression "*(undefined4 *)((int)puVar22 + -8)" * (cast_expression "(undefined4 *)((int)puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -8)" ( (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);" (assignment_expression "*(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54)" (pointer_expression "*(uint *)((int)puVar22 + -0xc)" * (cast_expression "(uint *)((int)puVar22 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_50 + -1 + (uint)((uint *)0x17 < local_54)" (binary_expression "local_50 + -1" identifier + number_literal) + (call_expression "(uint)((uint *)0x17 < local_54)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint *)0x17 < local_54)" ( (binary_expression "(uint *)0x17 < local_54" (cast_expression "(uint *)0x17" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))))) ;) (expression_statement "*(uint **)((int)puVar22 + -0x10) = local_54 + -6;" (assignment_expression "*(uint **)((int)puVar22 + -0x10) = local_54 + -6" (pointer_expression "*(uint **)((int)puVar22 + -0x10)" * (cast_expression "(uint **)((int)puVar22 + -0x10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_54 + -6" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar23 = FUN_00442bb0();" (assignment_expression "uVar23 = FUN_00442bb0()" identifier = (call_expression "FUN_00442bb0()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar11 = local_64;" (assignment_expression "puVar11 = local_64" identifier = identifier) ;) (expression_statement "uVar24 = local_4c[10];" (assignment_expression "uVar24 = local_4c[10]" identifier = (subscript_expression "local_4c[10]" identifier [ number_literal ])) ;) (if_statement "if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (compound_statement "{\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }" { (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" * (cast_expression "(undefined ***)((int)puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -8)" ( (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x61211" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x3a3" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;" (assignment_expression "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece" (pointer_expression "*(undefined ***)((int)puVar22 + -0x10)" * (cast_expression "(undefined ***)((int)puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x60ece" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf392f" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;" (assignment_expression "uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8" identifier = (binary_expression "(-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8" (binary_expression "(-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40" (parenthesized_expression "(-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4)" ( (binary_expression "-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4" (unary_expression "-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0)" - (call_expression "(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0)" ( (binary_expression "(*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2)" ( (binary_expression "*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2" (pointer_expression "*(uint *)(*(int *)(uVar24 + 0x2c) + 8)" * (cast_expression "(uint *)(*(int *)(uVar24 + 0x2c) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(uVar24 + 0x2c) + 8)" ( (binary_expression "*(int *)(uVar24 + 0x2c) + 8" (pointer_expression "*(int *)(uVar24 + 0x2c)" * (cast_expression "(int *)(uVar24 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar24 + 0x2c)" ( (binary_expression "uVar24 + 0x2c" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal) + (binary_expression "uVar23 * 8" identifier * number_literal))) ;) (expression_statement "local_94 = uVar12;" (assignment_expression "local_94 = uVar12" identifier = identifier) ;) (if_statement "if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }" if (parenthesized_expression "(0x8000 < uVar23)" ( (binary_expression "0x8000 < uVar23" number_literal < identifier) )) (compound_statement "{\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }" { (expression_statement "uVar23 = uVar23 * 4 - 0x20000;" (assignment_expression "uVar23 = uVar23 * 4 - 0x20000" identifier = (binary_expression "uVar23 * 4 - 0x20000" (binary_expression "uVar23 * 4" identifier * number_literal) - number_literal)) ;) (expression_statement "local_94 = uVar12 + uVar23;" (assignment_expression "local_94 = uVar12 + uVar23" identifier = (binary_expression "uVar12 + uVar23" identifier + identifier)) ;) (expression_statement "local_90 = (uint)CARRY4(uVar12,uVar23);" (assignment_expression "local_90 = (uint)CARRY4(uVar12,uVar23)" identifier = (cast_expression "(uint)CARRY4(uVar12,uVar23)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar12,uVar23)" identifier (argument_list "(uVar12,uVar23)" ( identifier , identifier ))))) ;) })) (if_statement "if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;" if (parenthesized_expression "((*(byte *)(uVar24 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(uVar24 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(uVar24 + 0x1c) & 1)" ( (binary_expression "*(byte *)(uVar24 + 0x1c) & 1" (pointer_expression "*(byte *)(uVar24 + 0x1c)" * (cast_expression "(byte *)(uVar24 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar24 + 0x1c)" ( (binary_expression "uVar24 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f3135;" goto statement_identifier ;)) (expression_statement "local_b4 = *(uint *)(uVar24 + 4);" (assignment_expression "local_b4 = *(uint *)(uVar24 + 4)" identifier = (pointer_expression "*(uint *)(uVar24 + 4)" * (cast_expression "(uint *)(uVar24 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar24 + 4)" ( (binary_expression "uVar24 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);" (assignment_expression "uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f)" identifier = (binary_expression "1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f)" number_literal << (parenthesized_expression "((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f)" ( (binary_expression "(byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f" (binary_expression "(byte)*(undefined4 *)(iVar21 + 0x2b20)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(undefined4 *)(iVar21 + 0x2b20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x2b20)" ( (binary_expression "iVar21 + 0x2b20" identifier + number_literal) )))) & number_literal) )))) ;) (expression_statement "local_b0 = *(int *)(uVar24 + 8);" (assignment_expression "local_b0 = *(int *)(uVar24 + 8)" identifier = (pointer_expression "*(int *)(uVar24 + 8)" * (cast_expression "(int *)(uVar24 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar24 + 8)" ( (binary_expression "uVar24 + 8" identifier + number_literal) ))))) ;) (if_statement "if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }" if (parenthesized_expression "(uVar23 < 0x20)" ( (binary_expression "uVar23 < 0x20" identifier < number_literal) )) (compound_statement "{\n                  uVar23 = 0x20;\n                }" { (expression_statement "uVar23 = 0x20;" (assignment_expression "uVar23 = 0x20" identifier = number_literal) ;) })) (expression_statement "bVar26 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar26 = *(byte *)(param_1 + 0x1c)" identifier = (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);" (assignment_expression "local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26)" identifier = (cast_expression "(uint *)CONCAT31(local_54._1_3_,bVar26)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_54._1_3_,bVar26)" identifier (argument_list "(local_54._1_3_,bVar26)" ( (field_expression "local_54._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "local_69 = (bool)(bVar26 & 1);" (assignment_expression "local_69 = (bool)(bVar26 & 1)" identifier = (cast_expression "(bool)(bVar26 & 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar26 & 1)" ( (binary_expression "bVar26 & 1" identifier & number_literal) )))) ;) (if_statement "if ((bVar26 & 1) == 0) goto LAB_000f3135;" if (parenthesized_expression "((bVar26 & 1) == 0)" ( (binary_expression "(bVar26 & 1) == 0" (parenthesized_expression "(bVar26 & 1)" ( (binary_expression "bVar26 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f3135;" goto statement_identifier ;)) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_9c = 4;" (assignment_expression "local_9c = 4" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);" (assignment_expression "uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4)" identifier = (binary_expression "(uVar23 - 1) + *(uint *)(param_1 + 4)" (parenthesized_expression "(uVar23 - 1)" ( (binary_expression "uVar23 - 1" identifier - number_literal) )) + (pointer_expression "*(uint *)(param_1 + 4)" * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))))) ;) (expression_statement "local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;" (assignment_expression "local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23" identifier = (binary_expression "*(uint *)(param_1 + 0x70) + uVar12 & -uVar23" (binary_expression "*(uint *)(param_1 + 0x70) + uVar12" (pointer_expression "*(uint *)(param_1 + 0x70)" * (cast_expression "(uint *)(param_1 + 0x70)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))) + identifier) & (unary_expression "-uVar23" - identifier))) ;) (expression_statement "local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);" (assignment_expression "local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0)" identifier = (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0)" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12)" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8)" (parenthesized_expression "((uVar23 != 0) - 1)" ( (binary_expression "(uVar23 != 0) - 1" (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) - number_literal) )) + (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" identifier (argument_list "(uVar23 - 1,*(uint *)(param_1 + 4))" ( (binary_expression "uVar23 - 1" identifier - number_literal) , (pointer_expression "*(uint *)(param_1 + 4)" * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) ))))) + (cast_expression "(uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(*(uint *)(param_1 + 0x70),uVar12)" identifier (argument_list "(*(uint *)(param_1 + 0x70),uVar12)" ( (pointer_expression "*(uint *)(param_1 + 0x70)" * (cast_expression "(uint *)(param_1 + 0x70)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))) , identifier ))))) & (unary_expression "-(uint)(uVar23 != 0)" - (call_expression "(uint)(uVar23 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )))))) ;) (expression_statement "uVar23 = local_44[6];" (assignment_expression "uVar23 = local_44[6]" identifier = (subscript_expression "local_44[6]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;" (assignment_expression "uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1" identifier = (binary_expression "*(byte *)((int)local_44 + 0x1f) >> 6 & 1" (binary_expression "*(byte *)((int)local_44 + 0x1f) >> 6" (pointer_expression "*(byte *)((int)local_44 + 0x1f)" * (cast_expression "(byte *)((int)local_44 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + 0x1f)" ( (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal)) ;) (expression_statement "local_a4 = uVar23;" (assignment_expression "local_a4 = uVar23" identifier = identifier) ;) (expression_statement "local_ac = uVar12 * 4;" (assignment_expression "local_ac = uVar12 * 4" identifier = (binary_expression "uVar12 * 4" identifier * number_literal)) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);" (assignment_expression "local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10)" identifier = (cast_expression "(uint *)((uint)(local_64 + 0x2000) >> 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(local_64 + 0x2000) >> 0x10)" ( (binary_expression "(uint)(local_64 + 0x2000) >> 0x10" (call_expression "(uint)(local_64 + 0x2000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + 0x2000)" ( (binary_expression "local_64 + 0x2000" identifier + number_literal) ))) >> number_literal) )))) ;) (if_statement "if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }" if (parenthesized_expression "(local_54 == (uint *)0x0)" ( (binary_expression "local_54 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  local_9c = 0;\n                  local_98 = 0;\n                }" { (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) })) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "uVar13 = local_5c & 0xff;" (assignment_expression "uVar13 = local_5c & 0xff" identifier = (binary_expression "local_5c & 0xff" identifier & number_literal)) ;) (expression_statement "local_64 = (uint *)0x0;" (assignment_expression "local_64 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }" if (parenthesized_expression "(local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10))" ( (binary_expression "local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)" identifier != (cast_expression "(uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)" ( (binary_expression "(uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10" (call_expression "(uint)(puVar11 + uVar13 * 2 + 0x2002)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar11 + uVar13 * 2 + 0x2002)" ( (binary_expression "puVar11 + uVar13 * 2 + 0x2002" (binary_expression "puVar11 + uVar13 * 2" identifier + (binary_expression "uVar13 * 2" identifier * number_literal)) + number_literal) ))) >> number_literal) )))) )) (compound_statement "{\n                  local_64 = (uint *)0x4;\n                }" { (expression_statement "local_64 = (uint *)0x4;" (assignment_expression "local_64 = (uint *)0x4" identifier = (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "uVar25 = local_b4 + uVar13 * -4;" (assignment_expression "uVar25 = local_b4 + uVar13 * -4" identifier = (binary_expression "local_b4 + uVar13 * -4" identifier + (binary_expression "uVar13 * -4" identifier * number_literal))) ;) (expression_statement "uVar14 = uVar25 - 0x14;" (assignment_expression "uVar14 = uVar25 - 0x14" identifier = (binary_expression "uVar25 - 0x14" identifier - number_literal)) ;) (expression_statement "uVar15 = uVar14 - local_8c;" (assignment_expression "uVar15 = uVar14 - local_8c" identifier = (binary_expression "uVar14 - local_8c" identifier - identifier)) ;) (expression_statement "uVar16 = uVar15 - uVar23;" (assignment_expression "uVar16 = uVar15 - uVar23" identifier = (binary_expression "uVar15 - uVar23" identifier - identifier)) ;) (expression_statement "uVar12 = uVar16 + uVar12 * -4;" (assignment_expression "uVar12 = uVar16 + uVar12 * -4" identifier = (binary_expression "uVar16 + uVar12 * -4" identifier + (binary_expression "uVar12 * -4" identifier * number_literal))) ;) (expression_statement "uVar17 = uVar12 + local_94;" (assignment_expression "uVar17 = uVar12 + local_94" identifier = (binary_expression "uVar12 + local_94" identifier + identifier)) ;) (expression_statement "uVar18 = uVar17 - local_9c;" (assignment_expression "uVar18 = uVar17 - local_9c" identifier = (binary_expression "uVar17 - local_9c" identifier - identifier)) ;) (expression_statement "puVar19 = (uint *)(uVar18 - (int)local_64);" (assignment_expression "puVar19 = (uint *)(uVar18 - (int)local_64)" identifier = (cast_expression "(uint *)(uVar18 - (int)local_64)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 - (int)local_64)" ( (binary_expression "uVar18 - (int)local_64" identifier - (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);" (assignment_expression "local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64)" identifier = (binary_expression "((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64)" (parenthesized_expression "((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c))" ( (binary_expression "(((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)" (parenthesized_expression "(((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94))" ( (binary_expression "((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)" (binary_expression "((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90" (parenthesized_expression "((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac))" ( (binary_expression "(((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)" (parenthesized_expression "(((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23))" ( (binary_expression "((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)" (parenthesized_expression "((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c))" ( (binary_expression "(((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)" (parenthesized_expression "(((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88)" ( (binary_expression "((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88" (parenthesized_expression "((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25))" ( (binary_expression "(*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)" (binary_expression "(*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1" (parenthesized_expression "(*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4))" ( (binary_expression "*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)" (pointer_expression "*(int *)(uVar24 + 8)" * (cast_expression "(int *)(uVar24 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar24 + 8)" ( (binary_expression "uVar24 + 8" identifier + number_literal) )))) - (call_expression "(uint)(local_b4 < uVar13 * 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_b4 < uVar13 * 4)" ( (binary_expression "local_b4 < uVar13 * 4" identifier < (binary_expression "uVar13 * 4" identifier * number_literal)) )))) )) + number_literal) + (call_expression "(uint)(0x13 < uVar25)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x13 < uVar25)" ( (binary_expression "0x13 < uVar25" number_literal < identifier) )))) )) - identifier) )) - (call_expression "(uint)(uVar14 < local_8c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < local_8c)" ( (binary_expression "uVar14 < local_8c" identifier < identifier) )))) )) - (call_expression "(uint)(uVar15 < uVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar15 < uVar23)" ( (binary_expression "uVar15 < uVar23" identifier < identifier) )))) )) - (call_expression "(uint)(uVar16 < local_ac)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < local_ac)" ( (binary_expression "uVar16 < local_ac" identifier < identifier) )))) )) + identifier) + (cast_expression "(uint)CARRY4(uVar12,local_94)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar12,local_94)" identifier (argument_list "(uVar12,local_94)" ( identifier , identifier ))))) )) - (call_expression "(uint)(uVar17 < local_9c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < local_9c)" ( (binary_expression "uVar17 < local_9c" identifier < identifier) )))) )) - (call_expression "(uint)(uVar18 < local_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar18 < local_64)" ( (binary_expression "uVar18 < local_64" identifier < identifier) ))))) ;) (expression_statement "local_64 = puVar19;" (assignment_expression "local_64 = puVar19" identifier = identifier) ;) (expression_statement "iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);" (assignment_expression "iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19)" identifier = (binary_expression "local_60 + (uint)((uint *)0xfdffffff < puVar19)" identifier + (call_expression "(uint)((uint *)0xfdffffff < puVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint *)0xfdffffff < puVar19)" ( (binary_expression "(uint *)0xfdffffff < puVar19" (cast_expression "(uint *)0xfdffffff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))))) ;) (expression_statement "bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);" (assignment_expression "bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000)" identifier = (binary_expression "iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000)" (binary_expression "iVar21 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000)" (binary_expression "(uint)-iVar21" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)((uint *)0x3ffffff < puVar19 + 0x800000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint *)0x3ffffff < puVar19 + 0x800000)" ( (binary_expression "(uint *)0x3ffffff < puVar19 + 0x800000" (cast_expression "(uint *)0x3ffffff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "puVar19 + 0x800000" identifier + number_literal)) )))))) ;) }))) }) (else_clause "else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }" else (compound_statement "{\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }" { (expression_statement "local_5c = (uint)local_5c._1_3_ << 8;" (assignment_expression "local_5c = (uint)local_5c._1_3_ << 8" identifier = (binary_expression "(uint)local_5c._1_3_ << 8" (cast_expression "(uint)local_5c._1_3_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_5c._1_3_" identifier . field_identifier)) << number_literal)) ;) (expression_statement "local_69 = false;" (assignment_expression "local_69 = false" identifier = false) ;) (expression_statement "puVar19 = local_64 + 0x2000;" (assignment_expression "puVar19 = local_64 + 0x2000" identifier = (binary_expression "local_64 + 0x2000" identifier + number_literal)) ;) (expression_statement "local_64 = (uint *)0x0;" (assignment_expression "local_64 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar23 = local_44[6];" (assignment_expression "uVar23 = local_44[6]" identifier = (subscript_expression "local_44[6]" identifier [ number_literal ])) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_54 = (uint *)((uint)puVar19 >> 0x10);" (assignment_expression "local_54 = (uint *)((uint)puVar19 >> 0x10)" identifier = (cast_expression "(uint *)((uint)puVar19 >> 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar19 >> 0x10)" ( (binary_expression "(uint)puVar19 >> 0x10" (cast_expression "(uint)puVar19" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) }))) (expression_statement "piVar7 = (int *)(uVar23 + local_70);" (assignment_expression "piVar7 = (int *)(uVar23 + local_70)" identifier = (cast_expression "(int *)(uVar23 + local_70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar23 + local_70)" ( (binary_expression "uVar23 + local_70" identifier + identifier) )))) ;) (expression_statement "uVar23 = local_44[1];" (assignment_expression "uVar23 = local_44[1]" identifier = (subscript_expression "local_44[1]" identifier [ number_literal ])) ;) (if_statement "if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" if (parenthesized_expression "(local_4c[0x2d] == 0)" ( (binary_expression "local_4c[0x2d] == 0" (subscript_expression "local_4c[0x2d]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" { (expression_statement "bVar20 = *(byte *)((int)local_44 + 0x1f);" (assignment_expression "bVar20 = *(byte *)((int)local_44 + 0x1f)" identifier = (pointer_expression "*(byte *)((int)local_44 + 0x1f)" * (cast_expression "(byte *)((int)local_44 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + 0x1f)" ( (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }) (else_clause "else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" else (if_statement "if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" if (parenthesized_expression "((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d]))" ( (binary_expression "(local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])" (parenthesized_expression "(local_4c[0x2c] == uVar23)" ( (binary_expression "local_4c[0x2c] == uVar23" (subscript_expression "local_4c[0x2c]" identifier [ number_literal ]) == identifier) )) || (parenthesized_expression "(uVar23 == local_4c[0x2d])" ( (binary_expression "uVar23 == local_4c[0x2d]" identifier == (subscript_expression "local_4c[0x2d]" identifier [ number_literal ])) ))) )) (compound_statement "{\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }" { (expression_statement "*piVar7 = -0x169d0000;" (assignment_expression "*piVar7 = -0x169d0000" (pointer_expression "*piVar7" * identifier) = number_literal) ;) (expression_statement "piVar7[1] = -0x167cfff8;" (assignment_expression "piVar7[1] = -0x167cfff8" (subscript_expression "piVar7[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar7[2] = 0x7c601b78;" (assignment_expression "piVar7[2] = 0x7c601b78" (subscript_expression "piVar7[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar7[3] = 0x2c2b0000;" (assignment_expression "piVar7[3] = 0x2c2b0000" (subscript_expression "piVar7[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar7[4] = 0x7c6c6a14;" (assignment_expression "piVar7[4] = 0x7c6c6a14" (subscript_expression "piVar7[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar7[5] = 0x4d820020;" (assignment_expression "piVar7[5] = 0x4d820020" (subscript_expression "piVar7[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar7[6] = 0x7c030378;" (assignment_expression "piVar7[6] = 0x7c030378" (subscript_expression "piVar7[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar20 = *(byte *)((int)local_44 + 0x1f);" (assignment_expression "bVar20 = *(byte *)((int)local_44 + 0x1f)" identifier = (pointer_expression "*(byte *)((int)local_44 + 0x1f)" * (cast_expression "(byte *)((int)local_44 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + 0x1f)" ( (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar26 = local_69;" (assignment_expression "bVar26 = local_69" identifier = identifier) ;) (if_statement "if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }" if (parenthesized_expression "((char)bVar20 < '\0')" ( (binary_expression "(char)bVar20 < '\0'" (cast_expression "(char)bVar20" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                piVar7 = piVar7 + 7;\n              }" { (expression_statement "piVar7 = piVar7 + 7;" (assignment_expression "piVar7 = piVar7 + 7" identifier = (binary_expression "piVar7 + 7" identifier + number_literal)) ;) }) (else_clause "else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }" else (compound_statement "{\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }" { (expression_statement "piVar7[7] = 0x7d6802a6;" (assignment_expression "piVar7[7] = 0x7d6802a6" (subscript_expression "piVar7[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;" (assignment_expression "piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008" (subscript_expression "piVar7[8]" identifier [ number_literal ]) = (binary_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008" (parenthesized_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18)" ( (binary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18" (unary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" - (call_expression "(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 8)" ( (binary_expression "*(int *)(param_1 + 0x34) + 8" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "bVar20 = *(byte *)((int)local_44 + 0x1f);" (assignment_expression "bVar20 = *(byte *)((int)local_44 + 0x1f)" identifier = (pointer_expression "*(byte *)((int)local_44 + 0x1f)" * (cast_expression "(byte *)((int)local_44 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + 0x1f)" ( (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "piVar7 = piVar7 + 9;" (assignment_expression "piVar7 = piVar7 + 9" identifier = (binary_expression "piVar7 + 9" identifier + number_literal)) ;) }))) }) (else_clause "else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" else (compound_statement "{\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" { (expression_statement "bVar20 = *(byte *)((int)local_44 + 0x1f);" (assignment_expression "bVar20 = *(byte *)((int)local_44 + 0x1f)" identifier = (pointer_expression "*(byte *)((int)local_44 + 0x1f)" * (cast_expression "(byte *)((int)local_44 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + 0x1f)" ( (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))))) (if_statement "if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }" if (parenthesized_expression "(local_54 == (uint *)0x0)" ( (binary_expression "local_54 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }" { (expression_statement "piVar10 = piVar7;" (assignment_expression "piVar10 = piVar7" identifier = identifier) ;) (if_statement "if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }" if (parenthesized_expression "((bVar20 & 0x40) != 0)" ( (binary_expression "(bVar20 & 0x40) != 0" (parenthesized_expression "(bVar20 & 0x40)" ( (binary_expression "bVar20 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }" { (expression_statement "piVar10 = piVar7 + 1;" (assignment_expression "piVar10 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "*piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;" (assignment_expression "*piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018" (pointer_expression "*piVar7" * identifier) = (binary_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018" (parenthesized_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10)" ( (binary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10" (unary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" - (call_expression "(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 8)" ( (binary_expression "*(int *)(param_1 + 0x34) + 8" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) })) (expression_statement "*piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;" (assignment_expression "*piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000" (pointer_expression "*piVar10" * identifier) = (binary_expression "((uint)puVar11 & 0xffff) + 0xe9820000" (parenthesized_expression "((uint)puVar11 & 0xffff)" ( (binary_expression "(uint)puVar11 & 0xffff" (cast_expression "(uint)puVar11" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) + number_literal)) ;) (if_statement "if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }" if (parenthesized_expression "(local_68 == 0)" ( (binary_expression "local_68 == 0" identifier == number_literal) )) (compound_statement "{\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }" { (if_statement "if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }" if (parenthesized_expression "((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0)" ( (binary_expression "(uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0" (binary_expression "(uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10" (call_expression "(uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar11 + (local_5c & 0xff) * 2 + 0x2002)" ( (binary_expression "puVar11 + (local_5c & 0xff) * 2 + 0x2002" (binary_expression "puVar11 + (local_5c & 0xff) * 2" identifier + (binary_expression "(local_5c & 0xff) * 2" (parenthesized_expression "(local_5c & 0xff)" ( (binary_expression "local_5c & 0xff" identifier & number_literal) )) * number_literal)) + number_literal) ))) >> number_literal) == number_literal) )) (compound_statement "{\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }" { (expression_statement "piVar7 = piVar10 + 1;" (assignment_expression "piVar7 = piVar10 + 1" identifier = (binary_expression "piVar10 + 1" identifier + number_literal)) ;) (expression_statement "local_54 = puVar11;" (assignment_expression "local_54 = puVar11" identifier = identifier) ;) (expression_statement "iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;" (assignment_expression "iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000" identifier = (binary_expression "((uint)(puVar11 + 2) & 0xffff) + 0xe8420000" (parenthesized_expression "((uint)(puVar11 + 2) & 0xffff)" ( (binary_expression "(uint)(puVar11 + 2) & 0xffff" (call_expression "(uint)(puVar11 + 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar11 + 2)" ( (binary_expression "puVar11 + 2" identifier + number_literal) ))) & number_literal) )) + number_literal)) ;) }) (else_clause "else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }" else (compound_statement "{\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }" { (expression_statement "piVar7 = piVar10 + 2;" (assignment_expression "piVar7 = piVar10 + 2" identifier = (binary_expression "piVar10 + 2" identifier + number_literal)) ;) (expression_statement "piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;" (assignment_expression "piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000" (subscript_expression "piVar10[1]" identifier [ number_literal ]) = (binary_expression "((uint)puVar11 & 0xffff) + 0x38420000" (parenthesized_expression "((uint)puVar11 & 0xffff)" ( (binary_expression "(uint)puVar11 & 0xffff" (cast_expression "(uint)puVar11" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) + number_literal)) ;) (expression_statement "iVar21 = -0x17bdfff8;" (assignment_expression "iVar21 = -0x17bdfff8" identifier = number_literal) ;) }))) (expression_statement "*piVar7 = 0x7d8903a6;" (assignment_expression "*piVar7 = 0x7d8903a6" (pointer_expression "*piVar7" * identifier) = number_literal) ;) (expression_statement "piVar8 = piVar7 + 1;" (assignment_expression "piVar8 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (if_statement "if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }" if (parenthesized_expression "((bool)bVar26 != false)" ( (binary_expression "(bool)bVar26 != false" (cast_expression "(bool)bVar26" ( (type_descriptor "bool" primitive_type) ) identifier) != false) )) (compound_statement "{\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }" { (expression_statement "piVar7[1] = 0x7d8b6278;" (assignment_expression "piVar7[1] = 0x7d8b6278" (subscript_expression "piVar7[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8 = piVar7 + 3;" (assignment_expression "piVar8 = piVar7 + 3" identifier = (binary_expression "piVar7 + 3" identifier + number_literal)) ;) (expression_statement "piVar7[2] = 0x7c425a14;" (assignment_expression "piVar7[2] = 0x7c425a14" (subscript_expression "piVar7[2]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "piVar10 = piVar8 + 1;" (assignment_expression "piVar10 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) (if_statement "if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\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                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }" { (expression_statement "*piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;" (assignment_expression "*piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000" (pointer_expression "*piVar8" * identifier) = (binary_expression "((uint)(local_54 + 4) & 0xffff) + 0xe9620000" (parenthesized_expression "((uint)(local_54 + 4) & 0xffff)" ( (binary_expression "(uint)(local_54 + 4) & 0xffff" (call_expression "(uint)(local_54 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_54 + 4)" ( (binary_expression "local_54 + 4" identifier + number_literal) ))) & number_literal) )) + number_literal)) ;) (expression_statement "piVar10 = piVar8 + 2;" (assignment_expression "piVar10 = piVar8 + 2" identifier = (binary_expression "piVar8 + 2" identifier + number_literal)) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) })) (expression_statement "*piVar8 = iVar21;" (assignment_expression "*piVar8 = iVar21" (pointer_expression "*piVar8" * identifier) = identifier) ;) }) (else_clause "else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }" else (compound_statement "{\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }" { (expression_statement "piVar10[1] = 0x7d8903a6;" (assignment_expression "piVar10[1] = 0x7d8903a6" (subscript_expression "piVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10 = piVar10 + 2;" (assignment_expression "piVar10 = piVar10 + 2" identifier = (binary_expression "piVar10 + 2" identifier + number_literal)) ;) }))) }) (else_clause "else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }" else (compound_statement "{\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }" { (expression_statement "piVar8 = piVar7;" (assignment_expression "piVar8 = piVar7" identifier = identifier) ;) (if_statement "if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }" if (parenthesized_expression "((bVar20 & 0x40) != 0)" ( (binary_expression "(bVar20 & 0x40) != 0" (parenthesized_expression "(bVar20 & 0x40)" ( (binary_expression "bVar20 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }" { (expression_statement "piVar8 = piVar7 + 1;" (assignment_expression "piVar8 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "*piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;" (assignment_expression "*piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018" (pointer_expression "*piVar7" * identifier) = (binary_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018" (parenthesized_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10)" ( (binary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10" (unary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" - (call_expression "(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 8)" ( (binary_expression "*(int *)(param_1 + 0x34) + 8" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) })) (expression_statement "uVar24 = (uint)puVar11 & 0xffff;" (assignment_expression "uVar24 = (uint)puVar11 & 0xffff" identifier = (binary_expression "(uint)puVar11 & 0xffff" (cast_expression "(uint)puVar11" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }" if (parenthesized_expression "(local_68 == 0)" ( (binary_expression "local_68 == 0" identifier == number_literal) )) (compound_statement "{\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }" { (expression_statement "*piVar8 = (int)(local_54 + 0xf588000);" (assignment_expression "*piVar8 = (int)(local_54 + 0xf588000)" (pointer_expression "*piVar8" * identifier) = (cast_expression "(int)(local_54 + 0xf588000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_54 + 0xf588000)" ( (binary_expression "local_54 + 0xf588000" identifier + number_literal) )))) ;) (expression_statement "piVar8[1] = uVar24 + 0xe98b0000;" (assignment_expression "piVar8[1] = uVar24 + 0xe98b0000" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = (binary_expression "uVar24 + 0xe98b0000" identifier + number_literal)) ;) (if_statement "if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }" if (parenthesized_expression "(local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))" ( (binary_expression "local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10)" identifier == (cast_expression "(uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10)" ( (binary_expression "(uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10" (call_expression "(uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar11 + (local_5c & 0xff) * 2 + 0x2002)" ( (binary_expression "puVar11 + (local_5c & 0xff) * 2 + 0x2002" (binary_expression "puVar11 + (local_5c & 0xff) * 2" identifier + (binary_expression "(local_5c & 0xff) * 2" (parenthesized_expression "(local_5c & 0xff)" ( (binary_expression "local_5c & 0xff" identifier & number_literal) )) * number_literal)) + number_literal) ))) >> number_literal) )))) )) (compound_statement "{\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }" { (expression_statement "piVar7 = piVar8 + 2;" (assignment_expression "piVar7 = piVar8 + 2" identifier = (binary_expression "piVar8 + 2" identifier + number_literal)) ;) (expression_statement "iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;" (assignment_expression "iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000" identifier = (binary_expression "((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000" (parenthesized_expression "((uint)(puVar11 + 2) & 0xffff)" ( (binary_expression "(uint)(puVar11 + 2) & 0xffff" (call_expression "(uint)(puVar11 + 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar11 + 2)" ( (binary_expression "puVar11 + 2" identifier + number_literal) ))) & number_literal) )) + number_literal)) ;) }) (else_clause "else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }" else (compound_statement "{\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }" { (expression_statement "piVar7 = piVar8 + 3;" (assignment_expression "piVar7 = piVar8 + 3" identifier = (binary_expression "piVar8 + 3" identifier + number_literal)) ;) (expression_statement "puVar11 = (uint *)0x0;" (assignment_expression "puVar11 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar8[2] = uVar24 + 0x396b0000;" (assignment_expression "piVar8[2] = uVar24 + 0x396b0000" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = (binary_expression "uVar24 + 0x396b0000" identifier + number_literal)) ;) (expression_statement "iVar21 = -0x17b4fff8;" (assignment_expression "iVar21 = -0x17b4fff8" identifier = number_literal) ;) }))) (expression_statement "*piVar7 = 0x7d8903a6;" (assignment_expression "*piVar7 = 0x7d8903a6" (pointer_expression "*piVar7" * identifier) = number_literal) ;) (if_statement "if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }" if (parenthesized_expression "((bool)bVar26 == false)" ( (binary_expression "(bool)bVar26 == false" (cast_expression "(bool)bVar26" ( (type_descriptor "bool" primitive_type) ) identifier) == false) )) (compound_statement "{\n                  piVar10 = piVar7 + 1;\n                }" { (expression_statement "piVar10 = piVar7 + 1;" (assignment_expression "piVar10 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }" else (compound_statement "{\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }" { (expression_statement "piVar7[1] = 0x7d826278;" (assignment_expression "piVar7[1] = 0x7d826278" (subscript_expression "piVar7[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10 = piVar7 + 3;" (assignment_expression "piVar10 = piVar7 + 3" identifier = (binary_expression "piVar7 + 3" identifier + number_literal)) ;) (expression_statement "piVar7[2] = 0x7d6b1214;" (assignment_expression "piVar7[2] = 0x7d6b1214" (subscript_expression "piVar7[2]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "uVar27 = CONCAT44(puVar11,piVar10);" (assignment_expression "uVar27 = CONCAT44(puVar11,piVar10)" identifier = (call_expression "CONCAT44(puVar11,piVar10)" identifier (argument_list "(puVar11,piVar10)" ( identifier , identifier )))) ;) (expression_statement "*piVar10 = iVar21;" (assignment_expression "*piVar10 = iVar21" (pointer_expression "*piVar10" * identifier) = identifier) ;) (if_statement "if ((char)local_5c != '\0') goto LAB_000f37c0;" 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 ')) )) (goto_statement "goto LAB_000f37c0;" goto statement_identifier ;)) (expression_statement "piVar10 = piVar10 + 1;" (assignment_expression "piVar10 = piVar10 + 1" identifier = (binary_expression "piVar10 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }" else (compound_statement "{\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }" { (expression_statement "piVar8[2] = 0x7d8903a6;" (assignment_expression "piVar8[2] = 0x7d8903a6" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10 = piVar8 + 3;" (assignment_expression "piVar10 = piVar8 + 3" identifier = (binary_expression "piVar8 + 3" identifier + number_literal)) ;) (expression_statement "piVar8[1] = uVar24 + 0xe98c0000;" (assignment_expression "piVar8[1] = uVar24 + 0xe98c0000" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = (binary_expression "uVar24 + 0xe98c0000" identifier + number_literal)) ;) (expression_statement "*piVar8 = (int)(local_54 + 0xf608000);" (assignment_expression "*piVar8 = (int)(local_54 + 0xf608000)" (pointer_expression "*piVar8" * identifier) = (cast_expression "(int)(local_54 + 0xf608000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_54 + 0xf608000)" ( (binary_expression "local_54 + 0xf608000" identifier + number_literal) )))) ;) }))) }))) }) (else_clause "else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }" else (compound_statement "{\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }" { (if_statement "if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }" if (parenthesized_expression "((*(byte *)(iVar1 + 0x28) & 0xf) != 10)" ( (binary_expression "(*(byte *)(iVar1 + 0x28) & 0xf) != 10" (parenthesized_expression "(*(byte *)(iVar1 + 0x28) & 0xf)" ( (binary_expression "*(byte *)(iVar1 + 0x28) & 0xf" (pointer_expression "*(byte *)(iVar1 + 0x28)" * (cast_expression "(byte *)(iVar1 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x28)" ( (binary_expression "iVar1 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }" { (labeled_statement "LAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);" statement_identifier : (expression_statement "iVar21 = *(int *)(iVar21 + 0x18);" (assignment_expression "iVar21 = *(int *)(iVar21 + 0x18)" identifier = (pointer_expression "*(int *)(iVar21 + 0x18)" * (cast_expression "(int *)(iVar21 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x18)" ( (binary_expression "iVar21 + 0x18" identifier + number_literal) ))))) ;)) (if_statement "if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }" { (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" * (cast_expression "(undefined ***)((int)puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -8)" ( (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x6121e" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x36a;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x36a" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;" (assignment_expression "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece" (pointer_expression "*(undefined ***)((int)puVar22 + -0x10)" * (cast_expression "(undefined ***)((int)puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x60ece" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }" statement_identifier : (if_statement "if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }" if (parenthesized_expression "(*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff)" ( (binary_expression "*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff" (pointer_expression "*(uint **)(iVar1 + 0x18)" * (cast_expression "(uint **)(iVar1 + 0x18)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) )))) == (cast_expression "(uint *)0xffffffff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    /* WARNING: Subroutine does not return */\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }" { (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" * (cast_expression "(undefined ***)((int)puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -8)" ( (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x61221" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x1ce" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;" (assignment_expression "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308" (pointer_expression "*(undefined ***)((int)puVar22 + -0x10)" * (cast_expression "(undefined ***)((int)puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x67308" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf389c" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_54 = *(uint **)(iVar1 + 0x18);" (assignment_expression "local_54 = *(uint **)(iVar1 + 0x18)" identifier = (pointer_expression "*(uint **)(iVar1 + 0x18)" * (cast_expression "(uint **)(iVar1 + 0x18)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000f2fbb;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }" if (parenthesized_expression "((*(byte *)(iVar1 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)(iVar1 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)(iVar1 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar1 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar1 + 0x2a)" * (cast_expression "(byte *)(iVar1 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2a)" ( (binary_expression "iVar1 + 0x2a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }" { (if_statement "if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;" if (parenthesized_expression "(((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0))))" ( (binary_expression "((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))" (parenthesized_expression "((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1)" ( (binary_expression "*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1" (pointer_expression "*(byte *)(*(int *)(iVar1 + 8) + 0x2c)" * (cast_expression "(byte *)(*(int *)(iVar1 + 8) + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar1 + 8) + 0x2c)" ( (binary_expression "*(int *)(iVar1 + 8) + 0x2c" (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))" ( (parenthesized_expression "(uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0))" ( (comma_expression "uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)" (assignment_expression "uVar23 = *(uint *)(iVar1 + 0xc)" identifier = (pointer_expression "*(uint *)(iVar1 + 0xc)" * (cast_expression "(uint *)(iVar1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xc)" ( (binary_expression "iVar1 + 0xc" identifier + number_literal) ))))) , (binary_expression "uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)" (binary_expression "uVar23 != 0" identifier != number_literal) || (parenthesized_expression "((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)(iVar1 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(iVar1 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)(iVar1 + 0x2b) & 0x20" (pointer_expression "*(byte *)(iVar1 + 0x2b)" * (cast_expression "(byte *)(iVar1 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2b)" ( (binary_expression "iVar1 + 0x2b" identifier + number_literal) )))) & number_literal) )) == number_literal) )))) )) ))) )) (goto_statement "goto LAB_000f3795;" goto statement_identifier ;)) (goto_statement "goto LAB_000f2f9a;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;" if (parenthesized_expression "((*(byte *)(iVar1 + 0x2a) & 7) == 4)" ( (binary_expression "(*(byte *)(iVar1 + 0x2a) & 7) == 4" (parenthesized_expression "(*(byte *)(iVar1 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar1 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar1 + 0x2a)" * (cast_expression "(byte *)(iVar1 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2a)" ( (binary_expression "iVar1 + 0x2a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f2f9a;" goto statement_identifier ;)) (labeled_statement "LAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;" statement_identifier : (expression_statement "*(int *)((int)puVar22 + -0x10) = iVar1;" (assignment_expression "*(int *)((int)puVar22 + -0x10) = iVar1" (pointer_expression "*(int *)((int)puVar22 + -0x10)" * (cast_expression "(int *)((int)puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf379e" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = FUN_00071a80();" (assignment_expression "cVar6 = FUN_00071a80()" identifier = (call_expression "FUN_00071a80()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar6 != '\0') goto LAB_000f2f9a;" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000f2f9a;" goto statement_identifier ;)) (expression_statement "iVar21 = *(int *)(iVar21 + 0x1c);" (assignment_expression "iVar21 = *(int *)(iVar21 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar21 + 0x1c)" * (cast_expression "(int *)(iVar21 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x1c)" ( (binary_expression "iVar21 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar21 != 0) goto LAB_000f2fa5;" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000f2fa5;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar22 + -4) = 0xf37b9;" (assignment_expression "*(undefined4 *)((int)puVar22 + -4) = 0xf37b9" (pointer_expression "*(undefined4 *)((int)puVar22 + -4)" * (cast_expression "(undefined4 *)((int)puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -4)" ( (binary_expression "(int)puVar22 + -4" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar27 = FUN_000af2f0();" (assignment_expression "uVar27 = FUN_000af2f0()" identifier = (call_expression "FUN_000af2f0()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar26 = extraout_CL;" (assignment_expression "bVar26 = extraout_CL" identifier = identifier) ;) (labeled_statement "LAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);" statement_identifier : (expression_statement "piVar10 = (int *)((int)uVar27 + 8);" (assignment_expression "piVar10 = (int *)((int)uVar27 + 8)" identifier = (cast_expression "(int *)((int)uVar27 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)uVar27 + 8)" ( (binary_expression "(int)uVar27 + 8" (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "*(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;" (assignment_expression "*(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000" (pointer_expression "*(uint *)((int)uVar27 + 4)" * (cast_expression "(uint *)((int)uVar27 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)uVar27 + 4)" ( (binary_expression "(int)uVar27 + 4" (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000" (parenthesized_expression "((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff)" ( (binary_expression "(int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff" (binary_expression "(int)((ulonglong)uVar27 >> 0x20) + 0x10U" (cast_expression "(int)((ulonglong)uVar27 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar27 >> 0x20)" ( (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) + number_literal) & number_literal) )) + number_literal)) ;) }))) (if_statement "if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }" if (parenthesized_expression "(*(char *)((int)local_44 + 0x1f) < '\0')" ( (binary_expression "*(char *)((int)local_44 + 0x1f) < '\0'" (pointer_expression "*(char *)((int)local_44 + 0x1f)" * (cast_expression "(char *)((int)local_44 + 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + 0x1f)" ( (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }" { (labeled_statement "LAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }" statement_identifier : (if_statement "if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }" if (parenthesized_expression "((bVar26 == 1) || (local_69 == false))" ( (binary_expression "(bVar26 == 1) || (local_69 == false)" (parenthesized_expression "(bVar26 == 1)" ( (binary_expression "bVar26 == 1" identifier == number_literal) )) || (parenthesized_expression "(local_69 == false)" ( (binary_expression "local_69 == false" identifier == false) ))) )) (compound_statement "{\n              *piVar10 = 0x4e800420;\n            }" { (expression_statement "*piVar10 = 0x4e800420;" (assignment_expression "*piVar10 = 0x4e800420" (pointer_expression "*piVar10" * identifier) = number_literal) ;) }) (else_clause "else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }" else (compound_statement "{\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }" { (expression_statement "*piVar10 = 0x28220000;" (assignment_expression "*piVar10 = 0x28220000" (pointer_expression "*piVar10" * identifier) = number_literal) ;) (expression_statement "piVar10[1] = 0x4ce20420;" (assignment_expression "piVar10[1] = 0x4ce20420" (subscript_expression "piVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;" (assignment_expression "piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = (binary_expression "(uint)local_64 & 0x3fffffc | 0x48000000" (binary_expression "(uint)local_64 & 0x3fffffc" (cast_expression "(uint)local_64" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) | number_literal)) ;) })))) }) (else_clause "else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }" else (compound_statement "{\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }" { (expression_statement "uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);" (assignment_expression "uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4)" identifier = (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 0xb4)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 0xb4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xb4)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0xb4" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;" if (parenthesized_expression "((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))" ( (binary_expression "(uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24)))" (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) || (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24)))" ( (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24)" (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 0xb0)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 0xb0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xb0)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0xb0" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) )))) != identifier) && (parenthesized_expression "(uVar23 != uVar24)" ( (binary_expression "uVar23 != uVar24" identifier != identifier) ))) )) ))) )) (goto_statement "goto LAB_000f2f35;" goto statement_identifier ;)) (expression_statement "*piVar10 = 0x4e800421;" (assignment_expression "*piVar10 = 0x4e800421" (pointer_expression "*piVar10" * identifier) = number_literal) ;) (expression_statement "piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;" (assignment_expression "piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018" (subscript_expression "piVar10[1]" identifier [ number_literal ]) = (binary_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018" (parenthesized_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10)" ( (binary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10" (unary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" - (call_expression "(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 8)" ( (binary_expression "*(int *)(param_1 + 0x34) + 8" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);" (assignment_expression "uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8)" identifier = (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 8)" ( (binary_expression "*(int *)(param_1 + 0x34) + 8" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "piVar10[3] = 0x7d6803a6;" (assignment_expression "piVar10[3] = 0x7d6803a6" (subscript_expression "piVar10[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[4] = 0x4e800020;" (assignment_expression "piVar10[4] = 0x4e800020" (subscript_expression "piVar10[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;" (assignment_expression "piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = (binary_expression "(-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008" (parenthesized_expression "(-(uint)((uVar23 & 2) == 0) & 0x18)" ( (binary_expression "-(uint)((uVar23 & 2) == 0) & 0x18" (unary_expression "-(uint)((uVar23 & 2) == 0)" - (call_expression "(uint)((uVar23 & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar23 & 2) == 0)" ( (binary_expression "(uVar23 & 2) == 0" (parenthesized_expression "(uVar23 & 2)" ( (binary_expression "uVar23 & 2" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "uVar23 = param_1;" (assignment_expression "uVar23 = param_1" identifier = identifier) ;) }))) (expression_statement "local_44 = (int *)*local_44;" (assignment_expression "local_44 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) ;) (if_statement "if (local_44 == (int *)0x0) break;" if (parenthesized_expression "(local_44 == (int *)0x0)" ( (binary_expression "local_44 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = *(int *)(param_1 + 0x34);" (assignment_expression "iVar21 = *(int *)(param_1 + 0x34)" identifier = (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar11 = puVar22;" (assignment_expression "puVar11 = puVar22" identifier = identifier) ;) (expression_statement "piVar7 = local_44;" (assignment_expression "piVar7 = local_44" identifier = identifier) ;) (expression_statement "local_44 = *(int **)(param_1 + 0x5c);" (assignment_expression "local_44 = *(int **)(param_1 + 0x5c)" identifier = (pointer_expression "*(int **)(param_1 + 0x5c)" * (cast_expression "(int **)(param_1 + 0x5c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x000f30c8:\n      puVar19 = puVar11;" statement_identifier : (expression_statement "puVar19 = puVar11;" (assignment_expression "puVar19 = puVar11" identifier = identifier) ;)) (if_statement "if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }" if (parenthesized_expression "(local_44 != (int *)0x0)" ( (binary_expression "local_44 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }" { (do_statement "do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );" do (compound_statement "{\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        }" { (expression_statement "puVar11 = puVar19;" (assignment_expression "puVar11 = puVar19" identifier = identifier) ;) (if_statement "if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }" if (parenthesized_expression "((char)local_44[4] == '\0')" ( (binary_expression "(char)local_44[4] == '\0'" (cast_expression "(char)local_44[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_44[4]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }" { (expression_statement "local_5c = local_44[5];" (assignment_expression "local_5c = local_44[5]" identifier = (subscript_expression "local_44[5]" identifier [ number_literal ])) ;) (expression_statement "local_4c = *(uint **)(param_1 + 0x74);" (assignment_expression "local_4c = *(uint **)(param_1 + 0x74)" identifier = (pointer_expression "*(uint **)(param_1 + 0x74)" * (cast_expression "(uint **)(param_1 + 0x74)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) ))))) ;) (expression_statement "local_64 = (uint *)((int)local_4c + local_70 + local_5c);" (assignment_expression "local_64 = (uint *)((int)local_4c + local_70 + local_5c)" identifier = (cast_expression "(uint *)((int)local_4c + local_70 + local_5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c + local_70 + local_5c)" ( (binary_expression "(int)local_4c + local_70 + local_5c" (binary_expression "(int)local_4c + local_70" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) ;) (if_statement "if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;" if (parenthesized_expression "(*(int *)(*local_74 + 8) == 0)" ( (binary_expression "*(int *)(*local_74 + 8) == 0" (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) )))) == number_literal) )) (goto_statement "goto LAB_000f392f;" goto statement_identifier ;)) (expression_statement "uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);" (assignment_expression "uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f)" identifier = (binary_expression "1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f)" number_literal << (parenthesized_expression "((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f)" ( (binary_expression "(byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f" (binary_expression "(byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_74 + 8) + 0x2b20)" ( (binary_expression "*(int *)(*local_74 + 8) + 0x2b20" (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) )))) + number_literal) )))) & number_literal) )))) ;) (if_statement "if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }" if (parenthesized_expression "(uVar23 < 0x20)" ( (binary_expression "uVar23 < 0x20" identifier < number_literal) )) (compound_statement "{\n              uVar23 = 0x20;\n            }" { (expression_statement "uVar23 = 0x20;" (assignment_expression "uVar23 = 0x20" identifier = number_literal) ;) })) (expression_statement "puVar22 = puVar19;" (assignment_expression "puVar22 = puVar19" identifier = identifier) ;) (if_statement "if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;" if (parenthesized_expression "((*(byte *)(param_1 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x1c) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x1c) & 1" (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f3135;" goto statement_identifier ;)) (expression_statement "local_50 = local_44[2];" (assignment_expression "local_50 = local_44[2]" identifier = (subscript_expression "local_44[2]" identifier [ number_literal ])) ;) (expression_statement "local_54 = (uint *)local_44[1];" (assignment_expression "local_54 = (uint *)local_44[1]" identifier = (cast_expression "(uint *)local_44[1]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);" (assignment_expression "uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4)" identifier = (binary_expression "(uVar23 - 1) + *(uint *)(param_1 + 4)" (parenthesized_expression "(uVar23 - 1)" ( (binary_expression "uVar23 - 1" identifier - number_literal) )) + (pointer_expression "*(uint *)(param_1 + 4)" * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))))) ;) (expression_statement "local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;" (assignment_expression "local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23" identifier = (binary_expression "*(uint *)(param_1 + 0x70) + uVar24 & -uVar23" (binary_expression "*(uint *)(param_1 + 0x70) + uVar24" (pointer_expression "*(uint *)(param_1 + 0x70)" * (cast_expression "(uint *)(param_1 + 0x70)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))) + identifier) & (unary_expression "-uVar23" - identifier))) ;) (expression_statement "local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);" (assignment_expression "local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0)" identifier = (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0)" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24)" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8)" (parenthesized_expression "((uVar23 != 0) - 1)" ( (binary_expression "(uVar23 != 0) - 1" (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) - number_literal) )) + (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" identifier (argument_list "(uVar23 - 1,*(uint *)(param_1 + 4))" ( (binary_expression "uVar23 - 1" identifier - number_literal) , (pointer_expression "*(uint *)(param_1 + 4)" * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) ))))) + (cast_expression "(uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(*(uint *)(param_1 + 0x70),uVar24)" identifier (argument_list "(*(uint *)(param_1 + 0x70),uVar24)" ( (pointer_expression "*(uint *)(param_1 + 0x70)" * (cast_expression "(uint *)(param_1 + 0x70)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))) , identifier ))))) & (unary_expression "-(uint)(uVar23 != 0)" - (call_expression "(uint)(uVar23 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )))))) ;) (expression_statement "uVar24 = (int)local_54 - (int)((int)local_4c + local_84);" (assignment_expression "uVar24 = (int)local_54 - (int)((int)local_4c + local_84)" identifier = (binary_expression "(int)local_54 - (int)((int)local_4c + local_84)" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((int)local_4c + local_84)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)local_4c + local_84)" ( (binary_expression "(int)local_4c + local_84" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) ;) (expression_statement "uVar23 = uVar24 - local_5c;" (assignment_expression "uVar23 = uVar24 - local_5c" identifier = (binary_expression "uVar24 - local_5c" identifier - identifier)) ;) (expression_statement "local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);" (assignment_expression "local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23)" identifier = (binary_expression "(((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23)" (parenthesized_expression "(((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c))" ( (binary_expression "((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)" (parenthesized_expression "((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84)))" ( (binary_expression "(local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))" (parenthesized_expression "(local_50 - (local_80 + CARRY4((uint)local_4c,local_84)))" ( (binary_expression "local_50 - (local_80 + CARRY4((uint)local_4c,local_84))" identifier - (parenthesized_expression "(local_80 + CARRY4((uint)local_4c,local_84))" ( (binary_expression "local_80 + CARRY4((uint)local_4c,local_84)" identifier + (call_expression "CARRY4((uint)local_4c,local_84)" identifier (argument_list "((uint)local_4c,local_84)" ( (cast_expression "(uint)local_4c" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))) ))) )) - (call_expression "(uint)(local_54 < (uint *)((int)local_4c + local_84))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_54 < (uint *)((int)local_4c + local_84))" ( (binary_expression "local_54 < (uint *)((int)local_4c + local_84)" identifier < (cast_expression "(uint *)((int)local_4c + local_84)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c + local_84)" ( (binary_expression "(int)local_4c + local_84" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )))) )) - (call_expression "(uint)(uVar24 < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 < local_5c)" ( (binary_expression "uVar24 < local_5c" identifier < identifier) )))) )) + (call_expression "(uint)(0xfdffffff < uVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfdffffff < uVar23)" ( (binary_expression "0xfdffffff < uVar23" number_literal < identifier) ))))) ;) (expression_statement "local_4c = (uint *)(uVar23 + 0x2000000);" (assignment_expression "local_4c = (uint *)(uVar23 + 0x2000000)" identifier = (cast_expression "(uint *)(uVar23 + 0x2000000)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar23 + 0x2000000)" ( (binary_expression "uVar23 + 0x2000000" identifier + number_literal) )))) ;) (if_statement "if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;" if (parenthesized_expression "(local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)" ( (binary_expression "local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48" (binary_expression "local_48 == 0" identifier == number_literal) && (binary_expression "(uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48" (call_expression "(uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000))" ( (binary_expression "(uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)" (cast_expression "(uint *)0x3ffffff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(uint *)(uVar23 + 0x2000000)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar23 + 0x2000000)" ( (binary_expression "uVar23 + 0x2000000" identifier + number_literal) )))) ))) <= (unary_expression "-local_48" - identifier))) )) (goto_statement "goto code_r0x000f32c9;" goto statement_identifier ;)) (expression_statement "local_4c = *(uint **)(param_1 + 0x34);" (assignment_expression "local_4c = *(uint **)(param_1 + 0x34)" identifier = (pointer_expression "*(uint **)(param_1 + 0x34)" * (cast_expression "(uint **)(param_1 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(uint ***)((int)puVar19 + -8) = &local_34;" (assignment_expression "*(uint ***)((int)puVar19 + -8) = &local_34" (pointer_expression "*(uint ***)((int)puVar19 + -8)" * (cast_expression "(uint ***)((int)puVar19 + -8)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar19 + -8)" ( (binary_expression "(int)puVar19 + -8" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "*(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;" (assignment_expression "*(uint **)((int)puVar19 + -0xc) = local_4c + 0x16" (pointer_expression "*(uint **)((int)puVar19 + -0xc)" * (cast_expression "(uint **)((int)puVar19 + -0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar19 + -0xc)" ( (binary_expression "(int)puVar19 + -0xc" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_4c + 0x16" identifier + number_literal)) ;) (expression_statement "*(int **)((int)puVar19 + -0x10) = local_40;" (assignment_expression "*(int **)((int)puVar19 + -0x10) = local_40" (pointer_expression "*(int **)((int)puVar19 + -0x10)" * (cast_expression "(int **)((int)puVar19 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar19 + -0x10)" ( (binary_expression "(int)puVar19 + -0x10" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;" (assignment_expression "*(undefined4 *)((int)puVar19 + -0x14) = 0xf3184" (pointer_expression "*(undefined4 *)((int)puVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + -0x14)" ( (binary_expression "(int)puVar19 + -0x14" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_34 = local_54;" (assignment_expression "local_34 = local_54" identifier = identifier) ;) (expression_statement "local_30 = local_50;" (assignment_expression "local_30 = local_50" identifier = identifier) ;) (expression_statement "FUN_00109180();" (call_expression "FUN_00109180()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar22 = (uint *)((int)puVar19 + -4);" (assignment_expression "puVar22 = (uint *)((int)puVar19 + -4)" identifier = (cast_expression "(uint *)((int)puVar19 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + -4)" ( (binary_expression "(int)puVar19 + -4" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar11 = (uint *)((int)puVar19 + -4);" (assignment_expression "puVar11 = (uint *)((int)puVar19 + -4)" identifier = (cast_expression "(uint *)((int)puVar19 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + -4)" ( (binary_expression "(int)puVar19 + -4" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }" if (parenthesized_expression "(local_40[0] == 0)" ( (binary_expression "local_40[0] == 0" (subscript_expression "local_40[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    /* WARNING: Subroutine does not return */\n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }" { (expression_statement "*(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;" (assignment_expression "*(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333" (pointer_expression "*(undefined ***)((int)puVar19 + -0xc)" * (cast_expression "(undefined ***)((int)puVar19 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar19 + -0xc)" ( (binary_expression "(int)puVar19 + -0xc" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x61333" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;" (assignment_expression "*(undefined4 *)((int)puVar19 + -0x10) = 0x15f1" (pointer_expression "*(undefined4 *)((int)puVar19 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar19 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + -0x10)" ( (binary_expression "(int)puVar19 + -0x10" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;" (assignment_expression "*(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece" (pointer_expression "*(undefined ***)((int)puVar19 + -0x14)" * (cast_expression "(undefined ***)((int)puVar19 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar19 + -0x14)" ( (binary_expression "(int)puVar19 + -0x14" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x60ece" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;" (assignment_expression "*(undefined4 *)((int)puVar19 + -0x18) = 0xf387e" (pointer_expression "*(undefined4 *)((int)puVar19 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar19 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + -0x18)" ( (binary_expression "(int)puVar19 + -0x18" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);" (assignment_expression "iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0x24)" * (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0x24)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0x24" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;" if (parenthesized_expression "((*(byte *)(iVar21 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar21 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar21 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar21 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar21 + 0x1c)" * (cast_expression "(byte *)(iVar21 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x1c)" ( (binary_expression "iVar21 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f3135;" goto statement_identifier ;)) (expression_statement "uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;" (assignment_expression "uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]" identifier = (binary_expression "((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]" (parenthesized_expression "((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc)" ( (binary_expression "(*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc" (parenthesized_expression "(*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4))" ( (binary_expression "*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)" (pointer_expression "*(int *)(local_40[0] + 0xc)" * (cast_expression "(int *)(local_40[0] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 0xc)" ( (binary_expression "local_40[0] + 0xc" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) + (pointer_expression "*(int *)(iVar21 + 4)" * (cast_expression "(int *)(iVar21 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 4)" ( (binary_expression "iVar21 + 4" identifier + number_literal) ))))) )) - identifier) )) - (subscript_expression "local_44[3]" identifier [ number_literal ]))) ;) (expression_statement "uVar24 = uVar23 & 0xffff;" (assignment_expression "uVar24 = uVar23 & 0xffff" identifier = (binary_expression "uVar23 & 0xffff" identifier & number_literal)) ;) (expression_statement "uVar23 = uVar23 + 0x8000 >> 0x10;" (assignment_expression "uVar23 = uVar23 + 0x8000 >> 0x10" identifier = (binary_expression "uVar23 + 0x8000 >> 0x10" (binary_expression "uVar23 + 0x8000" identifier + number_literal) >> number_literal)) ;) (if_statement "if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }" if (parenthesized_expression "(uVar23 == 0)" ( (binary_expression "uVar23 == 0" identifier == number_literal) )) (compound_statement "{\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }" { (expression_statement "*local_64 = uVar24 + 0xe9820000;" (assignment_expression "*local_64 = uVar24 + 0xe9820000" (pointer_expression "*local_64" * identifier) = (binary_expression "uVar24 + 0xe9820000" identifier + number_literal)) ;) (expression_statement "puVar19 = local_64 + 1;" (assignment_expression "puVar19 = local_64 + 1" identifier = (binary_expression "local_64 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }" else (compound_statement "{\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }" { (expression_statement "local_64[1] = uVar24 + 0xe98c0000;" (assignment_expression "local_64[1] = uVar24 + 0xe98c0000" (subscript_expression "local_64[1]" identifier [ number_literal ]) = (binary_expression "uVar24 + 0xe98c0000" identifier + number_literal)) ;) (expression_statement "puVar19 = local_64 + 2;" (assignment_expression "puVar19 = local_64 + 2" identifier = (binary_expression "local_64 + 2" identifier + number_literal)) ;) (expression_statement "*local_64 = uVar23 + 0x3d820000;" (assignment_expression "*local_64 = uVar23 + 0x3d820000" (pointer_expression "*local_64" * identifier) = (binary_expression "uVar23 + 0x3d820000" identifier + number_literal)) ;) }))) (expression_statement "*puVar19 = 0x7d8903a6;" (assignment_expression "*puVar19 = 0x7d8903a6" (pointer_expression "*puVar19" * identifier) = number_literal) ;) (expression_statement "puVar19[1] = 0x4e800420;" (assignment_expression "puVar19[1] = 0x4e800420" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "local_44 = (int *)*local_44;" (assignment_expression "local_44 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) ;) (expression_statement "puVar19 = puVar11;" (assignment_expression "puVar19 = puVar11" identifier = identifier) ;) (expression_statement "piVar7 = local_44;" (assignment_expression "piVar7 = local_44" identifier = identifier) ;) (if_statement "if (local_44 == (int *)0x0) break;" if (parenthesized_expression "(local_44 == (int *)0x0)" ( (binary_expression "local_44 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "local_44 = piVar7;" (assignment_expression "local_44 = piVar7" identifier = identifier) ;) (if_statement "if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }" if (parenthesized_expression "(*(char *)(param_1 + 0x8c) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x8c) == '\0'" (pointer_expression "*(char *)(param_1 + 0x8c)" * (cast_expression "(char *)(param_1 + 0x8c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x8c)" ( (binary_expression "param_1 + 0x8c" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);" (assignment_expression "uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74)" identifier = (binary_expression "local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74)" (binary_expression "local_70 + *(int *)(param_1 + 0x7c)" identifier + (pointer_expression "*(int *)(param_1 + 0x7c)" * (cast_expression "(int *)(param_1 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0x74)" * (cast_expression "(int *)(param_1 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) )))))) ;) (expression_statement "iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);" (assignment_expression "iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xac)" * (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xac)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0xac" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }" if (parenthesized_expression "((*(byte *)(iVar21 + 0x1c) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar21 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar21 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar21 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar21 + 0x1c)" * (cast_expression "(byte *)(iVar21 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x1c)" ( (binary_expression "iVar21 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }" { (expression_statement "uVar2 = *(undefined4 *)(iVar21 + 0x2c);" (assignment_expression "uVar2 = *(undefined4 *)(iVar21 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)(iVar21 + 0x2c)" * (cast_expression "(undefined4 *)(iVar21 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x2c)" ( (binary_expression "iVar21 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar21 + 0xc)" * (cast_expression "(undefined4 *)(iVar21 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0xc)" ( (binary_expression "iVar21 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0xc) = uVar2;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0xc) = uVar2" (pointer_expression "*(undefined4 *)((int)puVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)puVar11 + -0x10) = uVar23;" (assignment_expression "*(uint *)((int)puVar11 + -0x10) = uVar23" (pointer_expression "*(uint *)((int)puVar11 + -0x10)" * (cast_expression "(uint *)((int)puVar11 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0xf322d" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));" (call_expression "memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8))" identifier (argument_list "(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8))" ( (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar11 + -0xc)" * (cast_expression "(void **)((int)puVar11 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(size_t *)((int)puVar11 + -8)" * (cast_expression "(size_t *)((int)puVar11 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_000f398a;" goto statement_identifier ;) })) (expression_statement "uVar23 = FUN_000af350();" (assignment_expression "uVar23 = FUN_000af350()" identifier = (call_expression "FUN_000af350()" identifier (argument_list "()" ( )))) ;) })) comment (expression_statement "FUN_002446e0((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23);" (call_expression "FUN_002446e0((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23)" identifier (argument_list "((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23)" ( (binary_expression "(int)local_58 + -0x19cca3" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal , (binary_expression "local_58 + -0x612b6" identifier + number_literal) , identifier ))) ;) (labeled_statement "code_r0x000f32c9:\n  *local_64 = uVar23 & 0x3fffffc | 0x48000000;" statement_identifier : (expression_statement "*local_64 = uVar23 & 0x3fffffc | 0x48000000;" (assignment_expression "*local_64 = uVar23 & 0x3fffffc | 0x48000000" (pointer_expression "*local_64" * identifier) = (binary_expression "uVar23 & 0x3fffffc | 0x48000000" (binary_expression "uVar23 & 0x3fffffc" identifier & number_literal) | number_literal)) ;)) (expression_statement "local_44 = (int *)*local_44;" (assignment_expression "local_44 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) ;) (expression_statement "piVar7 = local_44;" (assignment_expression "piVar7 = local_44" identifier = identifier) ;) (goto_statement "goto joined_r0x000f30c8;" goto statement_identifier ;) })))
(ERROR "/* 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/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: void do_write(Stub_table<64,_false> * this, Output_file * of) */\n\nvoid __thiscall\nanon_unknown.dwarf_6462d4::Stub_table<64,_false>::do_write\n          (Stub_table<64,_false> *this,Output_file *of)\n\n{\n  byte bVar1;\n  size_type sVar2;\n  Output_section *pOVar3;\n  Stub_table<64,_false> *pSVar4;\n  Symbol *this_00;\n  General_options *pGVar5;\n  Output_data_brlt_powerpc<64,_false> *pOVar6;\n  Output_data_save_res<64,_false> *pOVar7;\n  Output_data_glink<64,_false> *pOVar8;\n  int iVar9;\n  uint uVar10;\n  uchar *puVar11;\n  _Hash_node_base *p_Var12;\n  int *piVar13;\n  char *format;\n  uint *puVar14;\n  uint *puVar15;\n  _Hash_node_base *p_Var16;\n  int *piVar17;\n  uint64_t *puVar18;\n  Output_data_plt_powerpc<64,_false> *pOVar19;\n  byte extraout_CL;\n  uint uVar20;\n  uint uVar21;\n  _Hash_node_base *p_Var22;\n  uint uVar23;\n  _Hash_node_base *p_Var24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  uint uVar28;\n  uint64_t *puVar29;\n  uint uVar30;\n  uint extraout_EDX;\n  byte bVar31;\n  _func_int_varargs **pp_Var32;\n  Target_powerpc<64,_false> *pTVar33;\n  uint uVar34;\n  int iVar35;\n  int iVar36;\n  uint uVar37;\n  uint uVar38;\n  uint uVar39;\n  uint uVar40;\n  Stub_table<64,_false> *pSVar41;\n  bool bVar42;\n  bool bVar43;\n  byte bVar44;\n  Target_powerpc<64,_false> *in_stack_ffffff44;\n  Stub_table<64,_false> *pSVar45;\n  uint local_9c;\n  uint local_94;\n  uint local_90;\n  bool local_69;\n  uint local_64;\n  uint local_54;\n  _Hash_node_base *local_44;\n  int local_40;\n  _Hash_node_base *local_34;\n  _Hash_node_base *local_30;\n  _Hash_node_base local_2c [7];\n  \n  sVar2 = (this->plt_call_stubs_)._M_h._M_element_count;\n  if ((sVar2 == 0) && ((this->long_branch_stubs_)._M_h._M_element_count == 0)) {\n    return;\n  }\n  if ((this->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }\n  if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_000f392f:\n                    /* WARNING: Subroutine does not return */\n    stub_align((Stub_table<64,_false> *)in_stack_ffffff44);\n  }\n  uVar37 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n  if (uVar37 < 0x20) {\n    uVar37 = 0x20;\n  }\n  uVar37 = (uVar37 - 1) + this->orig_data_size_ + *(int *)&this->field_0x14 & -uVar37;\n  if ((this->field_0x1c & 2) == 0) {\nLAB_000f398a:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n  }\n  uVar20 = uVar37 - *(int *)&this->field_0x14;\n  uVar38 = *(uint *)&this->field_0xc - uVar20;\n  if (*(uint *)&this->field_0x10 != (uint)(*(uint *)&this->field_0xc < uVar20)) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n  }\n  uVar20 = (uint)CARRY4(uVar37,uVar38);\n  iVar35 = *(int *)((int)&of->file_size_ + 4);\n  uVar38 = (uint)((uint)of->file_size_ < uVar37 + uVar38);\n  iVar9 = iVar35 - uVar20;\n  if ((SBORROW4(iVar35,uVar20) != SBORROW4(iVar9,uVar38)) != (int)(iVar9 - uVar38) < 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n  }\n  puVar11 = of->base_ + uVar37;\n  pTVar33 = this->targ_;\n  if (pTVar33->got_ == (Output_data_got_powerpc<64,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Target_powerpc<64,_false>::got_section(in_stack_ffffff44);\n  }\n  pOVar3 = (pTVar33->got_->super_Output_data_got<64,_false>).super_Output_data_got_base.\n           super_Output_section_data_build.super_Output_section_data.output_section_;\n  if (((pOVar3->super_Output_data).field_0x1c & 1) == 0) {\nLAB_000f3135:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n  }\n  in_stack_ffffff44 = *(Target_powerpc<64,_false> **)&(pOVar3->super_Output_data).address_;\n  pSVar41 = *(Stub_table<64,_false> **)((int)&(pOVar3->super_Output_data).address_ + 4);\n  if ((sVar2 != 0) &&\n     (local_44 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,\n     local_44 != (_Hash_node_base *)0x0)) {\n    bVar42 = (Target_powerpc<64,_false> *)0xffff8000 < in_stack_ffffff44;\n    iVar9 = -(int)in_stack_ffffff44;\n    iVar35 = -1 - (int)pSVar41;\n    pSVar45 = pSVar41;\n    do {\n      this_00 = (Symbol *)local_44[1]._M_nxt;\n      if (this_00 == (Symbol *)0x0) {\n        p_Var12 = local_44[2]._M_nxt;\n        p_Var24 = local_44[5]._M_nxt;\n        if ((_Hash_node_base *)\n            (((int)p_Var12[0x38]._M_nxt - (int)p_Var12[0x37]._M_nxt >> 2) * -0x33333333) <= p_Var24)\n        {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n        }\n        if (((uint)p_Var12[0x37]._M_nxt[(int)p_Var24 * 5 + 2]._M_nxt & 0x40000000) == 0) {\n          pOVar19 = pTVar33->lplt_;\n        }\n        else {\n          pOVar19 = pTVar33->iplt_;\n          if (pOVar19 == (Output_data_plt_powerpc<64,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n          }\n        }\n        local_54 = (*(code *)p_Var12->_M_nxt[0x2a]._M_nxt)(p_Var12,p_Var24);\nLAB_000f2fbb:\n        if (((pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;\n        uVar20 = (iVar9 - 0x8000U) + local_54;\n        puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                   super_Output_data.address_;\n        uVar37 = uVar20 + (int)*puVar18;\n        if (((iVar35 - (uint)bVar42) + (uint)CARRY4(iVar9 - 0x8000U,local_54) +\n             *(int *)((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_ + 4) + (uint)CARRY4(uVar20,(uint)*puVar18) +\n             (uint)(0x7fff7fff < uVar37) != 0) || ((uVar37 & 7) != 0)) {\n          gold::Symbol::demangled_name((Symbol *)local_44[1]._M_nxt);\n          p_Var24 = local_34;\n          p_Var12 = local_44[2]._M_nxt[1]._M_nxt;\n          format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n          gold::gold_error(format,p_Var12,p_Var24);\n          if (local_34 != local_2c) {\n            operator_delete(local_34);\n          }\n        }\n        pTVar33 = this->targ_;\n        uVar20 = *(uint *)&pTVar33->field_0x8 & 2;\n        if (uVar20 == 0) {\n          pGVar5 = gold::parameters->options_;\n          if (pGVar5 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          bVar1 = (pGVar5->plt_static_chain_).value;\n          if (pTVar33->plt_thread_safe_ == false) {\n            local_69 = false;\n            local_64 = 0;\n            p_Var12 = local_44[6]._M_nxt;\n            local_54 = uVar37 + 0x8000 >> 0x10;\n            bVar44 = false;\n          }\n          else {\n            uVar38 = __udivdi3(local_54 - 0x18,(0x17 < local_54) - 1,0x18,0,in_stack_ffffff44,\n                               pSVar45);\n            pOVar8 = pTVar33->glink_;\n            if (pOVar8 == (Output_data_glink<64,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x3a3,"glink_section");\n            }\n            local_90 = 0;\n            local_94 = (-(uint)((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0) & 0xfffffff4) + 0x40\n                       + uVar38 * 8;\n            if (0x8000 < uVar38) {\n              uVar38 = uVar38 * 4 - 0x20000;\n              bVar43 = CARRY4(local_94,uVar38);\n              local_94 = local_94 + uVar38;\n              local_90 = (uint)bVar43;\n            }\n            if ((pOVar8->field_0x1c & 1) == 0) goto LAB_000f3135;\n            uVar38 = *(uint *)((int)&pOVar8->invalid_address + 4);\n            uVar21 = 1 << ((byte)(pGVar5->plt_align_).value & 0x1f);\n            if (uVar21 < 0x20) {\n              uVar21 = 0x20;\n            }\n            local_69 = (bool)(this->field_0x1c & 1);\n            if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n            local_9c = 4;\n            puVar14 = (uint *)((int)&this->invalid_address + 4);\n            uVar34 = (uVar21 - 1) + *puVar14;\n            uVar40 = this->orig_data_size_ + uVar34 & -uVar21;\n            p_Var12 = local_44[6]._M_nxt;\n            uVar30 = *(byte *)((int)&local_44[7]._M_nxt + 3) >> 6 & 1;\n            local_54 = uVar37 + 0x8000 >> 0x10;\n            if (local_54 == 0) {\n              local_9c = 0;\n            }\n            uVar10 = (uint)bVar1;\n            local_64 = 0;\n            if (local_54 != uVar37 + 0x8008 + uVar10 * 8 >> 0x10) {\n              local_64 = 4;\n            }\n            uVar39 = uVar38 + uVar10 * -4;\n            uVar23 = uVar39 - 0x14;\n            p_Var24 = (_Hash_node_base *)(uVar23 - uVar40);\n            uVar25 = (int)p_Var24 - (int)p_Var12;\n            uVar26 = uVar25 + uVar30 * -4;\n            uVar27 = uVar26 + local_94;\n            uVar28 = uVar27 - local_9c;\n            bVar43 = uVar28 < local_64;\n            local_64 = uVar28 - local_64;\n            iVar36 = (((((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94)) -\n                      (uint)(uVar27 < local_9c)) - (uint)bVar43) + (uint)(0xfdffffff < local_64);\n            bVar44 = iVar36 != 0 || (uint)-iVar36 < (uint)(0x3ffffff < local_64 + 0x2000000);\n          }\n        }\n        else {\n          bVar1 = 0;\n          local_69 = false;\n          local_64 = 0;\n          p_Var12 = local_44[6]._M_nxt;\n          local_54 = uVar37 + 0x8000 >> 0x10;\n          bVar44 = false;\n        }\n        piVar13 = (int *)(puVar11 + (int)&p_Var12->_M_nxt);\n        pSVar41 = (Stub_table<64,_false> *)local_44[1]._M_nxt;\n        if ((Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_ == (Stub_table<64,_false> *)0x0) {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        else if (((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2);\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          uVar38 = uVar37 & 0xffff;\n          if (uVar20 == 0) {\n            *piVar17 = local_54 + 0x3d620000;\n            piVar17[1] = uVar38 + 0xe98b0000;\n            if (local_54 == uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10) {\n              piVar13 = piVar17 + 2;\n              pp_Var32 = (_func_int_varargs **)((uVar37 + 8 & 0xffff) + 0xe84b0000);\n            }\n            else {\n              piVar13 = piVar17 + 3;\n              uVar37 = 0;\n              piVar17[2] = uVar38 + 0x396b0000;\n              pp_Var32 = (_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            _vptr_Output_data = pp_Var32;\n            if (bVar1 != 0) goto LAB_000f37c0;\n            puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_;\n          }\n          else {\n            piVar17[2] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 3);\n            piVar17[1] = uVar38 + 0xe98c0000;\n            *piVar17 = local_54 + 0x3d820000;\n          }\n        }\n      }\n      else {\n        if ((this_00->field_0x28 & 0xf) != 10) {\nLAB_000f2f9a:\n          pOVar19 = pTVar33->plt_;\n          if (pOVar19 == (Output_data_plt_powerpc<64,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000f2fa5:\n          local_54 = this_00->plt_offset_;\n          if (local_54 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n          goto LAB_000f2fbb;\n        }\n        if ((this_00->field_0x2a & 7) == 0) {\n          if ((((uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage & 1) == 0) &&\n             ((pSVar41 = (Stub_table<64,_false> *)(this_00->u2_).shndx,\n              pSVar41 != (Stub_table<64,_false> *)0x0 || ((this_00->field_0x2b & 0x20) == 0))))\n          goto LAB_000f3795;\n          goto LAB_000f2f9a;\n        }\n        if ((this_00->field_0x2a & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n        bVar43 = gold::Symbol::is_preemptible(this_00);\n        if (bVar43) goto LAB_000f2f9a;\n        pOVar19 = pTVar33->iplt_;\n        if (pOVar19 != (Output_data_plt_powerpc<64,_false> *)0x0) goto LAB_000f2fa5;\n        pOVar19 = Target_powerpc<64,_false>::iplt_section(in_stack_ffffff44);\n        uVar37 = extraout_EDX;\n        bVar44 = extraout_CL;\nLAB_000f37c0:\n        puVar18 = (uint64_t *)\n                  ((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_ + 4);\n        *(uint *)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.address_ = (uVar37 + 0x10 & 0xffff) + 0xe96b0000;\n      }\n      if (*(char *)((int)&local_44[7]._M_nxt + 3) < '\0') {\nLAB_000f2f35:\n        if ((bVar44 == 1) || (local_69 == false)) {\n          *(int *)puVar18 = 0x4e800420;\n        }\n        else {\n          *(int *)puVar18 = 0x28220000;\n          *(int *)((int)puVar18 + 4) = 0x4ce20420;\n          *(uint *)(puVar18 + 1) = local_64 & 0x3fffffc | 0x48000000;\n        }\n      }\n      else {\n        pSVar4 = (Stub_table<64,_false> *)this->targ_->tls_get_addr_opt_;\n        if ((pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)p_Var22 - (int)p_Var12;\n        iVar35 = (int)local_44[2]._M_nxt +\n                 (uint)(0xfdffffff < uVar38) +\n                 ((-(uint)(p_Var24 < p_Var16) -\n                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))) - (uint)(p_Var22 < p_Var12)\n                 );\n        if (iVar35 == 0 && (uint)(0x3ffffff < uVar38 + 0x2000000) <= (uint)-iVar35)\n        goto code_r0x000f32c9;\n        local_34 = p_Var24;\n        local_30 = local_44[2]._M_nxt;\n        std::\n        _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);\n        if (local_40 == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write");\n        }\n        pOVar6 = this->targ_->brlt_section_;\n        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;\n        uVar37 = ((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44) -\n                 (int)local_44[3]._M_nxt;\n        uVar20 = uVar37 & 0xffff;\n        uVar37 = uVar37 + 0x8000 >> 0x10;\n        if (uVar37 == 0) {\n          *puVar14 = uVar20 + 0xe9820000;\n          puVar15 = puVar14 + 1;\n        }\n        else {\n          puVar14[1] = uVar20 + 0xe98c0000;\n          puVar15 = puVar14 + 2;\n          *puVar14 = uVar37 + 0x3d820000;\n        }\n        *puVar15 = 0x7d8903a6;\n        puVar15[1] = 0x4e800420;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n    } while( true );\n  }\n  if (this->need_save_res_ == false) {\n    return;\n  }\n  pOVar7 = this->targ_->savres_section_;\n  if ((pOVar7->field_0x1c & 2) != 0) {\n    memcpy(puVar11 + this->plt_size_ + this->branch_size_,pOVar7->contents_,\n           *(size_t *)&pOVar7->field_0xc);\n    return;\n  }\n  goto LAB_000f398a;\ncode_r0x000f32c9:\n  *puVar14 = uVar38 & 0x3fffffc | 0x48000000;\n  local_44 = local_44->_M_nxt;\n  goto joined_r0x000f30c8;\n}\n\n" comment comment comment comment (declaration "void __thiscall\nanon_unknown.dwarf_6462d4::Stub_table<64,_false>::do_write\n          (Stub_table<64,_false> *this,Output_file *of)\n\n{\n  byte bVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) identifier (ERROR ".dwarf_6462d4::Stub_table<64" . identifier : : identifier < number_literal) , (ERROR "_false>::do_write\n          (Stub_table<64,_false> *this,Output_file *of)\n\n{\n  byte" identifier > : : (function_declarator "do_write\n          (Stub_table<64,_false> *this,Output_file *of)" identifier (parameter_list "(Stub_table<64,_false> *this,Output_file *of)" ( (parameter_declaration "Stub_table" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_file *of" type_identifier (pointer_declarator "*of" * identifier)) ))) { identifier) identifier ;) (declaration "size_type sVar2;" type_identifier identifier ;) (declaration "Output_section *pOVar3;" type_identifier (pointer_declarator "*pOVar3" * identifier) ;) (expression_statement "Stub_table<64,_false> *pSVar4;" (update_expression "Stub_table<64,_false> *pSVar4" (binary_expression "Stub_table<64,_false> *pSVar4" (binary_expression "Stub_table<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pSVar4" * identifier)) --) ;) (declaration "Symbol *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "General_options *pGVar5;" type_identifier (pointer_declarator "*pGVar5" * identifier) ;) (expression_statement "Output_data_brlt_powerpc<64,_false> *pOVar6;" (update_expression "Output_data_brlt_powerpc<64,_false> *pOVar6" (binary_expression "Output_data_brlt_powerpc<64,_false> *pOVar6" (binary_expression "Output_data_brlt_powerpc<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pOVar6" * identifier)) --) ;) (expression_statement "Output_data_save_res<64,_false> *pOVar7;" (update_expression "Output_data_save_res<64,_false> *pOVar7" (binary_expression "Output_data_save_res<64,_false> *pOVar7" (binary_expression "Output_data_save_res<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pOVar7" * identifier)) --) ;) (expression_statement "Output_data_glink<64,_false> *pOVar8;" (update_expression "Output_data_glink<64,_false> *pOVar8" (binary_expression "Output_data_glink<64,_false> *pOVar8" (binary_expression "Output_data_glink<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pOVar8" * identifier)) --) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uchar *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "_Hash_node_base *p_Var12;" type_identifier (pointer_declarator "*p_Var12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "uint *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "_Hash_node_base *p_Var16;" type_identifier (pointer_declarator "*p_Var16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "uint64_t *puVar18;" primitive_type (pointer_declarator "*puVar18" * identifier) ;) (expression_statement "Output_data_plt_powerpc<64,_false> *pOVar19;" (update_expression "Output_data_plt_powerpc<64,_false> *pOVar19" (binary_expression "Output_data_plt_powerpc<64,_false> *pOVar19" (binary_expression "Output_data_plt_powerpc<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pOVar19" * identifier)) --) ;) (declaration "byte extraout_CL;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Var22;" type_identifier (pointer_declarator "*p_Var22" * identifier) ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Var24;" type_identifier (pointer_declarator "*p_Var24" * identifier) ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "uint64_t *puVar29;" primitive_type (pointer_declarator "*puVar29" * identifier) ;) (declaration "uint uVar30;" type_identifier identifier ;) (declaration "uint extraout_EDX;" type_identifier identifier ;) (declaration "byte bVar31;" type_identifier identifier ;) (declaration "_func_int_varargs **pp_Var32;" type_identifier (pointer_declarator "**pp_Var32" * (pointer_declarator "*pp_Var32" * identifier)) ;) (expression_statement "Target_powerpc<64,_false> *pTVar33;" (update_expression "Target_powerpc<64,_false> *pTVar33" (binary_expression "Target_powerpc<64,_false> *pTVar33" (binary_expression "Target_powerpc<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pTVar33" * identifier)) --) ;) (declaration "uint uVar34;" type_identifier identifier ;) (declaration "int iVar35;" primitive_type identifier ;) (declaration "int iVar36;" primitive_type identifier ;) (declaration "uint uVar37;" type_identifier identifier ;) (declaration "uint uVar38;" type_identifier identifier ;) (declaration "uint uVar39;" type_identifier identifier ;) (declaration "uint uVar40;" type_identifier identifier ;) (expression_statement "Stub_table<64,_false> *pSVar41;" (update_expression "Stub_table<64,_false> *pSVar41" (binary_expression "Stub_table<64,_false> *pSVar41" (binary_expression "Stub_table<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pSVar41" * identifier)) --) ;) (declaration "bool bVar42;" primitive_type identifier ;) (declaration "bool bVar43;" primitive_type identifier ;) (declaration "byte bVar44;" type_identifier identifier ;) (expression_statement "Target_powerpc<64,_false> *in_stack_ffffff44;" (update_expression "Target_powerpc<64,_false> *in_stack_ffffff44" (binary_expression "Target_powerpc<64,_false> *in_stack_ffffff44" (binary_expression "Target_powerpc<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*in_stack_ffffff44" * identifier)) --) ;) (expression_statement "Stub_table<64,_false> *pSVar45;" (update_expression "Stub_table<64,_false> *pSVar45" (binary_expression "Stub_table<64,_false> *pSVar45" (binary_expression "Stub_table<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pSVar45" * identifier)) --) ;) (declaration "uint local_9c;" type_identifier identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "uint local_90;" type_identifier identifier ;) (declaration "bool local_69;" primitive_type identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "uint local_54;" type_identifier identifier ;) (declaration "_Hash_node_base *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "_Hash_node_base *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "_Hash_node_base *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "_Hash_node_base local_2c [7];" type_identifier (array_declarator "local_2c [7]" identifier [ number_literal ]) ;) (expression_statement "sVar2 = (this->plt_call_stubs_)._M_h._M_element_count;" (assignment_expression "sVar2 = (this->plt_call_stubs_)._M_h._M_element_count" identifier = (field_expression "(this->plt_call_stubs_)._M_h._M_element_count" (field_expression "(this->plt_call_stubs_)._M_h" (parenthesized_expression "(this->plt_call_stubs_)" ( (field_expression "this->plt_call_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((sVar2 == 0) && ((this->long_branch_stubs_)._M_h._M_element_count == 0)) {\n    return;\n  }" if (parenthesized_expression "((sVar2 == 0) && ((this->long_branch_stubs_)._M_h._M_element_count == 0))" ( (binary_expression "(sVar2 == 0) && ((this->long_branch_stubs_)._M_h._M_element_count == 0)" (parenthesized_expression "(sVar2 == 0)" ( (binary_expression "sVar2 == 0" identifier == number_literal) )) && (parenthesized_expression "((this->long_branch_stubs_)._M_h._M_element_count == 0)" ( (binary_expression "(this->long_branch_stubs_)._M_h._M_element_count == 0" (field_expression "(this->long_branch_stubs_)._M_h._M_element_count" (field_expression "(this->long_branch_stubs_)._M_h" (parenthesized_expression "(this->long_branch_stubs_)" ( (field_expression "this->long_branch_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) == number_literal) ))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if ((this->field_0x1c & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }" if (parenthesized_expression "((this->field_0x1c & 4) == 0)" ( (binary_expression "(this->field_0x1c & 4) == 0" (parenthesized_expression "(this->field_0x1c & 4)" ( (binary_expression "this->field_0x1c & 4" (field_expression "this->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xe3,"offset");" (call_expression "do_gold_unreachable("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;)) })) (if_statement "if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_000f392f:\n                    /* WARNING: Subroutine does not return */\n    stub_align((Stub_table<64,_false> *)in_stack_ffffff44);\n  }" if (parenthesized_expression "(gold::parameters->options_ == (General_options *)0x0)" ( (ERROR "gold::" identifier : :) (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000f392f:\n                    /* WARNING: Subroutine does not return */\n    stub_align((Stub_table<64,_false> *)in_stack_ffffff44);\n  }" { (labeled_statement "LAB_000f392f:\n                    /* WARNING: Subroutine does not return */\n    stub_align((Stub_table<64,_false> *)in_stack_ffffff44);" statement_identifier : comment (expression_statement "stub_align((Stub_table<64,_false> *)in_stack_ffffff44);" (call_expression "stub_align((Stub_table<64,_false> *)in_stack_ffffff44)" identifier (argument_list "((Stub_table<64,_false> *)in_stack_ffffff44)" ( (parenthesized_expression "(Stub_table<64,_false> *)in_stack_ffffff44)" ( (comma_expression "Stub_table<64,_false> *)in_stack_ffffff44" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false> *)in_stack_ffffff44" identifier > (pointer_expression "*)in_stack_ffffff44" * (ERROR ")" )) identifier))) )) ))) ;)) })) (expression_statement "uVar37 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);" (assignment_expression "uVar37 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f)" identifier = (binary_expression "1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f)" number_literal << (parenthesized_expression "((byte)(gold::parameters->options_->plt_align_).value & 0x1f)" ( (binary_expression "(byte)(gold::parameters->options_->plt_align_).value & 0x1f" (field_expression "(byte)(gold::parameters->options_->plt_align_).value" (call_expression "(byte)(gold::parameters->options_->plt_align_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(gold::parameters->options_->plt_align_)" ( (ERROR "gold::" identifier : :) (field_expression "parameters->options_->plt_align_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) ))) . field_identifier) & number_literal) )))) ;) (if_statement "if (uVar37 < 0x20) {\n    uVar37 = 0x20;\n  }" if (parenthesized_expression "(uVar37 < 0x20)" ( (binary_expression "uVar37 < 0x20" identifier < number_literal) )) (compound_statement "{\n    uVar37 = 0x20;\n  }" { (expression_statement "uVar37 = 0x20;" (assignment_expression "uVar37 = 0x20" identifier = number_literal) ;) })) (expression_statement "uVar37 = (uVar37 - 1) + this->orig_data_size_ + *(int *)&this->field_0x14 & -uVar37;" (assignment_expression "uVar37 = (uVar37 - 1) + this->orig_data_size_ + *(int *)&this->field_0x14 & -uVar37" identifier = (binary_expression "(uVar37 - 1) + this->orig_data_size_ + *(int *)&this->field_0x14 & -uVar37" (binary_expression "(uVar37 - 1) + this->orig_data_size_ + *(int *)&this->field_0x14" (binary_expression "(uVar37 - 1) + this->orig_data_size_" (parenthesized_expression "(uVar37 - 1)" ( (binary_expression "uVar37 - 1" identifier - number_literal) )) + (field_expression "this->orig_data_size_" identifier -> field_identifier)) + (pointer_expression "*(int *)&this->field_0x14" * (cast_expression "(int *)&this->field_0x14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x14" & (field_expression "this->field_0x14" identifier -> field_identifier))))) & (unary_expression "-uVar37" - identifier))) ;) (if_statement "if ((this->field_0x1c & 2) == 0) {\nLAB_000f398a:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n  }" if (parenthesized_expression "((this->field_0x1c & 2) == 0)" ( (binary_expression "(this->field_0x1c & 2) == 0" (parenthesized_expression "(this->field_0x1c & 2)" ( (binary_expression "this->field_0x1c & 2" (field_expression "this->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000f398a:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n  }" { (labeled_statement "LAB_000f398a:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;))) })) (expression_statement "uVar20 = uVar37 - *(int *)&this->field_0x14;" (assignment_expression "uVar20 = uVar37 - *(int *)&this->field_0x14" identifier = (binary_expression "uVar37 - *(int *)&this->field_0x14" identifier - (pointer_expression "*(int *)&this->field_0x14" * (cast_expression "(int *)&this->field_0x14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x14" & (field_expression "this->field_0x14" identifier -> field_identifier)))))) ;) (expression_statement "uVar38 = *(uint *)&this->field_0xc - uVar20;" (assignment_expression "uVar38 = *(uint *)&this->field_0xc - uVar20" identifier = (binary_expression "*(uint *)&this->field_0xc - uVar20" (pointer_expression "*(uint *)&this->field_0xc" * (cast_expression "(uint *)&this->field_0xc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0xc" & (field_expression "this->field_0xc" identifier -> field_identifier)))) - identifier)) ;) (if_statement "if (*(uint *)&this->field_0x10 != (uint)(*(uint *)&this->field_0xc < uVar20)) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n  }" if (parenthesized_expression "(*(uint *)&this->field_0x10 != (uint)(*(uint *)&this->field_0xc < uVar20))" ( (binary_expression "*(uint *)&this->field_0x10 != (uint)(*(uint *)&this->field_0xc < uVar20)" (pointer_expression "*(uint *)&this->field_0x10" * (cast_expression "(uint *)&this->field_0x10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x10" & (field_expression "this->field_0x10" identifier -> field_identifier)))) != (call_expression "(uint)(*(uint *)&this->field_0xc < uVar20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)&this->field_0xc < uVar20)" ( (binary_expression "*(uint *)&this->field_0xc < uVar20" (pointer_expression "*(uint *)&this->field_0xc" * (cast_expression "(uint *)&this->field_0xc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0xc" & (field_expression "this->field_0xc" identifier -> field_identifier)))) < identifier) )))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");" (call_expression "do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types")" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types")" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") ))) ;)) })) (expression_statement "uVar20 = (uint)CARRY4(uVar37,uVar38);" (assignment_expression "uVar20 = (uint)CARRY4(uVar37,uVar38)" identifier = (cast_expression "(uint)CARRY4(uVar37,uVar38)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar37,uVar38)" identifier (argument_list "(uVar37,uVar38)" ( identifier , identifier ))))) ;) (expression_statement "iVar35 = *(int *)((int)&of->file_size_ + 4);" (assignment_expression "iVar35 = *(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) ))))) ;) (expression_statement "uVar38 = (uint)((uint)of->file_size_ < uVar37 + uVar38);" (assignment_expression "uVar38 = (uint)((uint)of->file_size_ < uVar37 + uVar38)" identifier = (call_expression "(uint)((uint)of->file_size_ < uVar37 + uVar38)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)of->file_size_ < uVar37 + uVar38)" ( (binary_expression "(uint)of->file_size_ < uVar37 + uVar38" (cast_expression "(uint)of->file_size_" ( (type_descriptor "uint" type_identifier) ) (field_expression "of->file_size_" identifier -> field_identifier)) < (binary_expression "uVar37 + uVar38" identifier + identifier)) )))) ;) (expression_statement "iVar9 = iVar35 - uVar20;" (assignment_expression "iVar9 = iVar35 - uVar20" identifier = (binary_expression "iVar35 - uVar20" identifier - identifier)) ;) (if_statement "if ((SBORROW4(iVar35,uVar20) != SBORROW4(iVar9,uVar38)) != (int)(iVar9 - uVar38) < 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n  }" if (parenthesized_expression "((SBORROW4(iVar35,uVar20) != SBORROW4(iVar9,uVar38)) != (int)(iVar9 - uVar38) < 0)" ( (binary_expression "(SBORROW4(iVar35,uVar20) != SBORROW4(iVar9,uVar38)) != (int)(iVar9 - uVar38) < 0" (parenthesized_expression "(SBORROW4(iVar35,uVar20) != SBORROW4(iVar9,uVar38))" ( (binary_expression "SBORROW4(iVar35,uVar20) != SBORROW4(iVar9,uVar38)" (call_expression "SBORROW4(iVar35,uVar20)" identifier (argument_list "(iVar35,uVar20)" ( identifier , identifier ))) != (call_expression "SBORROW4(iVar9,uVar38)" identifier (argument_list "(iVar9,uVar38)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar9 - uVar38) < 0" (cast_expression "(int)(iVar9 - uVar38)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar9 - uVar38)" ( (binary_expression "iVar9 - uVar38" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");" (call_expression "do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view")" identifier (argument_list "("../../gold/output.h",0x6f,"get_output_view")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""get_output_view"" " string_content ") ))) ;)) })) (expression_statement "puVar11 = of->base_ + uVar37;" (assignment_expression "puVar11 = of->base_ + uVar37" identifier = (binary_expression "of->base_ + uVar37" (field_expression "of->base_" identifier -> field_identifier) + identifier)) ;) (expression_statement "pTVar33 = this->targ_;" (assignment_expression "pTVar33 = this->targ_" identifier = (field_expression "this->targ_" identifier -> field_identifier)) ;) (if_statement "if (pTVar33->got_ == (Output_data_got_powerpc<64,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    Target_powerpc<64,_false>::got_section(in_stack_ffffff44);\n  }" if (parenthesized_expression "(pTVar33->got_ == (Output_data_got_powerpc<64,_false> *)0x0)" ( (binary_expression "pTVar33->got_ == (Output_data_got_powerpc<64,_false> *)0x0)" (field_expression "pTVar33->got_" identifier -> field_identifier) == (parenthesized_expression "(Output_data_got_powerpc<64,_false> *)0x0)" ( (comma_expression "Output_data_got_powerpc<64,_false> *)0x0" (binary_expression "Output_data_got_powerpc<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    Target_powerpc<64,_false>::got_section(in_stack_ffffff44);\n  }" { comment (expression_statement "Target_powerpc<64,_false>::got_section(in_stack_ffffff44);" (comma_expression "Target_powerpc<64,_false>::got_section(in_stack_ffffff44)" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_false>::got_section(in_stack_ffffff44)" identifier > (ERROR "::" : :) (call_expression "got_section(in_stack_ffffff44)" identifier (argument_list "(in_stack_ffffff44)" ( identifier ))))) ;) })) (expression_statement "pOVar3 = (pTVar33->got_->super_Output_data_got<64,_false>).super_Output_data_got_base.\n           super_Output_section_data_build.super_Output_section_data.output_section_;" (assignment_expression "pOVar3 = (pTVar33->got_->super_Output_data_got<64,_false>).super_Output_data_got_base.\n           super_Output_section_data_build.super_Output_section_data.output_section_" identifier = (field_expression "(pTVar33->got_->super_Output_data_got<64,_false>).super_Output_data_got_base.\n           super_Output_section_data_build.super_Output_section_data.output_section_" (field_expression "(pTVar33->got_->super_Output_data_got<64,_false>).super_Output_data_got_base.\n           super_Output_section_data_build.super_Output_section_data" (field_expression "(pTVar33->got_->super_Output_data_got<64,_false>).super_Output_data_got_base.\n           super_Output_section_data_build" (field_expression "(pTVar33->got_->super_Output_data_got<64,_false>).super_Output_data_got_base" (parenthesized_expression "(pTVar33->got_->super_Output_data_got<64,_false>)" ( (comma_expression "pTVar33->got_->super_Output_data_got<64,_false" (binary_expression "pTVar33->got_->super_Output_data_got<64" (field_expression "pTVar33->got_->super_Output_data_got" (field_expression "pTVar33->got_" identifier -> field_identifier) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (((pOVar3->super_Output_data).field_0x1c & 1) == 0) {\nLAB_000f3135:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n  }" if (parenthesized_expression "(((pOVar3->super_Output_data).field_0x1c & 1) == 0)" ( (binary_expression "((pOVar3->super_Output_data).field_0x1c & 1) == 0" (parenthesized_expression "((pOVar3->super_Output_data).field_0x1c & 1)" ( (binary_expression "(pOVar3->super_Output_data).field_0x1c & 1" (field_expression "(pOVar3->super_Output_data).field_0x1c" (parenthesized_expression "(pOVar3->super_Output_data)" ( (field_expression "pOVar3->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000f3135:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n  }" { (labeled_statement "LAB_000f3135:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xc5,"address");" (call_expression "do_gold_unreachable("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;))) })) (expression_statement "in_stack_ffffff44 = *(Target_powerpc<64,_false> **)&(pOVar3->super_Output_data).address_;" (assignment_expression "in_stack_ffffff44 = *(Target_powerpc<64,_false> **)&(pOVar3->super_Output_data).address_" identifier = (binary_expression "*(Target_powerpc<64,_false> **)&(pOVar3->super_Output_data).address_" (pointer_expression "*(Target_powerpc<64,_false> **)" * (parenthesized_expression "(Target_powerpc<64,_false> **)" ( (comma_expression "Target_powerpc<64,_false> **" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) ))) & (field_expression "(pOVar3->super_Output_data).address_" (parenthesized_expression "(pOVar3->super_Output_data)" ( (field_expression "pOVar3->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pSVar41 = *(Stub_table<64,_false> **)((int)&(pOVar3->super_Output_data).address_ + 4);" (assignment_expression "pSVar41 = *(Stub_table<64,_false> **)((int)&(pOVar3->super_Output_data).address_ + 4)" identifier = (pointer_expression "*(Stub_table<64,_false> **)((int)&(pOVar3->super_Output_data).address_ + 4)" * (call_expression "(Stub_table<64,_false> **)((int)&(pOVar3->super_Output_data).address_ + 4)" (parenthesized_expression "(Stub_table<64,_false> **)" ( (comma_expression "Stub_table<64,_false> **" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((int)&(pOVar3->super_Output_data).address_ + 4)" ( (binary_expression "(int)&(pOVar3->super_Output_data).address_ + 4" (cast_expression "(int)&(pOVar3->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar3->super_Output_data).address_" & (field_expression "(pOVar3->super_Output_data).address_" (parenthesized_expression "(pOVar3->super_Output_data)" ( (field_expression "pOVar3->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) if (parenthesized_expression "((sVar2 != 0) &&\n     (local_44 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,\n     local_44 != (_Hash_node_base *)0x0))" ( (binary_expression "(sVar2 != 0) &&\n     (local_44 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,\n     local_44 != (_Hash_node_base *)0x0)" (parenthesized_expression "(sVar2 != 0)" ( (binary_expression "sVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(local_44 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,\n     local_44 != (_Hash_node_base *)0x0)" ( (comma_expression "local_44 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,\n     local_44 != (_Hash_node_base *)0x0" (assignment_expression "local_44 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt" identifier = (field_expression "(this->plt_call_stubs_)._M_h._M_before_begin._M_nxt" (field_expression "(this->plt_call_stubs_)._M_h._M_before_begin" (field_expression "(this->plt_call_stubs_)._M_h" (parenthesized_expression "(this->plt_call_stubs_)" ( (field_expression "this->plt_call_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) , (binary_expression "local_44 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) { (expression_statement "bVar42 = (Target_powerpc<64,_false> *)0xffff8000 < in_stack_ffffff44;" (assignment_expression "bVar42 = (Target_powerpc<64,_false> *)0xffff8000 < in_stack_ffffff44" identifier = (parenthesized_expression "(Target_powerpc<64,_false> *)0xffff8000 < in_stack_ffffff44" ( (comma_expression "Target_powerpc<64,_false> *)0xffff8000 < in_stack_ffffff44" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_false> *)0xffff8000 < in_stack_ffffff44" (binary_expression "_false> *)0xffff8000" identifier > (pointer_expression "*)0xffff8000" * (ERROR ")" )) number_literal)) < identifier)) ))) ;) (expression_statement "iVar9 = -(int)in_stack_ffffff44;" (assignment_expression "iVar9 = -(int)in_stack_ffffff44" identifier = (unary_expression "-(int)in_stack_ffffff44" - (cast_expression "(int)in_stack_ffffff44" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar35 = -1 - (int)pSVar41;" (assignment_expression "iVar35 = -1 - (int)pSVar41" identifier = (binary_expression "-1 - (int)pSVar41" number_literal - (cast_expression "(int)pSVar41" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pSVar45 = pSVar41;" (assignment_expression "pSVar45 = pSVar41" identifier = identifier) ;) do { (expression_statement "this_00 = (Symbol *)local_44[1]._M_nxt;" (assignment_expression "this_00 = (Symbol *)local_44[1]._M_nxt" identifier = (cast_expression "(Symbol *)local_44[1]._M_nxt" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_44[1]._M_nxt" (subscript_expression "local_44[1]" identifier [ number_literal ]) . field_identifier))) ;) if (parenthesized_expression "(this_00 == (Symbol *)0x0)" ( (binary_expression "this_00 == (Symbol *)0x0" identifier == (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) { (expression_statement "p_Var12 = local_44[2]._M_nxt;" (assignment_expression "p_Var12 = local_44[2]._M_nxt" identifier = (field_expression "local_44[2]._M_nxt" (subscript_expression "local_44[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "p_Var24 = local_44[5]._M_nxt;" (assignment_expression "p_Var24 = local_44[5]._M_nxt" identifier = (field_expression "local_44[5]._M_nxt" (subscript_expression "local_44[5]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if ((_Hash_node_base *)\n            (((int)p_Var12[0x38]._M_nxt - (int)p_Var12[0x37]._M_nxt >> 2) * -0x33333333) <= p_Var24)\n        {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n        }" if (parenthesized_expression "((_Hash_node_base *)\n            (((int)p_Var12[0x38]._M_nxt - (int)p_Var12[0x37]._M_nxt >> 2) * -0x33333333) <= p_Var24)" ( (binary_expression "(_Hash_node_base *)\n            (((int)p_Var12[0x38]._M_nxt - (int)p_Var12[0x37]._M_nxt >> 2) * -0x33333333) <= p_Var24" (cast_expression "(_Hash_node_base *)\n            (((int)p_Var12[0x38]._M_nxt - (int)p_Var12[0x37]._M_nxt >> 2) * -0x33333333)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)p_Var12[0x38]._M_nxt - (int)p_Var12[0x37]._M_nxt >> 2) * -0x33333333)" ( (binary_expression "((int)p_Var12[0x38]._M_nxt - (int)p_Var12[0x37]._M_nxt >> 2) * -0x33333333" (parenthesized_expression "((int)p_Var12[0x38]._M_nxt - (int)p_Var12[0x37]._M_nxt >> 2)" ( (binary_expression "(int)p_Var12[0x38]._M_nxt - (int)p_Var12[0x37]._M_nxt >> 2" (binary_expression "(int)p_Var12[0x38]._M_nxt - (int)p_Var12[0x37]._M_nxt" (cast_expression "(int)p_Var12[0x38]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var12[0x38]._M_nxt" (subscript_expression "p_Var12[0x38]" identifier [ number_literal ]) . field_identifier)) - (cast_expression "(int)p_Var12[0x37]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var12[0x37]._M_nxt" (subscript_expression "p_Var12[0x37]" identifier [ number_literal ]) . field_identifier))) >> number_literal) )) * number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n        }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");" (call_expression "do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol")" identifier (argument_list "("../../gold/object.h",0x8c1,"local_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""local_symbol"" " string_content ") ))) ;)) })) (if_statement "if (((uint)p_Var12[0x37]._M_nxt[(int)p_Var24 * 5 + 2]._M_nxt & 0x40000000) == 0) {\n          pOVar19 = pTVar33->lplt_;\n        }\n        else {\n          pOVar19 = pTVar33->iplt_;\n          if (pOVar19 == (Output_data_plt_powerpc<64,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n          }\n        }" if (parenthesized_expression "(((uint)p_Var12[0x37]._M_nxt[(int)p_Var24 * 5 + 2]._M_nxt & 0x40000000) == 0)" ( (binary_expression "((uint)p_Var12[0x37]._M_nxt[(int)p_Var24 * 5 + 2]._M_nxt & 0x40000000) == 0" (parenthesized_expression "((uint)p_Var12[0x37]._M_nxt[(int)p_Var24 * 5 + 2]._M_nxt & 0x40000000)" ( (binary_expression "(uint)p_Var12[0x37]._M_nxt[(int)p_Var24 * 5 + 2]._M_nxt & 0x40000000" (cast_expression "(uint)p_Var12[0x37]._M_nxt[(int)p_Var24 * 5 + 2]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var12[0x37]._M_nxt[(int)p_Var24 * 5 + 2]._M_nxt" (subscript_expression "p_Var12[0x37]._M_nxt[(int)p_Var24 * 5 + 2]" (field_expression "p_Var12[0x37]._M_nxt" (subscript_expression "p_Var12[0x37]" identifier [ number_literal ]) . field_identifier) [ (binary_expression "(int)p_Var24 * 5 + 2" (binary_expression "(int)p_Var24 * 5" (cast_expression "(int)p_Var24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) + number_literal) ]) . field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n          pOVar19 = pTVar33->lplt_;\n        }" { (expression_statement "pOVar19 = pTVar33->lplt_;" (assignment_expression "pOVar19 = pTVar33->lplt_" identifier = (field_expression "pTVar33->lplt_" identifier -> field_identifier)) ;) }) (else_clause "else {\n          pOVar19 = pTVar33->iplt_;\n          if (pOVar19 == (Output_data_plt_powerpc<64,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n          }\n        }" else (compound_statement "{\n          pOVar19 = pTVar33->iplt_;\n          if (pOVar19 == (Output_data_plt_powerpc<64,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n          }\n        }" { (expression_statement "pOVar19 = pTVar33->iplt_;" (assignment_expression "pOVar19 = pTVar33->iplt_" identifier = (field_expression "pTVar33->iplt_" identifier -> field_identifier)) ;) (if_statement "if (pOVar19 == (Output_data_plt_powerpc<64,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n          }" if (parenthesized_expression "(pOVar19 == (Output_data_plt_powerpc<64,_false> *)0x0)" ( (binary_expression "pOVar19 == (Output_data_plt_powerpc<64,_false> *)0x0)" identifier == (parenthesized_expression "(Output_data_plt_powerpc<64,_false> *)0x0)" ( (comma_expression "Output_data_plt_powerpc<64,_false> *)0x0" (binary_expression "Output_data_plt_powerpc<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");\n          }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");" (call_expression "do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section")" identifier (argument_list "("../../gold/powerpc.cc",0x372,"iplt_section")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""iplt_section"" " string_content ") ))) ;)) })) }))) (expression_statement "local_54 = (*(code *)p_Var12->_M_nxt[0x2a]._M_nxt)(p_Var12,p_Var24);" (assignment_expression "local_54 = (*(code *)p_Var12->_M_nxt[0x2a]._M_nxt)(p_Var12,p_Var24)" identifier = (call_expression "(*(code *)p_Var12->_M_nxt[0x2a]._M_nxt)(p_Var12,p_Var24)" (parenthesized_expression "(*(code *)p_Var12->_M_nxt[0x2a]._M_nxt)" ( (pointer_expression "*(code *)p_Var12->_M_nxt[0x2a]._M_nxt" * (cast_expression "(code *)p_Var12->_M_nxt[0x2a]._M_nxt" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var12->_M_nxt[0x2a]._M_nxt" (subscript_expression "p_Var12->_M_nxt[0x2a]" (field_expression "p_Var12->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier))) )) (argument_list "(p_Var12,p_Var24)" ( identifier , identifier )))) ;) (labeled_statement "LAB_000f2fbb:\n        if (((pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;" statement_identifier : (if_statement "if (((pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;" if (parenthesized_expression "(((pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0)" ( (binary_expression "((pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0" (parenthesized_expression "((pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1)" ( (binary_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1" (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c" (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar19->super_Output_section_data_build)" ( (field_expression "pOVar19->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f3135;" goto statement_identifier ;))) (expression_statement "uVar20 = (iVar9 - 0x8000U) + local_54;" (assignment_expression "uVar20 = (iVar9 - 0x8000U) + local_54" identifier = (binary_expression "(iVar9 - 0x8000U) + local_54" (parenthesized_expression "(iVar9 - 0x8000U)" ( (binary_expression "iVar9 - 0x8000U" identifier - number_literal) )) + identifier)) ;) (expression_statement "puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                   super_Output_data.address_;" (assignment_expression "puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                   super_Output_data.address_" identifier = (pointer_expression "&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                   super_Output_data.address_" & (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                   super_Output_data.address_" (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                   super_Output_data" (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar19->super_Output_section_data_build)" ( (field_expression "pOVar19->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "uVar37 = uVar20 + (int)*puVar18;" (assignment_expression "uVar37 = uVar20 + (int)*puVar18" identifier = (binary_expression "uVar20 + (int)*puVar18" identifier + (cast_expression "(int)*puVar18" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*puVar18" * identifier)))) ;) (if_statement "if (((iVar35 - (uint)bVar42) + (uint)CARRY4(iVar9 - 0x8000U,local_54) +\n             *(int *)((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_ + 4) + (uint)CARRY4(uVar20,(uint)*puVar18) +\n             (uint)(0x7fff7fff < uVar37) != 0) || ((uVar37 & 7) != 0)) {\n          gold::Symbol::demangled_name((Symbol *)local_44[1]._M_nxt);\n          p_Var24 = local_34;\n          p_Var12 = local_44[2]._M_nxt[1]._M_nxt;\n          format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n          gold::gold_error(format,p_Var12,p_Var24);\n          if (local_34 != local_2c) {\n            operator_delete(local_34);\n          }\n        }" if (parenthesized_expression "(((iVar35 - (uint)bVar42) + (uint)CARRY4(iVar9 - 0x8000U,local_54) +\n             *(int *)((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_ + 4) + (uint)CARRY4(uVar20,(uint)*puVar18) +\n             (uint)(0x7fff7fff < uVar37) != 0) || ((uVar37 & 7) != 0))" ( (binary_expression "((iVar35 - (uint)bVar42) + (uint)CARRY4(iVar9 - 0x8000U,local_54) +\n             *(int *)((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_ + 4) + (uint)CARRY4(uVar20,(uint)*puVar18) +\n             (uint)(0x7fff7fff < uVar37) != 0) || ((uVar37 & 7) != 0)" (parenthesized_expression "((iVar35 - (uint)bVar42) + (uint)CARRY4(iVar9 - 0x8000U,local_54) +\n             *(int *)((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_ + 4) + (uint)CARRY4(uVar20,(uint)*puVar18) +\n             (uint)(0x7fff7fff < uVar37) != 0)" ( (binary_expression "(iVar35 - (uint)bVar42) + (uint)CARRY4(iVar9 - 0x8000U,local_54) +\n             *(int *)((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_ + 4) + (uint)CARRY4(uVar20,(uint)*puVar18) +\n             (uint)(0x7fff7fff < uVar37) != 0" (binary_expression "(iVar35 - (uint)bVar42) + (uint)CARRY4(iVar9 - 0x8000U,local_54) +\n             *(int *)((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_ + 4) + (uint)CARRY4(uVar20,(uint)*puVar18) +\n             (uint)(0x7fff7fff < uVar37)" (binary_expression "(iVar35 - (uint)bVar42) + (uint)CARRY4(iVar9 - 0x8000U,local_54) +\n             *(int *)((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_ + 4) + (uint)CARRY4(uVar20,(uint)*puVar18)" (binary_expression "(iVar35 - (uint)bVar42) + (uint)CARRY4(iVar9 - 0x8000U,local_54) +\n             *(int *)((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_ + 4)" (binary_expression "(iVar35 - (uint)bVar42) + (uint)CARRY4(iVar9 - 0x8000U,local_54)" (parenthesized_expression "(iVar35 - (uint)bVar42)" ( (binary_expression "iVar35 - (uint)bVar42" identifier - (cast_expression "(uint)bVar42" ( (type_descriptor "uint" type_identifier) ) identifier)) )) + (cast_expression "(uint)CARRY4(iVar9 - 0x8000U,local_54)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(iVar9 - 0x8000U,local_54)" identifier (argument_list "(iVar9 - 0x8000U,local_54)" ( (binary_expression "iVar9 - 0x8000U" identifier - number_literal) , identifier ))))) + (pointer_expression "*(int *)((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_ + 4)" * (cast_expression "(int *)((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_ + 4)" ( (binary_expression "(int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_ + 4" (cast_expression "(int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_" & (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data.address_" (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                            super_Output_data" (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar19->super_Output_section_data_build)" ( (field_expression "pOVar19->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar20,(uint)*puVar18)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar20,(uint)*puVar18)" identifier (argument_list "(uVar20,(uint)*puVar18)" ( identifier , (binary_expression "(uint)*puVar18" (parenthesized_expression "(uint)" ( identifier )) * identifier) ))))) + (call_expression "(uint)(0x7fff7fff < uVar37)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x7fff7fff < uVar37)" ( (binary_expression "0x7fff7fff < uVar37" number_literal < identifier) )))) != number_literal) )) || (parenthesized_expression "((uVar37 & 7) != 0)" ( (binary_expression "(uVar37 & 7) != 0" (parenthesized_expression "(uVar37 & 7)" ( (binary_expression "uVar37 & 7" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          gold::Symbol::demangled_name((Symbol *)local_44[1]._M_nxt);\n          p_Var24 = local_34;\n          p_Var12 = local_44[2]._M_nxt[1]._M_nxt;\n          format = (char *)gettext("%s: linkage table error against `%s\'");\n                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */\n          gold::gold_error(format,p_Var12,p_Var24);\n          if (local_34 != local_2c) {\n            operator_delete(local_34);\n          }\n        }" { (labeled_statement "gold::Symbol::demangled_name((Symbol *)local_44[1]._M_nxt);" statement_identifier : (ERROR ":" :) (labeled_statement "Symbol::demangled_name((Symbol *)local_44[1]._M_nxt);" statement_identifier : (ERROR ":" :) (expression_statement "demangled_name((Symbol *)local_44[1]._M_nxt);" (call_expression "demangled_name((Symbol *)local_44[1]._M_nxt)" identifier (argument_list "((Symbol *)local_44[1]._M_nxt)" ( (cast_expression "(Symbol *)local_44[1]._M_nxt" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_44[1]._M_nxt" (subscript_expression "local_44[1]" identifier [ number_literal ]) . field_identifier)) ))) ;))) (expression_statement "p_Var24 = local_34;" (assignment_expression "p_Var24 = local_34" identifier = identifier) ;) (expression_statement "p_Var12 = local_44[2]._M_nxt[1]._M_nxt;" (assignment_expression "p_Var12 = local_44[2]._M_nxt[1]._M_nxt" identifier = (field_expression "local_44[2]._M_nxt[1]._M_nxt" (subscript_expression "local_44[2]._M_nxt[1]" (field_expression "local_44[2]._M_nxt" (subscript_expression "local_44[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier)) ;) (expression_statement "format = (char *)gettext("%s: linkage table error against `%s\'");" (assignment_expression "format = (char *)gettext("%s: linkage table error against `%s\'")" identifier = (cast_expression "(char *)gettext("%s: linkage table error against `%s\'")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("%s: linkage table error against `%s\'")" identifier (argument_list "("%s: linkage table error against `%s\'")" ( (string_literal ""%s: linkage table error against `%s\'"" " string_content escape_sequence ") ))))) ;) comment (labeled_statement "gold::gold_error(format,p_Var12,p_Var24);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error(format,p_Var12,p_Var24);" (call_expression "gold_error(format,p_Var12,p_Var24)" identifier (argument_list "(format,p_Var12,p_Var24)" ( identifier , identifier , identifier ))) ;)) (if_statement "if (local_34 != local_2c) {\n            operator_delete(local_34);\n          }" if (parenthesized_expression "(local_34 != local_2c)" ( (binary_expression "local_34 != local_2c" identifier != identifier) )) (compound_statement "{\n            operator_delete(local_34);\n          }" { (expression_statement "operator_delete(local_34);" (call_expression "operator_delete(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) })) })) (expression_statement "pTVar33 = this->targ_;" (assignment_expression "pTVar33 = this->targ_" identifier = (field_expression "this->targ_" identifier -> field_identifier)) ;) (expression_statement "uVar20 = *(uint *)&pTVar33->field_0x8 & 2;" (assignment_expression "uVar20 = *(uint *)&pTVar33->field_0x8 & 2" identifier = (binary_expression "*(uint *)&pTVar33->field_0x8 & 2" (pointer_expression "*(uint *)&pTVar33->field_0x8" * (cast_expression "(uint *)&pTVar33->field_0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTVar33->field_0x8" & (field_expression "pTVar33->field_0x8" identifier -> field_identifier)))) & number_literal)) ;) (if_statement "if (uVar20 == 0) {\n          pGVar5 = gold::parameters->options_;\n          if (pGVar5 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          bVar1 = (pGVar5->plt_static_chain_).value;\n          if (pTVar33->plt_thread_safe_ == false) {\n            local_69 = false;\n            local_64 = 0;\n            p_Var12 = local_44[6]._M_nxt;\n            local_54 = uVar37 + 0x8000 >> 0x10;\n            bVar44 = false;\n          }\n          else {\n            uVar38 = __udivdi3(local_54 - 0x18,(0x17 < local_54) - 1,0x18,0,in_stack_ffffff44,\n                               pSVar45);\n            pOVar8 = pTVar33->glink_;\n            if (pOVar8 == (Output_data_glink<64,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x3a3,"glink_section");\n            }\n            local_90 = 0;\n            local_94 = (-(uint)((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0) & 0xfffffff4) + 0x40\n                       + uVar38 * 8;\n            if (0x8000 < uVar38) {\n              uVar38 = uVar38 * 4 - 0x20000;\n              bVar43 = CARRY4(local_94,uVar38);\n              local_94 = local_94 + uVar38;\n              local_90 = (uint)bVar43;\n            }\n            if ((pOVar8->field_0x1c & 1) == 0) goto LAB_000f3135;\n            uVar38 = *(uint *)((int)&pOVar8->invalid_address + 4);\n            uVar21 = 1 << ((byte)(pGVar5->plt_align_).value & 0x1f);\n            if (uVar21 < 0x20) {\n              uVar21 = 0x20;\n            }\n            local_69 = (bool)(this->field_0x1c & 1);\n            if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n            local_9c = 4;\n            puVar14 = (uint *)((int)&this->invalid_address + 4);\n            uVar34 = (uVar21 - 1) + *puVar14;\n            uVar40 = this->orig_data_size_ + uVar34 & -uVar21;\n            p_Var12 = local_44[6]._M_nxt;\n            uVar30 = *(byte *)((int)&local_44[7]._M_nxt + 3) >> 6 & 1;\n            local_54 = uVar37 + 0x8000 >> 0x10;\n            if (local_54 == 0) {\n              local_9c = 0;\n            }\n            uVar10 = (uint)bVar1;\n            local_64 = 0;\n            if (local_54 != uVar37 + 0x8008 + uVar10 * 8 >> 0x10) {\n              local_64 = 4;\n            }\n            uVar39 = uVar38 + uVar10 * -4;\n            uVar23 = uVar39 - 0x14;\n            p_Var24 = (_Hash_node_base *)(uVar23 - uVar40);\n            uVar25 = (int)p_Var24 - (int)p_Var12;\n            uVar26 = uVar25 + uVar30 * -4;\n            uVar27 = uVar26 + local_94;\n            uVar28 = uVar27 - local_9c;\n            bVar43 = uVar28 < local_64;\n            local_64 = uVar28 - local_64;\n            iVar36 = (((((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94)) -\n                      (uint)(uVar27 < local_9c)) - (uint)bVar43) + (uint)(0xfdffffff < local_64);\n            bVar44 = iVar36 != 0 || (uint)-iVar36 < (uint)(0x3ffffff < local_64 + 0x2000000);\n          }\n        }\n        else {\n          bVar1 = 0;\n          local_69 = false;\n          local_64 = 0;\n          p_Var12 = local_44[6]._M_nxt;\n          local_54 = uVar37 + 0x8000 >> 0x10;\n          bVar44 = false;\n        }" if (parenthesized_expression "(uVar20 == 0)" ( (binary_expression "uVar20 == 0" identifier == number_literal) )) (compound_statement "{\n          pGVar5 = gold::parameters->options_;\n          if (pGVar5 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }\n          bVar1 = (pGVar5->plt_static_chain_).value;\n          if (pTVar33->plt_thread_safe_ == false) {\n            local_69 = false;\n            local_64 = 0;\n            p_Var12 = local_44[6]._M_nxt;\n            local_54 = uVar37 + 0x8000 >> 0x10;\n            bVar44 = false;\n          }\n          else {\n            uVar38 = __udivdi3(local_54 - 0x18,(0x17 < local_54) - 1,0x18,0,in_stack_ffffff44,\n                               pSVar45);\n            pOVar8 = pTVar33->glink_;\n            if (pOVar8 == (Output_data_glink<64,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x3a3,"glink_section");\n            }\n            local_90 = 0;\n            local_94 = (-(uint)((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0) & 0xfffffff4) + 0x40\n                       + uVar38 * 8;\n            if (0x8000 < uVar38) {\n              uVar38 = uVar38 * 4 - 0x20000;\n              bVar43 = CARRY4(local_94,uVar38);\n              local_94 = local_94 + uVar38;\n              local_90 = (uint)bVar43;\n            }\n            if ((pOVar8->field_0x1c & 1) == 0) goto LAB_000f3135;\n            uVar38 = *(uint *)((int)&pOVar8->invalid_address + 4);\n            uVar21 = 1 << ((byte)(pGVar5->plt_align_).value & 0x1f);\n            if (uVar21 < 0x20) {\n              uVar21 = 0x20;\n            }\n            local_69 = (bool)(this->field_0x1c & 1);\n            if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n            local_9c = 4;\n            puVar14 = (uint *)((int)&this->invalid_address + 4);\n            uVar34 = (uVar21 - 1) + *puVar14;\n            uVar40 = this->orig_data_size_ + uVar34 & -uVar21;\n            p_Var12 = local_44[6]._M_nxt;\n            uVar30 = *(byte *)((int)&local_44[7]._M_nxt + 3) >> 6 & 1;\n            local_54 = uVar37 + 0x8000 >> 0x10;\n            if (local_54 == 0) {\n              local_9c = 0;\n            }\n            uVar10 = (uint)bVar1;\n            local_64 = 0;\n            if (local_54 != uVar37 + 0x8008 + uVar10 * 8 >> 0x10) {\n              local_64 = 4;\n            }\n            uVar39 = uVar38 + uVar10 * -4;\n            uVar23 = uVar39 - 0x14;\n            p_Var24 = (_Hash_node_base *)(uVar23 - uVar40);\n            uVar25 = (int)p_Var24 - (int)p_Var12;\n            uVar26 = uVar25 + uVar30 * -4;\n            uVar27 = uVar26 + local_94;\n            uVar28 = uVar27 - local_9c;\n            bVar43 = uVar28 < local_64;\n            local_64 = uVar28 - local_64;\n            iVar36 = (((((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94)) -\n                      (uint)(uVar27 < local_9c)) - (uint)bVar43) + (uint)(0xfdffffff < local_64);\n            bVar44 = iVar36 != 0 || (uint)-iVar36 < (uint)(0x3ffffff < local_64 + 0x2000000);\n          }\n        }" { (expression_statement "pGVar5 = gold::parameters->options_;" (field_expression "pGVar5 = gold::parameters->options_" (assignment_expression "pGVar5 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar5 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }" if (parenthesized_expression "(pGVar5 == (General_options *)0x0)" ( (binary_expression "pGVar5 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n          }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (expression_statement "bVar1 = (pGVar5->plt_static_chain_).value;" (assignment_expression "bVar1 = (pGVar5->plt_static_chain_).value" identifier = (field_expression "(pGVar5->plt_static_chain_).value" (parenthesized_expression "(pGVar5->plt_static_chain_)" ( (field_expression "pGVar5->plt_static_chain_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (pTVar33->plt_thread_safe_ == false) {\n            local_69 = false;\n            local_64 = 0;\n            p_Var12 = local_44[6]._M_nxt;\n            local_54 = uVar37 + 0x8000 >> 0x10;\n            bVar44 = false;\n          }\n          else {\n            uVar38 = __udivdi3(local_54 - 0x18,(0x17 < local_54) - 1,0x18,0,in_stack_ffffff44,\n                               pSVar45);\n            pOVar8 = pTVar33->glink_;\n            if (pOVar8 == (Output_data_glink<64,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x3a3,"glink_section");\n            }\n            local_90 = 0;\n            local_94 = (-(uint)((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0) & 0xfffffff4) + 0x40\n                       + uVar38 * 8;\n            if (0x8000 < uVar38) {\n              uVar38 = uVar38 * 4 - 0x20000;\n              bVar43 = CARRY4(local_94,uVar38);\n              local_94 = local_94 + uVar38;\n              local_90 = (uint)bVar43;\n            }\n            if ((pOVar8->field_0x1c & 1) == 0) goto LAB_000f3135;\n            uVar38 = *(uint *)((int)&pOVar8->invalid_address + 4);\n            uVar21 = 1 << ((byte)(pGVar5->plt_align_).value & 0x1f);\n            if (uVar21 < 0x20) {\n              uVar21 = 0x20;\n            }\n            local_69 = (bool)(this->field_0x1c & 1);\n            if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n            local_9c = 4;\n            puVar14 = (uint *)((int)&this->invalid_address + 4);\n            uVar34 = (uVar21 - 1) + *puVar14;\n            uVar40 = this->orig_data_size_ + uVar34 & -uVar21;\n            p_Var12 = local_44[6]._M_nxt;\n            uVar30 = *(byte *)((int)&local_44[7]._M_nxt + 3) >> 6 & 1;\n            local_54 = uVar37 + 0x8000 >> 0x10;\n            if (local_54 == 0) {\n              local_9c = 0;\n            }\n            uVar10 = (uint)bVar1;\n            local_64 = 0;\n            if (local_54 != uVar37 + 0x8008 + uVar10 * 8 >> 0x10) {\n              local_64 = 4;\n            }\n            uVar39 = uVar38 + uVar10 * -4;\n            uVar23 = uVar39 - 0x14;\n            p_Var24 = (_Hash_node_base *)(uVar23 - uVar40);\n            uVar25 = (int)p_Var24 - (int)p_Var12;\n            uVar26 = uVar25 + uVar30 * -4;\n            uVar27 = uVar26 + local_94;\n            uVar28 = uVar27 - local_9c;\n            bVar43 = uVar28 < local_64;\n            local_64 = uVar28 - local_64;\n            iVar36 = (((((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94)) -\n                      (uint)(uVar27 < local_9c)) - (uint)bVar43) + (uint)(0xfdffffff < local_64);\n            bVar44 = iVar36 != 0 || (uint)-iVar36 < (uint)(0x3ffffff < local_64 + 0x2000000);\n          }" if (parenthesized_expression "(pTVar33->plt_thread_safe_ == false)" ( (binary_expression "pTVar33->plt_thread_safe_ == false" (field_expression "pTVar33->plt_thread_safe_" identifier -> field_identifier) == false) )) (compound_statement "{\n            local_69 = false;\n            local_64 = 0;\n            p_Var12 = local_44[6]._M_nxt;\n            local_54 = uVar37 + 0x8000 >> 0x10;\n            bVar44 = false;\n          }" { (expression_statement "local_69 = false;" (assignment_expression "local_69 = false" identifier = false) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "p_Var12 = local_44[6]._M_nxt;" (assignment_expression "p_Var12 = local_44[6]._M_nxt" identifier = (field_expression "local_44[6]._M_nxt" (subscript_expression "local_44[6]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "local_54 = uVar37 + 0x8000 >> 0x10;" (assignment_expression "local_54 = uVar37 + 0x8000 >> 0x10" identifier = (binary_expression "uVar37 + 0x8000 >> 0x10" (binary_expression "uVar37 + 0x8000" identifier + number_literal) >> number_literal)) ;) (expression_statement "bVar44 = false;" (assignment_expression "bVar44 = false" identifier = false) ;) }) (else_clause "else {\n            uVar38 = __udivdi3(local_54 - 0x18,(0x17 < local_54) - 1,0x18,0,in_stack_ffffff44,\n                               pSVar45);\n            pOVar8 = pTVar33->glink_;\n            if (pOVar8 == (Output_data_glink<64,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x3a3,"glink_section");\n            }\n            local_90 = 0;\n            local_94 = (-(uint)((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0) & 0xfffffff4) + 0x40\n                       + uVar38 * 8;\n            if (0x8000 < uVar38) {\n              uVar38 = uVar38 * 4 - 0x20000;\n              bVar43 = CARRY4(local_94,uVar38);\n              local_94 = local_94 + uVar38;\n              local_90 = (uint)bVar43;\n            }\n            if ((pOVar8->field_0x1c & 1) == 0) goto LAB_000f3135;\n            uVar38 = *(uint *)((int)&pOVar8->invalid_address + 4);\n            uVar21 = 1 << ((byte)(pGVar5->plt_align_).value & 0x1f);\n            if (uVar21 < 0x20) {\n              uVar21 = 0x20;\n            }\n            local_69 = (bool)(this->field_0x1c & 1);\n            if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n            local_9c = 4;\n            puVar14 = (uint *)((int)&this->invalid_address + 4);\n            uVar34 = (uVar21 - 1) + *puVar14;\n            uVar40 = this->orig_data_size_ + uVar34 & -uVar21;\n            p_Var12 = local_44[6]._M_nxt;\n            uVar30 = *(byte *)((int)&local_44[7]._M_nxt + 3) >> 6 & 1;\n            local_54 = uVar37 + 0x8000 >> 0x10;\n            if (local_54 == 0) {\n              local_9c = 0;\n            }\n            uVar10 = (uint)bVar1;\n            local_64 = 0;\n            if (local_54 != uVar37 + 0x8008 + uVar10 * 8 >> 0x10) {\n              local_64 = 4;\n            }\n            uVar39 = uVar38 + uVar10 * -4;\n            uVar23 = uVar39 - 0x14;\n            p_Var24 = (_Hash_node_base *)(uVar23 - uVar40);\n            uVar25 = (int)p_Var24 - (int)p_Var12;\n            uVar26 = uVar25 + uVar30 * -4;\n            uVar27 = uVar26 + local_94;\n            uVar28 = uVar27 - local_9c;\n            bVar43 = uVar28 < local_64;\n            local_64 = uVar28 - local_64;\n            iVar36 = (((((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94)) -\n                      (uint)(uVar27 < local_9c)) - (uint)bVar43) + (uint)(0xfdffffff < local_64);\n            bVar44 = iVar36 != 0 || (uint)-iVar36 < (uint)(0x3ffffff < local_64 + 0x2000000);\n          }" else (compound_statement "{\n            uVar38 = __udivdi3(local_54 - 0x18,(0x17 < local_54) - 1,0x18,0,in_stack_ffffff44,\n                               pSVar45);\n            pOVar8 = pTVar33->glink_;\n            if (pOVar8 == (Output_data_glink<64,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x3a3,"glink_section");\n            }\n            local_90 = 0;\n            local_94 = (-(uint)((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0) & 0xfffffff4) + 0x40\n                       + uVar38 * 8;\n            if (0x8000 < uVar38) {\n              uVar38 = uVar38 * 4 - 0x20000;\n              bVar43 = CARRY4(local_94,uVar38);\n              local_94 = local_94 + uVar38;\n              local_90 = (uint)bVar43;\n            }\n            if ((pOVar8->field_0x1c & 1) == 0) goto LAB_000f3135;\n            uVar38 = *(uint *)((int)&pOVar8->invalid_address + 4);\n            uVar21 = 1 << ((byte)(pGVar5->plt_align_).value & 0x1f);\n            if (uVar21 < 0x20) {\n              uVar21 = 0x20;\n            }\n            local_69 = (bool)(this->field_0x1c & 1);\n            if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n            local_9c = 4;\n            puVar14 = (uint *)((int)&this->invalid_address + 4);\n            uVar34 = (uVar21 - 1) + *puVar14;\n            uVar40 = this->orig_data_size_ + uVar34 & -uVar21;\n            p_Var12 = local_44[6]._M_nxt;\n            uVar30 = *(byte *)((int)&local_44[7]._M_nxt + 3) >> 6 & 1;\n            local_54 = uVar37 + 0x8000 >> 0x10;\n            if (local_54 == 0) {\n              local_9c = 0;\n            }\n            uVar10 = (uint)bVar1;\n            local_64 = 0;\n            if (local_54 != uVar37 + 0x8008 + uVar10 * 8 >> 0x10) {\n              local_64 = 4;\n            }\n            uVar39 = uVar38 + uVar10 * -4;\n            uVar23 = uVar39 - 0x14;\n            p_Var24 = (_Hash_node_base *)(uVar23 - uVar40);\n            uVar25 = (int)p_Var24 - (int)p_Var12;\n            uVar26 = uVar25 + uVar30 * -4;\n            uVar27 = uVar26 + local_94;\n            uVar28 = uVar27 - local_9c;\n            bVar43 = uVar28 < local_64;\n            local_64 = uVar28 - local_64;\n            iVar36 = (((((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94)) -\n                      (uint)(uVar27 < local_9c)) - (uint)bVar43) + (uint)(0xfdffffff < local_64);\n            bVar44 = iVar36 != 0 || (uint)-iVar36 < (uint)(0x3ffffff < local_64 + 0x2000000);\n          }" { (expression_statement "uVar38 = __udivdi3(local_54 - 0x18,(0x17 < local_54) - 1,0x18,0,in_stack_ffffff44,\n                               pSVar45);" (assignment_expression "uVar38 = __udivdi3(local_54 - 0x18,(0x17 < local_54) - 1,0x18,0,in_stack_ffffff44,\n                               pSVar45)" identifier = (call_expression "__udivdi3(local_54 - 0x18,(0x17 < local_54) - 1,0x18,0,in_stack_ffffff44,\n                               pSVar45)" identifier (argument_list "(local_54 - 0x18,(0x17 < local_54) - 1,0x18,0,in_stack_ffffff44,\n                               pSVar45)" ( (binary_expression "local_54 - 0x18" identifier - number_literal) , (binary_expression "(0x17 < local_54) - 1" (parenthesized_expression "(0x17 < local_54)" ( (binary_expression "0x17 < local_54" number_literal < identifier) )) - number_literal) , number_literal , number_literal , identifier , identifier )))) ;) (expression_statement "pOVar8 = pTVar33->glink_;" (assignment_expression "pOVar8 = pTVar33->glink_" identifier = (field_expression "pTVar33->glink_" identifier -> field_identifier)) ;) (if_statement "if (pOVar8 == (Output_data_glink<64,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x3a3,"glink_section");\n            }" if (parenthesized_expression "(pOVar8 == (Output_data_glink<64,_false> *)0x0)" ( (binary_expression "pOVar8 == (Output_data_glink<64,_false> *)0x0)" identifier == (parenthesized_expression "(Output_data_glink<64,_false> *)0x0)" ( (comma_expression "Output_data_glink<64,_false> *)0x0" (binary_expression "Output_data_glink<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/powerpc.cc",0x3a3,"glink_section");\n            }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/powerpc.cc",0x3a3,"glink_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/powerpc.cc",0x3a3,"glink_section");" (call_expression "do_gold_unreachable("../../gold/powerpc.cc",0x3a3,"glink_section")" identifier (argument_list "("../../gold/powerpc.cc",0x3a3,"glink_section")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""glink_section"" " string_content ") ))) ;)) })) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_94 = (-(uint)((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0) & 0xfffffff4) + 0x40\n                       + uVar38 * 8;" (assignment_expression "local_94 = (-(uint)((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0) & 0xfffffff4) + 0x40\n                       + uVar38 * 8" identifier = (binary_expression "(-(uint)((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0) & 0xfffffff4) + 0x40\n                       + uVar38 * 8" (binary_expression "(-(uint)((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0) & 0xfffffff4) + 0x40" (parenthesized_expression "(-(uint)((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0) & 0xfffffff4)" ( (binary_expression "-(uint)((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0) & 0xfffffff4" (unary_expression "-(uint)((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0)" - (call_expression "(uint)((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0)" ( (binary_expression "(*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0" (parenthesized_expression "(*(uint *)&pOVar8->targ_->field_0x8 & 2)" ( (binary_expression "*(uint *)&pOVar8->targ_->field_0x8 & 2" (pointer_expression "*(uint *)&pOVar8->targ_->field_0x8" * (cast_expression "(uint *)&pOVar8->targ_->field_0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar8->targ_->field_0x8" & (field_expression "pOVar8->targ_->field_0x8" (field_expression "pOVar8->targ_" identifier -> field_identifier) -> field_identifier)))) & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal) + (binary_expression "uVar38 * 8" identifier * number_literal))) ;) (if_statement "if (0x8000 < uVar38) {\n              uVar38 = uVar38 * 4 - 0x20000;\n              bVar43 = CARRY4(local_94,uVar38);\n              local_94 = local_94 + uVar38;\n              local_90 = (uint)bVar43;\n            }" if (parenthesized_expression "(0x8000 < uVar38)" ( (binary_expression "0x8000 < uVar38" number_literal < identifier) )) (compound_statement "{\n              uVar38 = uVar38 * 4 - 0x20000;\n              bVar43 = CARRY4(local_94,uVar38);\n              local_94 = local_94 + uVar38;\n              local_90 = (uint)bVar43;\n            }" { (expression_statement "uVar38 = uVar38 * 4 - 0x20000;" (assignment_expression "uVar38 = uVar38 * 4 - 0x20000" identifier = (binary_expression "uVar38 * 4 - 0x20000" (binary_expression "uVar38 * 4" identifier * number_literal) - number_literal)) ;) (expression_statement "bVar43 = CARRY4(local_94,uVar38);" (assignment_expression "bVar43 = CARRY4(local_94,uVar38)" identifier = (call_expression "CARRY4(local_94,uVar38)" identifier (argument_list "(local_94,uVar38)" ( identifier , identifier )))) ;) (expression_statement "local_94 = local_94 + uVar38;" (assignment_expression "local_94 = local_94 + uVar38" identifier = (binary_expression "local_94 + uVar38" identifier + identifier)) ;) (expression_statement "local_90 = (uint)bVar43;" (assignment_expression "local_90 = (uint)bVar43" identifier = (cast_expression "(uint)bVar43" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) })) (if_statement "if ((pOVar8->field_0x1c & 1) == 0) goto LAB_000f3135;" if (parenthesized_expression "((pOVar8->field_0x1c & 1) == 0)" ( (binary_expression "(pOVar8->field_0x1c & 1) == 0" (parenthesized_expression "(pOVar8->field_0x1c & 1)" ( (binary_expression "pOVar8->field_0x1c & 1" (field_expression "pOVar8->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f3135;" goto statement_identifier ;)) (expression_statement "uVar38 = *(uint *)((int)&pOVar8->invalid_address + 4);" (assignment_expression "uVar38 = *(uint *)((int)&pOVar8->invalid_address + 4)" identifier = (pointer_expression "*(uint *)((int)&pOVar8->invalid_address + 4)" * (cast_expression "(uint *)((int)&pOVar8->invalid_address + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar8->invalid_address + 4)" ( (binary_expression "(int)&pOVar8->invalid_address + 4" (cast_expression "(int)&pOVar8->invalid_address" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar8->invalid_address" & (field_expression "pOVar8->invalid_address" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar21 = 1 << ((byte)(pGVar5->plt_align_).value & 0x1f);" (assignment_expression "uVar21 = 1 << ((byte)(pGVar5->plt_align_).value & 0x1f)" identifier = (binary_expression "1 << ((byte)(pGVar5->plt_align_).value & 0x1f)" number_literal << (parenthesized_expression "((byte)(pGVar5->plt_align_).value & 0x1f)" ( (binary_expression "(byte)(pGVar5->plt_align_).value & 0x1f" (field_expression "(byte)(pGVar5->plt_align_).value" (call_expression "(byte)(pGVar5->plt_align_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pGVar5->plt_align_)" ( (field_expression "pGVar5->plt_align_" identifier -> field_identifier) ))) . field_identifier) & number_literal) )))) ;) (if_statement "if (uVar21 < 0x20) {\n              uVar21 = 0x20;\n            }" if (parenthesized_expression "(uVar21 < 0x20)" ( (binary_expression "uVar21 < 0x20" identifier < number_literal) )) (compound_statement "{\n              uVar21 = 0x20;\n            }" { (expression_statement "uVar21 = 0x20;" (assignment_expression "uVar21 = 0x20" identifier = number_literal) ;) })) (expression_statement "local_69 = (bool)(this->field_0x1c & 1);" (assignment_expression "local_69 = (bool)(this->field_0x1c & 1)" identifier = (cast_expression "(bool)(this->field_0x1c & 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(this->field_0x1c & 1)" ( (binary_expression "this->field_0x1c & 1" (field_expression "this->field_0x1c" identifier -> field_identifier) & number_literal) )))) ;) (if_statement "if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;" if (parenthesized_expression "((this->field_0x1c & 1) == 0)" ( (binary_expression "(this->field_0x1c & 1) == 0" (parenthesized_expression "(this->field_0x1c & 1)" ( (binary_expression "this->field_0x1c & 1" (field_expression "this->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f3135;" goto statement_identifier ;)) (expression_statement "local_9c = 4;" (assignment_expression "local_9c = 4" identifier = number_literal) ;) (expression_statement "puVar14 = (uint *)((int)&this->invalid_address + 4);" (assignment_expression "puVar14 = (uint *)((int)&this->invalid_address + 4)" identifier = (cast_expression "(uint *)((int)&this->invalid_address + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->invalid_address + 4)" ( (binary_expression "(int)&this->invalid_address + 4" (cast_expression "(int)&this->invalid_address" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->invalid_address" & (field_expression "this->invalid_address" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "uVar34 = (uVar21 - 1) + *puVar14;" (assignment_expression "uVar34 = (uVar21 - 1) + *puVar14" identifier = (binary_expression "(uVar21 - 1) + *puVar14" (parenthesized_expression "(uVar21 - 1)" ( (binary_expression "uVar21 - 1" identifier - number_literal) )) + (pointer_expression "*puVar14" * identifier))) ;) (expression_statement "uVar40 = this->orig_data_size_ + uVar34 & -uVar21;" (assignment_expression "uVar40 = this->orig_data_size_ + uVar34 & -uVar21" identifier = (binary_expression "this->orig_data_size_ + uVar34 & -uVar21" (binary_expression "this->orig_data_size_ + uVar34" (field_expression "this->orig_data_size_" identifier -> field_identifier) + identifier) & (unary_expression "-uVar21" - identifier))) ;) (expression_statement "p_Var12 = local_44[6]._M_nxt;" (assignment_expression "p_Var12 = local_44[6]._M_nxt" identifier = (field_expression "local_44[6]._M_nxt" (subscript_expression "local_44[6]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "uVar30 = *(byte *)((int)&local_44[7]._M_nxt + 3) >> 6 & 1;" (assignment_expression "uVar30 = *(byte *)((int)&local_44[7]._M_nxt + 3) >> 6 & 1" identifier = (binary_expression "*(byte *)((int)&local_44[7]._M_nxt + 3) >> 6 & 1" (binary_expression "*(byte *)((int)&local_44[7]._M_nxt + 3) >> 6" (pointer_expression "*(byte *)((int)&local_44[7]._M_nxt + 3)" * (cast_expression "(byte *)((int)&local_44[7]._M_nxt + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44[7]._M_nxt + 3)" ( (binary_expression "(int)&local_44[7]._M_nxt + 3" (cast_expression "(int)&local_44[7]._M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44[7]._M_nxt" & (field_expression "local_44[7]._M_nxt" (subscript_expression "local_44[7]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) >> number_literal) & number_literal)) ;) (expression_statement "local_54 = uVar37 + 0x8000 >> 0x10;" (assignment_expression "local_54 = uVar37 + 0x8000 >> 0x10" identifier = (binary_expression "uVar37 + 0x8000 >> 0x10" (binary_expression "uVar37 + 0x8000" identifier + number_literal) >> number_literal)) ;) (if_statement "if (local_54 == 0) {\n              local_9c = 0;\n            }" if (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) (compound_statement "{\n              local_9c = 0;\n            }" { (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) })) (expression_statement "uVar10 = (uint)bVar1;" (assignment_expression "uVar10 = (uint)bVar1" identifier = (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (if_statement "if (local_54 != uVar37 + 0x8008 + uVar10 * 8 >> 0x10) {\n              local_64 = 4;\n            }" if (parenthesized_expression "(local_54 != uVar37 + 0x8008 + uVar10 * 8 >> 0x10)" ( (binary_expression "local_54 != uVar37 + 0x8008 + uVar10 * 8 >> 0x10" identifier != (binary_expression "uVar37 + 0x8008 + uVar10 * 8 >> 0x10" (binary_expression "uVar37 + 0x8008 + uVar10 * 8" (binary_expression "uVar37 + 0x8008" identifier + number_literal) + (binary_expression "uVar10 * 8" identifier * number_literal)) >> number_literal)) )) (compound_statement "{\n              local_64 = 4;\n            }" { (expression_statement "local_64 = 4;" (assignment_expression "local_64 = 4" identifier = number_literal) ;) })) (expression_statement "uVar39 = uVar38 + uVar10 * -4;" (assignment_expression "uVar39 = uVar38 + uVar10 * -4" identifier = (binary_expression "uVar38 + uVar10 * -4" identifier + (binary_expression "uVar10 * -4" identifier * number_literal))) ;) (expression_statement "uVar23 = uVar39 - 0x14;" (assignment_expression "uVar23 = uVar39 - 0x14" identifier = (binary_expression "uVar39 - 0x14" identifier - number_literal)) ;) (expression_statement "p_Var24 = (_Hash_node_base *)(uVar23 - uVar40);" (assignment_expression "p_Var24 = (_Hash_node_base *)(uVar23 - uVar40)" identifier = (cast_expression "(_Hash_node_base *)(uVar23 - uVar40)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar23 - uVar40)" ( (binary_expression "uVar23 - uVar40" identifier - identifier) )))) ;) (expression_statement "uVar25 = (int)p_Var24 - (int)p_Var12;" (assignment_expression "uVar25 = (int)p_Var24 - (int)p_Var12" identifier = (binary_expression "(int)p_Var24 - (int)p_Var12" (cast_expression "(int)p_Var24" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)p_Var12" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "uVar26 = uVar25 + uVar30 * -4;" (assignment_expression "uVar26 = uVar25 + uVar30 * -4" identifier = (binary_expression "uVar25 + uVar30 * -4" identifier + (binary_expression "uVar30 * -4" identifier * number_literal))) ;) (expression_statement "uVar27 = uVar26 + local_94;" (assignment_expression "uVar27 = uVar26 + local_94" identifier = (binary_expression "uVar26 + local_94" identifier + identifier)) ;) (expression_statement "uVar28 = uVar27 - local_9c;" (assignment_expression "uVar28 = uVar27 - local_9c" identifier = (binary_expression "uVar27 - local_9c" identifier - identifier)) ;) (expression_statement "bVar43 = uVar28 < local_64;" (assignment_expression "bVar43 = uVar28 < local_64" identifier = (binary_expression "uVar28 < local_64" identifier < identifier)) ;) (expression_statement "local_64 = uVar28 - local_64;" (assignment_expression "local_64 = uVar28 - local_64" identifier = (binary_expression "uVar28 - local_64" identifier - identifier)) ;) (expression_statement "iVar36 = (((((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94)) -\n                      (uint)(uVar27 < local_9c)) - (uint)bVar43) + (uint)(0xfdffffff < local_64);" (assignment_expression "iVar36 = (((((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94)) -\n                      (uint)(uVar27 < local_9c)) - (uint)bVar43) + (uint)(0xfdffffff < local_64)" identifier = (binary_expression "(((((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94)) -\n                      (uint)(uVar27 < local_9c)) - (uint)bVar43) + (uint)(0xfdffffff < local_64)" (parenthesized_expression "(((((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94)) -\n                      (uint)(uVar27 < local_9c)) - (uint)bVar43)" ( (binary_expression "((((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94)) -\n                      (uint)(uVar27 < local_9c)) - (uint)bVar43" (parenthesized_expression "((((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94)) -\n                      (uint)(uVar27 < local_9c))" ( (binary_expression "(((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94)) -\n                      (uint)(uVar27 < local_9c)" (parenthesized_expression "(((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94))" ( (binary_expression "((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94)" (binary_expression "((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)) + local_90" (parenthesized_expression "((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4))" ( (binary_expression "(((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -\n                        (uint)(uVar25 < uVar30 * 4)" (parenthesized_expression "(((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12))" ( (binary_expression "((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)" (parenthesized_expression "((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40))" ( (binary_expression "(((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -\n                          (uint)(uVar23 < uVar40)" (parenthesized_expression "(((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0)))" ( (binary_expression "((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)) -\n                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))" (parenthesized_expression "((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39))" ( (binary_expression "(*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +\n                            (uint)(0x13 < uVar39)" (binary_expression "(*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1" (parenthesized_expression "(*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4))" ( (binary_expression "*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)" (pointer_expression "*(int *)&pOVar8->field_0x8" * (cast_expression "(int *)&pOVar8->field_0x8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar8->field_0x8" & (field_expression "pOVar8->field_0x8" identifier -> field_identifier)))) - (call_expression "(uint)(uVar38 < uVar10 * 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar38 < uVar10 * 4)" ( (binary_expression "uVar38 < uVar10 * 4" identifier < (binary_expression "uVar10 * 4" identifier * number_literal)) )))) )) + number_literal) + (call_expression "(uint)(0x13 < uVar39)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x13 < uVar39)" ( (binary_expression "0x13 < uVar39" number_literal < identifier) )))) )) - (parenthesized_expression "(((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))" ( (binary_expression "((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0)" (binary_expression "((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14) +\n                            (uint)CARRY4(this->orig_data_size_,uVar34)" (binary_expression "((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +\n                            (uint)CARRY4(uVar21 - 1,*puVar14)" (binary_expression "((uVar21 != 0) - 1) + *(int *)&this->field_0x8" (parenthesized_expression "((uVar21 != 0) - 1)" ( (binary_expression "(uVar21 != 0) - 1" (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) - number_literal) )) + (pointer_expression "*(int *)&this->field_0x8" * (cast_expression "(int *)&this->field_0x8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x8" & (field_expression "this->field_0x8" identifier -> field_identifier))))) + (cast_expression "(uint)CARRY4(uVar21 - 1,*puVar14)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar21 - 1,*puVar14)" identifier (argument_list "(uVar21 - 1,*puVar14)" ( (binary_expression "uVar21 - 1" identifier - number_literal) , (pointer_expression "*puVar14" * identifier) ))))) + (cast_expression "(uint)CARRY4(this->orig_data_size_,uVar34)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(this->orig_data_size_,uVar34)" identifier (argument_list "(this->orig_data_size_,uVar34)" ( (field_expression "this->orig_data_size_" identifier -> field_identifier) , identifier ))))) & (unary_expression "-(uint)(uVar21 != 0)" - (call_expression "(uint)(uVar21 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) ))))) ))) )) - (call_expression "(uint)(uVar23 < uVar40)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar23 < uVar40)" ( (binary_expression "uVar23 < uVar40" identifier < identifier) )))) )) - (call_expression "(uint)(p_Var24 < p_Var12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(p_Var24 < p_Var12)" ( (binary_expression "p_Var24 < p_Var12" identifier < identifier) )))) )) - (call_expression "(uint)(uVar25 < uVar30 * 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar25 < uVar30 * 4)" ( (binary_expression "uVar25 < uVar30 * 4" identifier < (binary_expression "uVar30 * 4" identifier * number_literal)) )))) )) + identifier) + (cast_expression "(uint)CARRY4(uVar26,local_94)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar26,local_94)" identifier (argument_list "(uVar26,local_94)" ( identifier , identifier ))))) )) - (call_expression "(uint)(uVar27 < local_9c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar27 < local_9c)" ( (binary_expression "uVar27 < local_9c" identifier < identifier) )))) )) - (cast_expression "(uint)bVar43" ( (type_descriptor "uint" type_identifier) ) identifier)) )) + (call_expression "(uint)(0xfdffffff < local_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfdffffff < local_64)" ( (binary_expression "0xfdffffff < local_64" number_literal < identifier) ))))) ;) (expression_statement "bVar44 = iVar36 != 0 || (uint)-iVar36 < (uint)(0x3ffffff < local_64 + 0x2000000);" (assignment_expression "bVar44 = iVar36 != 0 || (uint)-iVar36 < (uint)(0x3ffffff < local_64 + 0x2000000)" identifier = (binary_expression "iVar36 != 0 || (uint)-iVar36 < (uint)(0x3ffffff < local_64 + 0x2000000)" (binary_expression "iVar36 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar36 < (uint)(0x3ffffff < local_64 + 0x2000000)" (binary_expression "(uint)-iVar36" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x3ffffff < local_64 + 0x2000000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3ffffff < local_64 + 0x2000000)" ( (binary_expression "0x3ffffff < local_64 + 0x2000000" number_literal < (binary_expression "local_64 + 0x2000000" identifier + number_literal)) )))))) ;) }))) }) (else_clause "else {\n          bVar1 = 0;\n          local_69 = false;\n          local_64 = 0;\n          p_Var12 = local_44[6]._M_nxt;\n          local_54 = uVar37 + 0x8000 >> 0x10;\n          bVar44 = false;\n        }" else (compound_statement "{\n          bVar1 = 0;\n          local_69 = false;\n          local_64 = 0;\n          p_Var12 = local_44[6]._M_nxt;\n          local_54 = uVar37 + 0x8000 >> 0x10;\n          bVar44 = false;\n        }" { (expression_statement "bVar1 = 0;" (assignment_expression "bVar1 = 0" identifier = number_literal) ;) (expression_statement "local_69 = false;" (assignment_expression "local_69 = false" identifier = false) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "p_Var12 = local_44[6]._M_nxt;" (assignment_expression "p_Var12 = local_44[6]._M_nxt" identifier = (field_expression "local_44[6]._M_nxt" (subscript_expression "local_44[6]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "local_54 = uVar37 + 0x8000 >> 0x10;" (assignment_expression "local_54 = uVar37 + 0x8000 >> 0x10" identifier = (binary_expression "uVar37 + 0x8000 >> 0x10" (binary_expression "uVar37 + 0x8000" identifier + number_literal) >> number_literal)) ;) (expression_statement "bVar44 = false;" (assignment_expression "bVar44 = false" identifier = false) ;) }))) (expression_statement "piVar13 = (int *)(puVar11 + (int)&p_Var12->_M_nxt);" (assignment_expression "piVar13 = (int *)(puVar11 + (int)&p_Var12->_M_nxt)" identifier = (cast_expression "(int *)(puVar11 + (int)&p_Var12->_M_nxt)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + (int)&p_Var12->_M_nxt)" ( (binary_expression "puVar11 + (int)&p_Var12->_M_nxt" identifier + (cast_expression "(int)&p_Var12->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var12->_M_nxt" & (field_expression "p_Var12->_M_nxt" identifier -> field_identifier)))) )))) ;) (expression_statement "pSVar41 = (Stub_table<64,_false> *)local_44[1]._M_nxt;" (assignment_expression "pSVar41 = (Stub_table<64,_false> *)local_44[1]._M_nxt" identifier = (parenthesized_expression "(Stub_table<64,_false> *)local_44[1]._M_nxt" ( (comma_expression "Stub_table<64,_false> *)local_44[1]._M_nxt" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false> *)local_44[1]._M_nxt" identifier > (pointer_expression "*)local_44[1]._M_nxt" * (ERROR ")" )) (field_expression "local_44[1]._M_nxt" (subscript_expression "local_44[1]" identifier [ number_literal ]) . field_identifier)))) ))) ;) if ( ( (ERROR "Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_ == (Stub_table<64,_false> *)0x0) {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        else if" (comma_expression "Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_ == (Stub_table<64,_false> *)0x0)" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false> *)pTVar33->tls_get_addr_opt_ == (Stub_table<64,_false> *)0x0)" (binary_expression "_false> *)pTVar33->tls_get_addr_opt_" identifier > (pointer_expression "*)pTVar33->tls_get_addr_opt_" * (ERROR ")" )) (field_expression "pTVar33->tls_get_addr_opt_" identifier -> field_identifier))) == (parenthesized_expression "(Stub_table<64,_false> *)0x0)" ( (comma_expression "Stub_table<64,_false> *)0x0" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )))) (compound_statement "{\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }" { (expression_statement "bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);" (assignment_expression "bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3)" identifier = (pointer_expression "*(byte *)((int)&local_44[7]._M_nxt + 3)" * (cast_expression "(byte *)((int)&local_44[7]._M_nxt + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44[7]._M_nxt + 3)" ( (binary_expression "(int)&local_44[7]._M_nxt + 3" (cast_expression "(int)&local_44[7]._M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44[7]._M_nxt" & (field_expression "local_44[7]._M_nxt" (subscript_expression "local_44[7]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) }) else if) ( (assignment_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2);\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          uVar38 = uVar37 & 0xffff;\n          if (uVar20 == 0) {\n            *piVar17 = local_54 + 0x3d620000;\n            piVar17[1] = uVar38 + 0xe98b0000;\n            if (local_54 == uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10) {\n              piVar13 = piVar17 + 2;\n              pp_Var32 = (_func_int_varargs **)((uVar37 + 8 & 0xffff) + 0xe84b0000);\n            }\n            else {\n              piVar13 = piVar17 + 3;\n              uVar37 = 0;\n              piVar17[2] = uVar38 + 0x396b0000" (subscript_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2);\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          uVar38 = uVar37 & 0xffff;\n          if (uVar20 == 0) {\n            *piVar17 = local_54 + 0x3d620000;\n            piVar17[1] = uVar38 + 0xe98b0000;\n            if (local_54 == uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10) {\n              piVar13 = piVar17 + 2;\n              pp_Var32 = (_func_int_varargs **)((uVar37 + 8 & 0xffff) + 0xe84b0000);\n            }\n            else {\n              piVar13 = piVar17 + 3;\n              uVar37 = 0;\n              piVar17[2]" (binary_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2);\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          uVar38 = uVar37 & 0xffff;\n          if (uVar20 == 0) {\n            *piVar17 = local_54 + 0x3d620000;\n            piVar17[1] = uVar38 + 0xe98b0000;\n            if (local_54 == uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10) {\n              piVar13 = piVar17 + 2;\n              pp_Var32 = (_func_int_varargs **)((uVar37 + 8 & 0xffff) + 0xe84b0000);\n            }\n            else {\n              piVar13 = piVar17 + 3" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2);\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          uVar38 = uVar37 & 0xffff;\n          if (uVar20 == 0) {\n            *piVar17 = local_54 + 0x3d620000;\n            piVar17[1] = uVar38 + 0xe98b0000;\n            if (local_54 == uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10) {\n              piVar13 = piVar17 + 2;\n              pp_Var32 = (_func_int_varargs **)((uVar37 + 8 & 0xffff) + 0xe84b0000)" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2);\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          uVar38 = uVar37 & 0xffff;\n          if (uVar20 == 0) {\n            *piVar17 = local_54 + 0x3d620000;\n            piVar17[1] = uVar38 + 0xe98b0000;\n            if (local_54 == uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10) {\n              piVar13 = piVar17 + 2;\n              pp_Var32 = (_func_int_varargs **)" (assignment_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2);\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          uVar38 = uVar37 & 0xffff;\n          if (uVar20 == 0) {\n            *piVar17 = local_54 + 0x3d620000;\n            piVar17[1] = uVar38 + 0xe98b0000;\n            if (local_54 == uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10) {\n              piVar13 = piVar17 + 2" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2);\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          uVar38 = uVar37 & 0xffff;\n          if (uVar20 == 0) {\n            *piVar17 = local_54 + 0x3d620000;\n            piVar17[1] = uVar38 + 0xe98b0000;\n            if (local_54 == uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10)" (assignment_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2);\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          uVar38 = uVar37 & 0xffff;\n          if (uVar20 == 0) {\n            *piVar17 = local_54 + 0x3d620000;\n            piVar17[1] = uVar38 + 0xe98b0000" (subscript_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2);\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          uVar38 = uVar37 & 0xffff;\n          if (uVar20 == 0) {\n            *piVar17 = local_54 + 0x3d620000;\n            piVar17[1]" (binary_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2);\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          uVar38 = uVar37 & 0xffff;\n          if (uVar20 == 0) {\n            *piVar17 = local_54 + 0x3d620000" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2);\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          uVar38 = uVar37 & 0xffff;\n          if (uVar20 == 0)" (binary_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2);\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          uVar38 = uVar37 & 0xffff" (binary_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2);\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018" (assignment_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2);\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2);\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0)" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 2)" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6;\n            puVar18 = (uint64_t *)" (assignment_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1] = 0x7d8903a6" (subscript_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36;\n          }\n          else {\n            piVar17[1]" (binary_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4);\n            }\n            *(int *)puVar29 = iVar36" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)((int)puVar29 + 4)" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1;\n              puVar29 = (uint64_t *)" (binary_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;\n              puVar18 = puVar29 + 1" (binary_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0) {\n              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4);\n            if (bVar1 != 0)" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)((int)puVar29 + 4)" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14;\n            }\n            puVar18 = (uint64_t *)" (assignment_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2] = 0x7c425a14" (subscript_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3);\n              piVar13[2]" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)(piVar13 + 3)" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278;\n              puVar29 = (uint64_t *)" (assignment_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1] = 0x7d8b6278" (subscript_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false) {\n              piVar13[1]" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1);\n            if ((bool)bVar44 != false)" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)(piVar13 + 1)" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6;\n            puVar29 = (uint64_t *)" (binary_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;\n              iVar36 = -0x17bdfff8;\n            }\n            *piVar13 = 0x7d8903a6" (assignment_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1] = (uVar37 & 0xffff) + 0x38420000" (subscript_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2;\n              piVar17[1]" (binary_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17 + 2" (binary_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1;\n              iVar36 = (uVar37 + 8 & 0xffff)" (assignment_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {\n              piVar13 = piVar17 + 1" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0) {\n            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0)" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;\n          if (uVar20 == 0)" (binary_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;\n          }\n          *piVar17 = (uVar37 & 0xffff) + 0xe9820000" (binary_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1;\n            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018" (assignment_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0) {\n            piVar17 = piVar13 + 1" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13;\n          if ((bVar31 & 0x40) != 0)" (assignment_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0) {\n          piVar17 = piVar13" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n        }\n        if (local_54 == 0)" (call_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3)" (parenthesized_expression "((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }\n        else {\n          bVar31 = *(byte *)" ( (ERROR "(Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_))" (binary_expression "(Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||\n                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_))" (parenthesized_expression "(Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41)" ( (comma_expression "Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false> *)pTVar33->tls_get_addr_ == pSVar41" (binary_expression "_false> *)pTVar33->tls_get_addr_" identifier > (pointer_expression "*)pTVar33->tls_get_addr_" * (ERROR ")" )) (field_expression "pTVar33->tls_get_addr_" identifier -> field_identifier))) == identifier)) )) || (parenthesized_expression "(pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_))" ( (binary_expression "pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)" identifier == (parenthesized_expression "(Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)" ( (comma_expression "Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false> *)pTVar33->tls_get_addr_opt_" identifier > (pointer_expression "*)pTVar33->tls_get_addr_opt_" * (ERROR ")" )) (field_expression "pTVar33->tls_get_addr_opt_" identifier -> field_identifier)))) ))) )))) (compound_statement "{\n          *piVar13 = -0x169d0000;\n          piVar13[1] = -0x167cfff8;\n          piVar13[2] = 0x7c601b78;\n          piVar13[3] = 0x2c2b0000;\n          piVar13[4] = 0x7c6c6a14;\n          piVar13[5] = 0x4d820020;\n          piVar13[6] = 0x7c030378;\n          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n          bVar44 = local_69;\n          if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }\n        }" { (expression_statement "*piVar13 = -0x169d0000;" (assignment_expression "*piVar13 = -0x169d0000" (pointer_expression "*piVar13" * identifier) = number_literal) ;) (expression_statement "piVar13[1] = -0x167cfff8;" (assignment_expression "piVar13[1] = -0x167cfff8" (subscript_expression "piVar13[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar13[2] = 0x7c601b78;" (assignment_expression "piVar13[2] = 0x7c601b78" (subscript_expression "piVar13[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar13[3] = 0x2c2b0000;" (assignment_expression "piVar13[3] = 0x2c2b0000" (subscript_expression "piVar13[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar13[4] = 0x7c6c6a14;" (assignment_expression "piVar13[4] = 0x7c6c6a14" (subscript_expression "piVar13[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar13[5] = 0x4d820020;" (assignment_expression "piVar13[5] = 0x4d820020" (subscript_expression "piVar13[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar13[6] = 0x7c030378;" (assignment_expression "piVar13[6] = 0x7c030378" (subscript_expression "piVar13[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);" (assignment_expression "bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3)" identifier = (pointer_expression "*(byte *)((int)&local_44[7]._M_nxt + 3)" * (cast_expression "(byte *)((int)&local_44[7]._M_nxt + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44[7]._M_nxt + 3)" ( (binary_expression "(int)&local_44[7]._M_nxt + 3" (cast_expression "(int)&local_44[7]._M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44[7]._M_nxt" & (field_expression "local_44[7]._M_nxt" (subscript_expression "local_44[7]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (expression_statement "bVar44 = local_69;" (assignment_expression "bVar44 = local_69" identifier = identifier) ;) (if_statement "if ((char)bVar31 < '\0') {\n            piVar13 = piVar13 + 7;\n          }\n          else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }" if (parenthesized_expression "((char)bVar31 < '\0')" ( (binary_expression "(char)bVar31 < '\0'" (cast_expression "(char)bVar31" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            piVar13 = piVar13 + 7;\n          }" { (expression_statement "piVar13 = piVar13 + 7;" (assignment_expression "piVar13 = piVar13 + 7" identifier = (binary_expression "piVar13 + 7" identifier + number_literal)) ;) }) (else_clause "else {\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }" else (compound_statement "{\n            piVar13[7] = 0x7d6802a6;\n            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;\n            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);\n            piVar13 = piVar13 + 9;\n          }" { (expression_statement "piVar13[7] = 0x7d6802a6;" (assignment_expression "piVar13[7] = 0x7d6802a6" (subscript_expression "piVar13[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;" (assignment_expression "piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008" (subscript_expression "piVar13[8]" identifier [ number_literal ]) = (binary_expression "(-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008" (parenthesized_expression "(-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18)" ( (binary_expression "-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18" (unary_expression "-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0)" - (call_expression "(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)&this->targ_->field_0x8 & 2) == 0)" ( (binary_expression "(*(uint *)&this->targ_->field_0x8 & 2) == 0" (parenthesized_expression "(*(uint *)&this->targ_->field_0x8 & 2)" ( (binary_expression "*(uint *)&this->targ_->field_0x8 & 2" (pointer_expression "*(uint *)&this->targ_->field_0x8" * (cast_expression "(uint *)&this->targ_->field_0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->targ_->field_0x8" & (field_expression "this->targ_->field_0x8" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier)))) & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);" (assignment_expression "bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3)" identifier = (pointer_expression "*(byte *)((int)&local_44[7]._M_nxt + 3)" * (cast_expression "(byte *)((int)&local_44[7]._M_nxt + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44[7]._M_nxt + 3)" ( (binary_expression "(int)&local_44[7]._M_nxt + 3" (cast_expression "(int)&local_44[7]._M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44[7]._M_nxt" & (field_expression "local_44[7]._M_nxt" (subscript_expression "local_44[7]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (expression_statement "piVar13 = piVar13 + 9;" (assignment_expression "piVar13 = piVar13 + 9" identifier = (binary_expression "piVar13 + 9" identifier + number_literal)) ;) }))) }) (ERROR "else {\n          bVar31 = *(byte *" else { identifier = * ( identifier *) )) (argument_list "((int)&local_44[7]._M_nxt + 3)" ( (binary_expression "(int)&local_44[7]._M_nxt + 3" (cast_expression "(int)&local_44[7]._M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44[7]._M_nxt" & (field_expression "local_44[7]._M_nxt" (subscript_expression "local_44[7]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) (ERROR ";\n        }\n        if" ; } if) (argument_list "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) ))) (ERROR "{\n          piVar17" { identifier) = identifier) (ERROR ";\n          if" ; if) (argument_list "((bVar31 & 0x40) != 0)" ( (binary_expression "(bVar31 & 0x40) != 0" (parenthesized_expression "(bVar31 & 0x40)" ( (binary_expression "bVar31 & 0x40" identifier & number_literal) )) != number_literal) ))) (ERROR "{\n            piVar17" { identifier) = (binary_expression "piVar13 + 1" identifier + number_literal)) (ERROR ";" ;) * (assignment_expression "piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018" identifier = (binary_expression "(-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018" (parenthesized_expression "(-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10)" ( (binary_expression "-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10" (unary_expression "-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0)" - (call_expression "(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)&this->targ_->field_0x8 & 2) == 0)" ( (binary_expression "(*(uint *)&this->targ_->field_0x8 & 2) == 0" (parenthesized_expression "(*(uint *)&this->targ_->field_0x8 & 2)" ( (binary_expression "*(uint *)&this->targ_->field_0x8 & 2" (pointer_expression "*(uint *)&this->targ_->field_0x8" * (cast_expression "(uint *)&this->targ_->field_0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->targ_->field_0x8" & (field_expression "this->targ_->field_0x8" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier)))) & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal))) (ERROR ";\n          }" ; }) * (assignment_expression "piVar17 = (uVar37 & 0xffff) + 0xe9820000" identifier = (binary_expression "(uVar37 & 0xffff) + 0xe9820000" (parenthesized_expression "(uVar37 & 0xffff)" ( (binary_expression "uVar37 & 0xffff" identifier & number_literal) )) + number_literal))) (ERROR ";\n          if" ; if) (argument_list "(uVar20 == 0)" ( (binary_expression "uVar20 == 0" identifier == number_literal) ))) (ERROR "{\n            if" { if) (argument_list "(uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0)" ( (binary_expression "uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0" (binary_expression "uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10" (binary_expression "uVar37 + 0x8008 + (uint)bVar1 * 8" (binary_expression "uVar37 + 0x8008" identifier + number_literal) + (binary_expression "(uint)bVar1 * 8" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) >> number_literal) == number_literal) ))) (ERROR "{\n              piVar13" { identifier) = (binary_expression "piVar17 + 1" identifier + number_literal)) (ERROR ";\n              iVar36 =" ; identifier =) (argument_list "(uVar37 + 8 & 0xffff)" ( (binary_expression "uVar37 + 8 & 0xffff" (binary_expression "uVar37 + 8" identifier + number_literal) & number_literal) ))) + number_literal) (ERROR ";\n              local_54 = uVar37;\n            }\n            else {\n              piVar13 = piVar17" ; identifier = identifier ; } else { identifier = identifier) + number_literal) (ERROR ";\n              piVar17" ; identifier) [ number_literal ]) = (binary_expression "(uVar37 & 0xffff) + 0x38420000" (parenthesized_expression "(uVar37 & 0xffff)" ( (binary_expression "uVar37 & 0xffff" identifier & number_literal) )) + number_literal)) (ERROR ";\n              iVar36 = -0x17bdfff8;\n            }" ; identifier = number_literal ; }) * (assignment_expression "piVar13 = 0x7d8903a6" identifier = number_literal)) (ERROR ";\n            puVar29 =" ; identifier =) (argument_list "(uint64_t *)" ( (binary_expression "uint64_t *" identifier * identifier) ))) (argument_list "(piVar13 + 1)" ( (binary_expression "piVar13 + 1" identifier + number_literal) ))) (ERROR ";\n            if" ; if) (argument_list "((bool)bVar44 != false)" ( (binary_expression "(bool)bVar44 != false" (cast_expression "(bool)bVar44" ( (type_descriptor "bool" primitive_type) ) identifier) != false) ))) (ERROR "{\n              piVar13" { identifier) [ number_literal ]) = number_literal) (ERROR ";\n              puVar29 =" ; identifier =) (argument_list "(uint64_t *)" ( (binary_expression "uint64_t *" identifier * identifier) ))) (argument_list "(piVar13 + 3)" ( (binary_expression "piVar13 + 3" identifier + number_literal) ))) (ERROR ";\n              piVar13" ; identifier) [ number_literal ]) = number_literal) (ERROR ";\n            }\n            puVar18 =" ; } identifier =) (argument_list "(uint64_t *)" ( (binary_expression "uint64_t *" identifier * identifier) ))) (argument_list "((int)puVar29 + 4)" ( (binary_expression "(int)puVar29 + 4" (cast_expression "(int)puVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) (ERROR ";\n            if" ; if) (argument_list "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) ))) (ERROR "{" {) * (cast_expression "(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000" identifier = (binary_expression "(local_54 + 0x10 & 0xffff) + 0xe9620000" (parenthesized_expression "(local_54 + 0x10 & 0xffff)" ( (binary_expression "local_54 + 0x10 & 0xffff" (binary_expression "local_54 + 0x10" identifier + number_literal) & number_literal) )) + number_literal)))) (ERROR ";\n              puVar18 = puVar29" ; identifier = identifier) + number_literal) (ERROR ";\n              puVar29 =" ; identifier =) (argument_list "(uint64_t *)" ( (binary_expression "uint64_t *" identifier * identifier) ))) (argument_list "((int)puVar29 + 4)" ( (binary_expression "(int)puVar29 + 4" (cast_expression "(int)puVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) (ERROR ";\n            }" ; }) * (cast_expression "(int *)puVar29 = iVar36" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (assignment_expression "puVar29 = iVar36" identifier = identifier))) (ERROR ";\n          }\n          else {\n            piVar17" ; } else { identifier) [ number_literal ]) = number_literal) (ERROR ";\n            puVar18 =" ; identifier =) (argument_list "(uint64_t *)" ( (binary_expression "uint64_t *" identifier * identifier) ))) (argument_list "(piVar17 + 2)" ( (binary_expression "piVar17 + 2" identifier + number_literal) ))) (ERROR ";\n          }\n        }\n        else {\n          piVar17 = piVar13;\n          if" ; } } else { identifier = identifier ; if) (argument_list "((bVar31 & 0x40) != 0)" ( (binary_expression "(bVar31 & 0x40) != 0" (parenthesized_expression "(bVar31 & 0x40)" ( (binary_expression "bVar31 & 0x40" identifier & number_literal) )) != number_literal) ))) (ERROR "{\n            piVar17" { identifier) = (binary_expression "piVar13 + 1" identifier + number_literal)) (ERROR ";" ;) * (assignment_expression "piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018" identifier = (binary_expression "(-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018" (parenthesized_expression "(-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10)" ( (binary_expression "-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10" (unary_expression "-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0)" - (call_expression "(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)&this->targ_->field_0x8 & 2) == 0)" ( (binary_expression "(*(uint *)&this->targ_->field_0x8 & 2) == 0" (parenthesized_expression "(*(uint *)&this->targ_->field_0x8 & 2)" ( (binary_expression "*(uint *)&this->targ_->field_0x8 & 2" (pointer_expression "*(uint *)&this->targ_->field_0x8" * (cast_expression "(uint *)&this->targ_->field_0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->targ_->field_0x8" & (field_expression "this->targ_->field_0x8" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier)))) & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal))) (ERROR ";\n          }\n          uVar38 = uVar37" ; } identifier = identifier) & number_literal) (ERROR ";\n          if" ; if) (argument_list "(uVar20 == 0)" ( (binary_expression "uVar20 == 0" identifier == number_literal) ))) (ERROR "{" {) * (assignment_expression "piVar17 = local_54 + 0x3d620000" identifier = (binary_expression "local_54 + 0x3d620000" identifier + number_literal))) (ERROR ";\n            piVar17" ; identifier) [ number_literal ]) = (binary_expression "uVar38 + 0xe98b0000" identifier + number_literal)) (ERROR ";\n            if" ; if) (argument_list "(local_54 == uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10)" ( (binary_expression "local_54 == uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10" identifier == (binary_expression "uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10" (binary_expression "uVar37 + 0x8008 + (uint)bVar1 * 8" (binary_expression "uVar37 + 0x8008" identifier + number_literal) + (binary_expression "(uint)bVar1 * 8" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) >> number_literal)) ))) (ERROR "{\n              piVar13" { identifier) = (binary_expression "piVar17 + 2" identifier + number_literal)) (ERROR ";\n              pp_Var32 =" ; identifier =) (argument_list "(_func_int_varargs **)" ( (binary_expression "_func_int_varargs **" identifier * (pointer_expression "*" * identifier)) ))) (argument_list "((uVar37 + 8 & 0xffff) + 0xe84b0000)" ( (binary_expression "(uVar37 + 8 & 0xffff) + 0xe84b0000" (parenthesized_expression "(uVar37 + 8 & 0xffff)" ( (binary_expression "uVar37 + 8 & 0xffff" (binary_expression "uVar37 + 8" identifier + number_literal) & number_literal) )) + number_literal) ))) (ERROR ";\n            }\n            else {\n              piVar13 = piVar17" ; } else { identifier = identifier) + number_literal) (ERROR ";\n              uVar37 = 0;\n              piVar17" ; identifier = number_literal ; identifier) [ number_literal ]) = (binary_expression "uVar38 + 0x396b0000" identifier + number_literal)) (ERROR ";\n              pp_Var32 =" ; identifier =) ( (assignment_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            _vptr_Output_data = pp_Var32;\n            if (bVar1 != 0) goto LAB_000f37c0;\n            puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_;\n          }\n          else {\n            piVar17[2] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 3);\n            piVar17[1] = uVar38 + 0xe98c0000;\n            *piVar17 = local_54 + 0x3d820000;\n          }\n        }\n      }\n      else {\n        if ((this_00->field_0x28 & 0xf) != 10) {\nLAB_000f2f9a:\n          pOVar19 = pTVar33->plt_" (call_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            _vptr_Output_data = pp_Var32;\n            if (bVar1 != 0) goto LAB_000f37c0;\n            puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_;\n          }\n          else {\n            piVar17[2] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 3);\n            piVar17[1] = uVar38 + 0xe98c0000;\n            *piVar17 = local_54 + 0x3d820000;\n          }\n        }\n      }\n      else {\n        if ((this_00->field_0x28 & 0xf) != 10)" (binary_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            _vptr_Output_data = pp_Var32;\n            if (bVar1 != 0) goto LAB_000f37c0;\n            puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_;\n          }\n          else {\n            piVar17[2] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 3);\n            piVar17[1] = uVar38 + 0xe98c0000;\n            *piVar17 = local_54 + 0x3d820000" (assignment_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            _vptr_Output_data = pp_Var32;\n            if (bVar1 != 0) goto LAB_000f37c0;\n            puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_;\n          }\n          else {\n            piVar17[2] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 3);\n            piVar17[1] = uVar38 + 0xe98c0000" (subscript_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            _vptr_Output_data = pp_Var32;\n            if (bVar1 != 0) goto LAB_000f37c0;\n            puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_;\n          }\n          else {\n            piVar17[2] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 3);\n            piVar17[1]" (call_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            _vptr_Output_data = pp_Var32;\n            if (bVar1 != 0) goto LAB_000f37c0;\n            puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_;\n          }\n          else {\n            piVar17[2] = 0x7d8903a6;\n            puVar18 = (uint64_t *)(piVar17 + 3)" (call_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            _vptr_Output_data = pp_Var32;\n            if (bVar1 != 0) goto LAB_000f37c0;\n            puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_;\n          }\n          else {\n            piVar17[2] = 0x7d8903a6;\n            puVar18 = (uint64_t *)" (assignment_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            _vptr_Output_data = pp_Var32;\n            if (bVar1 != 0) goto LAB_000f37c0;\n            puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_;\n          }\n          else {\n            piVar17[2] = 0x7d8903a6" (subscript_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            _vptr_Output_data = pp_Var32;\n            if (bVar1 != 0) goto LAB_000f37c0;\n            puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_;\n          }\n          else {\n            piVar17[2]" (assignment_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            _vptr_Output_data = pp_Var32;\n            if (bVar1 != 0) goto LAB_000f37c0;\n            puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_" (call_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            _vptr_Output_data = pp_Var32;\n            if (bVar1 != 0)" (assignment_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            _vptr_Output_data = pp_Var32" (field_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n            _vptr_Output_data" (field_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build).super_Output_section_data" (call_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214;\n            }\n            (pOVar19->super_Output_section_data_build)" (assignment_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2] = 0x7d6b1214" (subscript_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);\n              piVar13[2]" (call_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3)" (call_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278;\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)" (assignment_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1] = 0x7d826278" (subscript_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);\n            }\n            else {\n              piVar13[1]" (assignment_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false) {\n              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1)" (call_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6;\n            if ((bool)bVar44 == false)" (binary_expression "_func_int_varargs **)0xe84b0008;\n            }\n            *piVar13 = 0x7d8903a6" (binary_expression "_func_int_varargs **)0xe84b0008" identifier * (pointer_expression "*)0xe84b0008" * (ERROR ")" )) number_literal)) (ERROR ";\n            }" ; }) * (assignment_expression "piVar13 = 0x7d8903a6" identifier = number_literal)) (ERROR ";\n            if" ; if) (argument_list "((bool)bVar44 == false)" ( (binary_expression "(bool)bVar44 == false" (cast_expression "(bool)bVar44" ( (type_descriptor "bool" primitive_type) ) identifier) == false) ))) (ERROR "{\n              pOVar19" { identifier) = (call_expression "(Output_data_plt_powerpc<64,_false> *)(piVar13 + 1)" (parenthesized_expression "(Output_data_plt_powerpc<64,_false> *)" ( (comma_expression "Output_data_plt_powerpc<64,_false> *" (binary_expression "Output_data_plt_powerpc<64" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(piVar13 + 1)" ( (binary_expression "piVar13 + 1" identifier + number_literal) )))) (ERROR ";\n            }\n            else {\n              piVar13" ; } else { identifier) [ number_literal ]) = number_literal) (ERROR ";\n              pOVar19 =" ; identifier =) (argument_list "(Output_data_plt_powerpc<64,_false> *)" ( (binary_expression "Output_data_plt_powerpc<64" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier)) ))) (argument_list "(piVar13 + 3)" ( (binary_expression "piVar13 + 3" identifier + number_literal) ))) (ERROR ";\n              piVar13" ; identifier) [ number_literal ]) = number_literal) (ERROR ";\n            }" ; }) (argument_list "(pOVar19->super_Output_section_data_build)" ( (field_expression "pOVar19->super_Output_section_data_build" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) = identifier) (ERROR ";\n            if" ; if) (argument_list "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) ))) (ERROR "goto LAB_000f37c0;\n            puVar18" identifier identifier ; identifier) = (pointer_expression "&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_" & (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_" (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data" (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar19->super_Output_section_data_build)" ( (field_expression "pOVar19->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) (ERROR ";\n          }\n          else {\n            piVar17" ; } else { identifier) [ number_literal ]) = number_literal) (ERROR ";\n            puVar18 =" ; identifier =) (argument_list "(uint64_t *)" ( (binary_expression "uint64_t *" identifier * identifier) ))) (argument_list "(piVar17 + 3)" ( (binary_expression "piVar17 + 3" identifier + number_literal) ))) (ERROR ";\n            piVar17" ; identifier) [ number_literal ]) = (binary_expression "uVar38 + 0xe98c0000" identifier + number_literal)) (ERROR ";" ;) * (assignment_expression "piVar17 = local_54 + 0x3d820000" identifier = (binary_expression "local_54 + 0x3d820000" identifier + number_literal))) (ERROR ";\n          }\n        }\n      }\n      else {\n        if" ; } } } else { if) (argument_list "((this_00->field_0x28 & 0xf) != 10)" ( (binary_expression "(this_00->field_0x28 & 0xf) != 10" (parenthesized_expression "(this_00->field_0x28 & 0xf)" ( (binary_expression "this_00->field_0x28 & 0xf" (field_expression "this_00->field_0x28" identifier -> field_identifier) & number_literal) )) != number_literal) ))) (ERROR "{\nLAB_000f2f9a:\n          pOVar19" { identifier : identifier) = (field_expression "pTVar33->plt_" identifier -> field_identifier)) (ERROR ";\n          if" ; if) ( (ERROR "pOVar19 == (Output_data_plt_powerpc<64,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");\n          }\nLAB_000f2fa5:\n          local_54 = this_00->plt_offset_;\n          if (local_54 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n          }\n          goto LAB_000f2fbb;\n        }\n        if ((this_00->field_0x2a & 7) == 0) {\n          if ((((uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage & 1) == 0) &&\n             ((pSVar41 = (Stub_table<64,_false> *)(this_00->u2_).shndx,\n              pSVar41 != (Stub_table<64,_false> *)0x0 || ((this_00->field_0x2b & 0x20) == 0))))\n          goto LAB_000f3795;\n          goto LAB_000f2f9a;\n        }\n        if ((this_00->field_0x2a & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n        bVar43 = gold::Symbol::is_preemptible(this_00);\n        if (bVar43) goto LAB_000f2f9a;" (binary_expression "pOVar19 == (Output_data_plt_powerpc<64,_false> *)0x0)" identifier == (parenthesized_expression "(Output_data_plt_powerpc<64,_false> *)0x0)" ( (comma_expression "Output_data_plt_powerpc<64,_false> *)0x0" (binary_expression "Output_data_plt_powerpc<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");\n          }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");" (call_expression "do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section")" identifier (argument_list "("../../gold/powerpc.cc",0x36a,"plt_section")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""plt_section"" " string_content ") ))) ;)) }) identifier : (call_expression "local_54 = this_00->plt_offset_;\n          if (local_54 == 0xffffffff)" (assignment_expression "local_54 = this_00->plt_offset_" identifier = (field_expression "this_00->plt_offset_" identifier -> field_identifier)) (ERROR ";\n          if" ; if) (argument_list "(local_54 == 0xffffffff)" ( (binary_expression "local_54 == 0xffffffff" identifier == number_literal) ))) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");\n          }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset")" identifier (argument_list "("../../gold/symtab.h",0x1ce,"plt_offset")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""plt_offset"" " string_content ") ))) ;)) }) goto (call_expression "LAB_000f2fbb;\n        }\n        if ((this_00->field_0x2a & 7) == 0)" identifier (ERROR ";\n        }\n        if" ; } if) (argument_list "((this_00->field_0x2a & 7) == 0)" ( (binary_expression "(this_00->field_0x2a & 7) == 0" (parenthesized_expression "(this_00->field_0x2a & 7)" ( (binary_expression "this_00->field_0x2a & 7" (field_expression "this_00->field_0x2a" identifier -> field_identifier) & number_literal) )) == number_literal) ))) (compound_statement "{\n          if ((((uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage & 1) == 0) &&\n             ((pSVar41 = (Stub_table<64,_false> *)(this_00->u2_).shndx,\n              pSVar41 != (Stub_table<64,_false> *)0x0 || ((this_00->field_0x2b & 0x20) == 0))))\n          goto LAB_000f3795;\n          goto LAB_000f2f9a;\n        }" { (if_statement "if ((((uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage & 1) == 0) &&\n             ((pSVar41 = (Stub_table<64,_false> *)(this_00->u2_).shndx,\n              pSVar41 != (Stub_table<64,_false> *)0x0 || ((this_00->field_0x2b & 0x20) == 0))))\n          goto LAB_000f3795;" if (parenthesized_expression "((((uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage & 1) == 0) &&\n             ((pSVar41 = (Stub_table<64,_false> *)(this_00->u2_).shndx,\n              pSVar41 != (Stub_table<64,_false> *)0x0 || ((this_00->field_0x2b & 0x20) == 0))))" ( (binary_expression "(((uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage & 1) == 0) &&\n             ((pSVar41 = (Stub_table<64,_false> *)(this_00->u2_).shndx,\n              pSVar41 != (Stub_table<64,_false> *)0x0 || ((this_00->field_0x2b & 0x20) == 0))))" (parenthesized_expression "(((uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage & 1) == 0)" ( (binary_expression "((uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage & 1) == 0" (parenthesized_expression "((uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage & 1)" ( (binary_expression "(uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage & 1" (field_expression "(uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage" (field_expression "(uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl" (binary_expression "(uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std" (binary_expression "(uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold" (field_expression "(uint)((this_00->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base" (subscript_expression "(uint)((this_00->u1_).output_segment)->output_lists_[3]" (field_expression "(uint)((this_00->u1_).output_segment)->output_lists_" (call_expression "(uint)((this_00->u1_).output_segment)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((this_00->u1_).output_segment)" ( (field_expression "(this_00->u1_).output_segment" (parenthesized_expression "(this_00->u1_)" ( (field_expression "this_00->u1_" identifier -> field_identifier) )) . field_identifier) ))) -> field_identifier) [ number_literal ]) . field_identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "((pSVar41 = (Stub_table<64,_false> *)(this_00->u2_).shndx,\n              pSVar41 != (Stub_table<64,_false> *)0x0 || ((this_00->field_0x2b & 0x20) == 0))))" ( (parenthesized_expression "(pSVar41 = (Stub_table<64,_false> *)(this_00->u2_).shndx,\n              pSVar41 != (Stub_table<64,_false> *)0x0 || ((this_00->field_0x2b & 0x20) == 0)))" ( (comma_expression "pSVar41 = (Stub_table<64,_false> *)(this_00->u2_).shndx,\n              pSVar41 != (Stub_table<64,_false> *)0x0 || ((this_00->field_0x2b & 0x20) == 0))" (assignment_expression "pSVar41 = (Stub_table<64,_false> *)(this_00->u2_).shndx" identifier = (field_expression "(Stub_table<64,_false> *)(this_00->u2_).shndx" (call_expression "(Stub_table<64,_false> *)(this_00->u2_)" (parenthesized_expression "(Stub_table<64,_false> *)" ( (comma_expression "Stub_table<64,_false> *" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(this_00->u2_)" ( (field_expression "this_00->u2_" identifier -> field_identifier) ))) . field_identifier)) , (binary_expression "pSVar41 != (Stub_table<64,_false> *)0x0 || ((this_00->field_0x2b & 0x20) == 0))" identifier != (parenthesized_expression "(Stub_table<64,_false> *)0x0 || ((this_00->field_0x2b & 0x20) == 0))" ( (comma_expression "Stub_table<64,_false> *)0x0 || ((this_00->field_0x2b & 0x20) == 0)" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false> *)0x0 || ((this_00->field_0x2b & 0x20) == 0)" (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) || (parenthesized_expression "((this_00->field_0x2b & 0x20) == 0)" ( (binary_expression "(this_00->field_0x2b & 0x20) == 0" (parenthesized_expression "(this_00->field_0x2b & 0x20)" ( (binary_expression "this_00->field_0x2b & 0x20" (field_expression "this_00->field_0x2b" identifier -> field_identifier) & number_literal) )) == number_literal) )))) )))) )) ))) )) (goto_statement "goto LAB_000f3795;" goto statement_identifier ;)) (goto_statement "goto LAB_000f2f9a;" goto statement_identifier ;) }) if (parenthesized_expression "((this_00->field_0x2a & 7) == 4)" ( (binary_expression "(this_00->field_0x2a & 7) == 4" (parenthesized_expression "(this_00->field_0x2a & 7)" ( (binary_expression "this_00->field_0x2a & 7" (field_expression "this_00->field_0x2a" identifier -> field_identifier) & number_literal) )) == number_literal) )) identifier identifier ; identifier : (assignment_expression "bVar43 = gold" identifier = identifier) : : identifier : : (call_expression "is_preemptible(this_00);\n        if (bVar43)" (call_expression "is_preemptible(this_00)" identifier (argument_list "(this_00)" ( identifier ))) (ERROR ";\n        if" ; if) (argument_list "(bVar43)" ( identifier ))) identifier identifier ;) (assignment_expression "pOVar19 = pTVar33->iplt_" identifier = (field_expression "pTVar33->iplt_" identifier -> field_identifier)) (ERROR ";\n        if" ; if) ( (binary_expression "pOVar19 != (Output_data_plt_powerpc<64,_false> *)0x0) goto LAB_000f2fa5;\n        pOVar19 = Target_powerpc<64" identifier != (ERROR "(Output_data_plt_powerpc<64,_false> *)0x0) goto LAB_000f2fa5;" (parenthesized_expression "(Output_data_plt_powerpc<64,_false> *)0x0)" ( (comma_expression "Output_data_plt_powerpc<64,_false> *)0x0" (binary_expression "Output_data_plt_powerpc<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )) identifier identifier ;) (assignment_expression "pOVar19 = Target_powerpc<64" identifier = (binary_expression "Target_powerpc<64" identifier < number_literal))) , (ERROR "_false>::iplt_section(in_stack_ffffff44);\n        uVar37 = extraout_EDX;\n        bVar44 = extraout_CL;\nLAB_000f37c0:\n        puVar18 = (uint64_t *)\n                  ((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_ + 4);\n        *(uint *)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.address_ = (uVar37 + 0x10 & 0xffff) + 0xe96b0000;\n      }\n      if (*(char *)((int)&local_44[7]._M_nxt + 3) < '\0')" (binary_expression "_false>::iplt_section(in_stack_ffffff44)" identifier > (ERROR "::" : :) (call_expression "iplt_section(in_stack_ffffff44)" identifier (argument_list "(in_stack_ffffff44)" ( identifier )))) ; (assignment_expression "uVar37 = extraout_EDX" identifier = identifier) ; (assignment_expression "bVar44 = extraout_CL" identifier = identifier) ; identifier : (call_expression "puVar18 = (uint64_t *)\n                  ((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_ + 4);\n        *(uint *)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.address_ = (uVar37 + 0x10 & 0xffff) + 0xe96b0000;\n      }\n      if (*(char *)((int)&local_44[7]._M_nxt + 3) < '\0')" (binary_expression "puVar18 = (uint64_t *)\n                  ((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_ + 4);\n        *(uint *)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.address_ = (uVar37 + 0x10 & 0xffff) + 0xe96b0000" (assignment_expression "puVar18 = (uint64_t *)\n                  ((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_ + 4)" identifier = (cast_expression "(uint64_t *)\n                  ((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_ + 4)" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_ + 4)" ( (binary_expression "(int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_ + 4" (cast_expression "(int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_" & (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data.address_" (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                         super_Output_data" (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar19->super_Output_section_data_build)" ( (field_expression "pOVar19->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) (ERROR ";" ;) * (cast_expression "(uint *)&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.address_ = (uVar37 + 0x10 & 0xffff) + 0xe96b0000" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.address_ = (uVar37 + 0x10 & 0xffff) + 0xe96b0000" (pointer_expression "&(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.address_" & (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data.address_" (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data.\n                  super_Output_data" (field_expression "(pOVar19->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar19->super_Output_section_data_build)" ( (field_expression "pOVar19->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) = (binary_expression "(uVar37 + 0x10 & 0xffff) + 0xe96b0000" (parenthesized_expression "(uVar37 + 0x10 & 0xffff)" ( (binary_expression "uVar37 + 0x10 & 0xffff" (binary_expression "uVar37 + 0x10" identifier + number_literal) & number_literal) )) + number_literal)))) (ERROR ";\n      }\n      if" ; } if) (argument_list "(*(char *)((int)&local_44[7]._M_nxt + 3) < '\0')" ( (binary_expression "*(char *)((int)&local_44[7]._M_nxt + 3) < '\0'" (pointer_expression "*(char *)((int)&local_44[7]._M_nxt + 3)" * (cast_expression "(char *)((int)&local_44[7]._M_nxt + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_44[7]._M_nxt + 3)" ( (binary_expression "(int)&local_44[7]._M_nxt + 3" (cast_expression "(int)&local_44[7]._M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_44[7]._M_nxt" & (field_expression "local_44[7]._M_nxt" (subscript_expression "local_44[7]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )))) (compound_statement "{\nLAB_000f2f35:\n        if ((bVar44 == 1) || (local_69 == false)) {\n          *(int *)puVar18 = 0x4e800420;\n        }\n        else {\n          *(int *)puVar18 = 0x28220000;\n          *(int *)((int)puVar18 + 4) = 0x4ce20420;\n          *(uint *)(puVar18 + 1) = local_64 & 0x3fffffc | 0x48000000;\n        }\n      }" { (labeled_statement "LAB_000f2f35:\n        if ((bVar44 == 1) || (local_69 == false)) {\n          *(int *)puVar18 = 0x4e800420;\n        }\n        else {\n          *(int *)puVar18 = 0x28220000;\n          *(int *)((int)puVar18 + 4) = 0x4ce20420;\n          *(uint *)(puVar18 + 1) = local_64 & 0x3fffffc | 0x48000000;\n        }" statement_identifier : (if_statement "if ((bVar44 == 1) || (local_69 == false)) {\n          *(int *)puVar18 = 0x4e800420;\n        }\n        else {\n          *(int *)puVar18 = 0x28220000;\n          *(int *)((int)puVar18 + 4) = 0x4ce20420;\n          *(uint *)(puVar18 + 1) = local_64 & 0x3fffffc | 0x48000000;\n        }" if (parenthesized_expression "((bVar44 == 1) || (local_69 == false))" ( (binary_expression "(bVar44 == 1) || (local_69 == false)" (parenthesized_expression "(bVar44 == 1)" ( (binary_expression "bVar44 == 1" identifier == number_literal) )) || (parenthesized_expression "(local_69 == false)" ( (binary_expression "local_69 == false" identifier == false) ))) )) (compound_statement "{\n          *(int *)puVar18 = 0x4e800420;\n        }" { (expression_statement "*(int *)puVar18 = 0x4e800420;" (assignment_expression "*(int *)puVar18 = 0x4e800420" (pointer_expression "*(int *)puVar18" * (cast_expression "(int *)puVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) }) (else_clause "else {\n          *(int *)puVar18 = 0x28220000;\n          *(int *)((int)puVar18 + 4) = 0x4ce20420;\n          *(uint *)(puVar18 + 1) = local_64 & 0x3fffffc | 0x48000000;\n        }" else (compound_statement "{\n          *(int *)puVar18 = 0x28220000;\n          *(int *)((int)puVar18 + 4) = 0x4ce20420;\n          *(uint *)(puVar18 + 1) = local_64 & 0x3fffffc | 0x48000000;\n        }" { (expression_statement "*(int *)puVar18 = 0x28220000;" (assignment_expression "*(int *)puVar18 = 0x28220000" (pointer_expression "*(int *)puVar18" * (cast_expression "(int *)puVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(int *)((int)puVar18 + 4) = 0x4ce20420;" (assignment_expression "*(int *)((int)puVar18 + 4) = 0x4ce20420" (pointer_expression "*(int *)((int)puVar18 + 4)" * (cast_expression "(int *)((int)puVar18 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar18 + 4)" ( (binary_expression "(int)puVar18 + 4" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar18 + 1) = local_64 & 0x3fffffc | 0x48000000;" (assignment_expression "*(uint *)(puVar18 + 1) = local_64 & 0x3fffffc | 0x48000000" (pointer_expression "*(uint *)(puVar18 + 1)" * (cast_expression "(uint *)(puVar18 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 1)" ( (binary_expression "puVar18 + 1" identifier + number_literal) )))) = (binary_expression "local_64 & 0x3fffffc | 0x48000000" (binary_expression "local_64 & 0x3fffffc" identifier & number_literal) | number_literal)) ;) })))) }) (ERROR "else {\n        pSVar4 = (Stub_table<64" else { identifier = ( identifier < number_literal) , (field_expression "_false> *)this->targ_->tls_get_addr_opt_;\n        if ((pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)p_Var22 - (int)p_Var12;\n        iVar35 = (int)local_44[2]._M_nxt +\n                 (uint)(0xfdffffff < uVar38) +\n                 ((-(uint)(p_Var24 < p_Var16) -\n                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))) - (uint)(p_Var22 < p_Var12)\n                 );\n        if (iVar35 == 0 && (uint)(0x3ffffff < uVar38 + 0x2000000) <= (uint)-iVar35)\n        goto code_r0x000f32c9;\n        local_34 = p_Var24;\n        local_30 = local_44[2]._M_nxt;\n        std::\n        _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);\n        if (local_40 == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write");\n        }\n        pOVar6 = this->targ_->brlt_section_;\n        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;\n        uVar37 = ((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44) -\n                 (int)local_44[3]._M_nxt;\n        uVar20 = uVar37 & 0xffff;\n        uVar37 = uVar37 + 0x8000 >> 0x10;\n        if (uVar37 == 0) {\n          *puVar14 = uVar20 + 0xe9820000;\n          puVar15 = puVar14 + 1;\n        }\n        else {\n          puVar14[1] = uVar20 + 0xe98c0000;\n          puVar15 = puVar14 + 2;\n          *puVar14 = uVar37 + 0x3d820000;\n        }\n        *puVar15 = 0x7d8903a6;\n        puVar15[1] = 0x4e800420;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n    } while( true );\n  }\n  if (this->need_save_res_ == false) {\n    return;\n  }\n  pOVar7 = this->targ_->savres_section_;\n  if ((pOVar7->field_0x1c & 2) != 0) {\n    memcpy(puVar11 + this->plt_size_ + this->branch_size_,pOVar7->contents_,\n           *(size_t *)&pOVar7->field_0xc);\n    return;\n  }\n  goto LAB_000f398a;\ncode_r0x000f32c9:\n  *puVar14 = uVar38 & 0x3fffffc | 0x48000000;\n  local_44 = local_44->_M_nxt" (binary_expression "_false> *)this->targ_->tls_get_addr_opt_;\n        if ((pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)p_Var22 - (int)p_Var12;\n        iVar35 = (int)local_44[2]._M_nxt +\n                 (uint)(0xfdffffff < uVar38) +\n                 ((-(uint)(p_Var24 < p_Var16) -\n                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))) - (uint)(p_Var22 < p_Var12)\n                 );\n        if (iVar35 == 0 && (uint)(0x3ffffff < uVar38 + 0x2000000) <= (uint)-iVar35)\n        goto code_r0x000f32c9;\n        local_34 = p_Var24;\n        local_30 = local_44[2]._M_nxt;\n        std::\n        _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);\n        if (local_40 == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write");\n        }\n        pOVar6 = this->targ_->brlt_section_;\n        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;\n        uVar37 = ((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44) -\n                 (int)local_44[3]._M_nxt;\n        uVar20 = uVar37 & 0xffff;\n        uVar37 = uVar37 + 0x8000 >> 0x10;\n        if (uVar37 == 0) {\n          *puVar14 = uVar20 + 0xe9820000;\n          puVar15 = puVar14 + 1;\n        }\n        else {\n          puVar14[1] = uVar20 + 0xe98c0000;\n          puVar15 = puVar14 + 2;\n          *puVar14 = uVar37 + 0x3d820000;\n        }\n        *puVar15 = 0x7d8903a6;\n        puVar15[1] = 0x4e800420;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n    } while( true );\n  }\n  if (this->need_save_res_ == false) {\n    return;\n  }\n  pOVar7 = this->targ_->savres_section_;\n  if ((pOVar7->field_0x1c & 2) != 0) {\n    memcpy(puVar11 + this->plt_size_ + this->branch_size_,pOVar7->contents_,\n           *(size_t *)&pOVar7->field_0xc);\n    return;\n  }\n  goto LAB_000f398a;\ncode_r0x000f32c9:\n  *puVar14 = uVar38 & 0x3fffffc | 0x48000000" (call_expression "_false> *)this->targ_->tls_get_addr_opt_;\n        if ((pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)p_Var22 - (int)p_Var12;\n        iVar35 = (int)local_44[2]._M_nxt +\n                 (uint)(0xfdffffff < uVar38) +\n                 ((-(uint)(p_Var24 < p_Var16) -\n                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))) - (uint)(p_Var22 < p_Var12)\n                 );\n        if (iVar35 == 0 && (uint)(0x3ffffff < uVar38 + 0x2000000) <= (uint)-iVar35)\n        goto code_r0x000f32c9;\n        local_34 = p_Var24;\n        local_30 = local_44[2]._M_nxt;\n        std::\n        _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);\n        if (local_40 == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write");\n        }\n        pOVar6 = this->targ_->brlt_section_;\n        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;\n        uVar37 = ((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44) -\n                 (int)local_44[3]._M_nxt;\n        uVar20 = uVar37 & 0xffff;\n        uVar37 = uVar37 + 0x8000 >> 0x10;\n        if (uVar37 == 0) {\n          *puVar14 = uVar20 + 0xe9820000;\n          puVar15 = puVar14 + 1;\n        }\n        else {\n          puVar14[1] = uVar20 + 0xe98c0000;\n          puVar15 = puVar14 + 2;\n          *puVar14 = uVar37 + 0x3d820000;\n        }\n        *puVar15 = 0x7d8903a6;\n        puVar15[1] = 0x4e800420;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n    } while( true );\n  }\n  if (this->need_save_res_ == false) {\n    return;\n  }\n  pOVar7 = this->targ_->savres_section_;\n  if ((pOVar7->field_0x1c & 2) != 0) {\n    memcpy(puVar11 + this->plt_size_ + this->branch_size_,pOVar7->contents_,\n           *(size_t *)&pOVar7->field_0xc)" (binary_expression "_false> *)this->targ_->tls_get_addr_opt_" identifier > (pointer_expression "*)this->targ_->tls_get_addr_opt_" * (ERROR ")" )) (field_expression "this->targ_->tls_get_addr_opt_" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier))) (ERROR ";\n        if" ; if) (argument_list "((pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)p_Var22 - (int)p_Var12;\n        iVar35 = (int)local_44[2]._M_nxt +\n                 (uint)(0xfdffffff < uVar38) +\n                 ((-(uint)(p_Var24 < p_Var16) -\n                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))) - (uint)(p_Var22 < p_Var12)\n                 );\n        if (iVar35 == 0 && (uint)(0x3ffffff < uVar38 + 0x2000000) <= (uint)-iVar35)\n        goto code_r0x000f32c9;\n        local_34 = p_Var24;\n        local_30 = local_44[2]._M_nxt;\n        std::\n        _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n        ::find((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);\n        if (local_40 == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write");\n        }\n        pOVar6 = this->targ_->brlt_section_;\n        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;\n        uVar37 = ((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44) -\n                 (int)local_44[3]._M_nxt;\n        uVar20 = uVar37 & 0xffff;\n        uVar37 = uVar37 + 0x8000 >> 0x10;\n        if (uVar37 == 0) {\n          *puVar14 = uVar20 + 0xe9820000;\n          puVar15 = puVar14 + 1;\n        }\n        else {\n          puVar14[1] = uVar20 + 0xe98c0000;\n          puVar15 = puVar14 + 2;\n          *puVar14 = uVar37 + 0x3d820000;\n        }\n        *puVar15 = 0x7d8903a6;\n        puVar15[1] = 0x4e800420;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n    } while( true );\n  }\n  if (this->need_save_res_ == false) {\n    return;\n  }\n  pOVar7 = this->targ_->savres_section_;\n  if ((pOVar7->field_0x1c & 2) != 0) {\n    memcpy(puVar11 + this->plt_size_ + this->branch_size_,pOVar7->contents_,\n           *(size_t *)&pOVar7->field_0xc)" ( (binary_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)p_Var22 - (int)p_Var12;\n        iVar35 = (int)local_44[2]._M_nxt +\n                 (uint)(0xfdffffff < uVar38) +\n                 ((-(uint)(p_Var24 < p_Var16) -\n                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))) - (uint)(p_Var22 < p_Var12)\n                 );\n        if (iVar35 == 0 && (uint)(0x3ffffff < uVar38 + 0x2000000) <= (uint)-iVar35)\n        goto code_r0x000f32c9;\n        local_34 = p_Var24;\n        local_30 = local_44[2]._M_nxt;\n        std::\n        _Hashtable<long_long_unsigned_int" (field_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)p_Var22 - (int)p_Var12;\n        iVar35 = (int)local_44[2]._M_nxt +\n                 (uint)(0xfdffffff < uVar38) +\n                 ((-(uint)(p_Var24 < p_Var16) -\n                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))) - (uint)(p_Var22 < p_Var12)\n                 );\n        if (iVar35 == 0 && (uint)(0x3ffffff < uVar38 + 0x2000000) <= (uint)-iVar35)\n        goto code_r0x000f32c9;\n        local_34 = p_Var24;\n        local_30 = local_44[2]._M_nxt" (subscript_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)p_Var22 - (int)p_Var12;\n        iVar35 = (int)local_44[2]._M_nxt +\n                 (uint)(0xfdffffff < uVar38) +\n                 ((-(uint)(p_Var24 < p_Var16) -\n                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))) - (uint)(p_Var22 < p_Var12)\n                 );\n        if (iVar35 == 0 && (uint)(0x3ffffff < uVar38 + 0x2000000) <= (uint)-iVar35)\n        goto code_r0x000f32c9;\n        local_34 = p_Var24;\n        local_30 = local_44[2]" (assignment_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)p_Var22 - (int)p_Var12;\n        iVar35 = (int)local_44[2]._M_nxt +\n                 (uint)(0xfdffffff < uVar38) +\n                 ((-(uint)(p_Var24 < p_Var16) -\n                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))) - (uint)(p_Var22 < p_Var12)\n                 );\n        if (iVar35 == 0 && (uint)(0x3ffffff < uVar38 + 0x2000000) <= (uint)-iVar35)\n        goto code_r0x000f32c9;\n        local_34 = p_Var24" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)p_Var22 - (int)p_Var12;\n        iVar35 = (int)local_44[2]._M_nxt +\n                 (uint)(0xfdffffff < uVar38) +\n                 ((-(uint)(p_Var24 < p_Var16) -\n                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))) - (uint)(p_Var22 < p_Var12)\n                 );\n        if (iVar35 == 0 && (uint)(0x3ffffff < uVar38 + 0x2000000) <= (uint)-iVar35)" (binary_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)p_Var22 - (int)p_Var12;\n        iVar35 = (int)local_44[2]._M_nxt +\n                 (uint)(0xfdffffff < uVar38) +\n                 ((-(uint)(p_Var24 < p_Var16) -\n                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))) - (uint)(p_Var22 < p_Var12)\n                 )" (binary_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)p_Var22 - (int)p_Var12;\n        iVar35 = (int)local_44[2]._M_nxt +\n                 (uint)(0xfdffffff < uVar38)" (field_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)p_Var22 - (int)p_Var12;\n        iVar35 = (int)local_44[2]._M_nxt" (subscript_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)p_Var22 - (int)p_Var12;\n        iVar35 = (int)local_44[2]" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)p_Var22 - (int)p_Var12;\n        iVar35 = (int)" (binary_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)p_Var22 - (int)p_Var12" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);\n        uVar38 = (int)" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16)" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);\n        p_Var22 = (_Hash_node_base *)" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34)" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;\n        p_Var16 = (_Hash_node_base *)" (binary_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21 & -uVar20" (binary_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_ + uVar21" (field_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15;\n        uVar34 = this->orig_data_size_" (binary_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1) + *puVar15" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4);\n        uVar21 = (uVar20 - 1)" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)((int)&this->invalid_address + 4)" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt;\n        puVar15 = (uint *)" (assignment_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;\n        p_Var24 = local_44[1]._M_nxt" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20;\n        }\n        if ((this->field_0x1c & 1) == 0)" (assignment_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20) {\n          uVar20 = 0x20" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);\n        if (uVar20 < 0x20)" (assignment_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;\n        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f)" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);\n        if (gold::parameters->options_ == (General_options *)0x0)" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37)" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_;\n        puVar14 = (uint *)" (field_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt;\n        uVar37 = this->plt_size_" (assignment_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0') {\n        p_Var12 = local_44[5]._M_nxt" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0) {\n    do {\n      if (*(char *)&local_44[4]._M_nxt == '\0')" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;\njoined_r0x000f30c8:\n  if (local_44 != (_Hash_node_base *)0x0)" (field_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt" (field_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin" (field_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)._M_h" (call_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true );\n  }\n  local_44 = (this->long_branch_stubs_)" (parenthesized_expression "(pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_;\n    } while( true )" ( (assignment_expression "pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n      pTVar33 = this->targ_" (call_expression "pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0)" (field_expression "pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;\n        pSVar41 = this;\n      }\n      local_44 = local_44->_M_nxt" (binary_expression "pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020;\n        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008" (binary_expression "pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;\n        *(int *)(puVar18 + 2) = 0x4e800020" (binary_expression "pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8;\n        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6" (binary_expression "pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;\n        uVar37 = *(uint *)&this->targ_->field_0x8" (binary_expression "pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421;\n        *(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018" (binary_expression "pSVar4 == (Stub_table<64,_false> *)0x0) ||\n           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421" (binary_expression "pSVar4 == (Stub_table<64,_false> *)0x0)" identifier == (parenthesized_expression "(Stub_table<64,_false> *)0x0)" ( (comma_expression "Stub_table<64,_false> *)0x0" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) || (binary_expression "(((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           ) goto LAB_000f2f35;\n        *(int *)puVar18 = 0x4e800421" (parenthesized_expression "(((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))\n           )" ( (parenthesized_expression "((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))" ( (parenthesized_expression "(Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4))" ( (comma_expression "Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)" (binary_expression "Stub_table<64" identifier < number_literal) , (binary_expression "_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)" (binary_expression "_false> *)this->targ_->tls_get_addr_ != pSVar41" (binary_expression "_false> *)this->targ_->tls_get_addr_" identifier > (pointer_expression "*)this->targ_->tls_get_addr_" * (ERROR ")" )) (field_expression "this->targ_->tls_get_addr_" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier))) != identifier) && (parenthesized_expression "(pSVar41 != pSVar4)" ( (binary_expression "pSVar41 != pSVar4" identifier != identifier) )))) )) )) )) (ERROR "goto LAB_000f2f35;" identifier identifier ;) * (cast_expression "(int *)puVar18 = 0x4e800421" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (assignment_expression "puVar18 = 0x4e800421" identifier = number_literal)))) (ERROR ";" ;) * (cast_expression "(uint *)((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "((int)puVar18 + 4) =\n             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018" (parenthesized_expression "((int)puVar18 + 4)" ( (binary_expression "(int)puVar18 + 4" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) = (binary_expression "(-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018" (parenthesized_expression "(-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10)" ( (binary_expression "-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10" (unary_expression "-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0)" - (call_expression "(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)&this->targ_->field_0x8 & 2) == 0)" ( (binary_expression "(*(uint *)&this->targ_->field_0x8 & 2) == 0" (parenthesized_expression "(*(uint *)&this->targ_->field_0x8 & 2)" ( (binary_expression "*(uint *)&this->targ_->field_0x8 & 2" (pointer_expression "*(uint *)&this->targ_->field_0x8" * (cast_expression "(uint *)&this->targ_->field_0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->targ_->field_0x8" & (field_expression "this->targ_->field_0x8" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier)))) & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)))) (ERROR ";\n        uVar37 =" ; identifier =) * (cast_expression "(uint *)&this->targ_->field_0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->targ_->field_0x8" & (field_expression "this->targ_->field_0x8" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier)))) (ERROR ";" ;) * (cast_expression "(int *)((int)puVar18 + 0xc) = 0x7d6803a6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (assignment_expression "((int)puVar18 + 0xc) = 0x7d6803a6" (parenthesized_expression "((int)puVar18 + 0xc)" ( (binary_expression "(int)puVar18 + 0xc" (cast_expression "(int)puVar18" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )) = number_literal))) (ERROR ";" ;) * (cast_expression "(int *)(puVar18 + 2) = 0x4e800020" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (assignment_expression "(puVar18 + 2) = 0x4e800020" (parenthesized_expression "(puVar18 + 2)" ( (binary_expression "puVar18 + 2" identifier + number_literal) )) = number_literal))) (ERROR ";" ;) * (cast_expression "(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008" (parenthesized_expression "(puVar18 + 1)" ( (binary_expression "puVar18 + 1" identifier + number_literal) )) = (binary_expression "(-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008" (parenthesized_expression "(-(uint)((uVar37 & 2) == 0) & 0x18)" ( (binary_expression "-(uint)((uVar37 & 2) == 0) & 0x18" (unary_expression "-(uint)((uVar37 & 2) == 0)" - (call_expression "(uint)((uVar37 & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar37 & 2) == 0)" ( (binary_expression "(uVar37 & 2) == 0" (parenthesized_expression "(uVar37 & 2)" ( (binary_expression "uVar37 & 2" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)))) (ERROR ";\n        pSVar41 = this;\n      }\n      local_44 = local_44" ; identifier = identifier ; } identifier = identifier) -> field_identifier) (ERROR ";\n      if" ; if) (argument_list "(local_44 == (_Hash_node_base *)0x0)" ( (binary_expression "local_44 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) (ERROR "break;\n      pTVar33" identifier ; identifier) = (field_expression "this->targ_" identifier -> field_identifier)) (ERROR ";\n    } while( true" ; } while ( true) )) (ERROR ";\n  }\n  local_44 =" ; } identifier =) (argument_list "(this->long_branch_stubs_)" ( (field_expression "this->long_branch_stubs_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) (ERROR ";\njoined_r0x000f30c8:\n  if" ; identifier : if) (argument_list "(local_44 != (_Hash_node_base *)0x0)" ( (binary_expression "local_44 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) (ERROR "{\n    do {\n      if" { do { if) (argument_list "(*(char *)&local_44[4]._M_nxt == '\0')" ( (binary_expression "*(char *)&local_44[4]._M_nxt == '\0'" (pointer_expression "*(char *)&local_44[4]._M_nxt" * (cast_expression "(char *)&local_44[4]._M_nxt" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_44[4]._M_nxt" & (field_expression "local_44[4]._M_nxt" (subscript_expression "local_44[4]" identifier [ number_literal ]) . field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) ))) (ERROR "{\n        p_Var12" { identifier) = (field_expression "local_44[5]._M_nxt" (subscript_expression "local_44[5]" identifier [ number_literal ]) . field_identifier)) (ERROR ";\n        uVar37 = this" ; identifier = identifier) -> field_identifier) (ERROR ";\n        puVar14 =" ; identifier =) (argument_list "(uint *)" ( (binary_expression "uint *" identifier * identifier) ))) (argument_list "(puVar11 + (int)&p_Var12->_M_nxt + uVar37)" ( (binary_expression "puVar11 + (int)&p_Var12->_M_nxt + uVar37" (binary_expression "puVar11 + (int)&p_Var12->_M_nxt" identifier + (cast_expression "(int)&p_Var12->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var12->_M_nxt" & (field_expression "p_Var12->_M_nxt" identifier -> field_identifier)))) + identifier) ))) (ERROR ";\n        if" ; if) (argument_list "(gold::parameters->options_ == (General_options *)0x0)" ( (ERROR "gold::" identifier : :) (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) (ERROR "goto LAB_000f392f;\n        uVar20" identifier identifier ; identifier) = (binary_expression "1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f)" number_literal << (parenthesized_expression "((byte)(gold::parameters->options_->plt_align_).value & 0x1f)" ( (binary_expression "(byte)(gold::parameters->options_->plt_align_).value & 0x1f" (field_expression "(byte)(gold::parameters->options_->plt_align_).value" (call_expression "(byte)(gold::parameters->options_->plt_align_)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(gold::parameters->options_->plt_align_)" ( (ERROR "gold::" identifier : :) (field_expression "parameters->options_->plt_align_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) ))) . field_identifier) & number_literal) )))) (ERROR ";\n        if" ; if) (argument_list "(uVar20 < 0x20)" ( (binary_expression "uVar20 < 0x20" identifier < number_literal) ))) (ERROR "{\n          uVar20" { identifier) = number_literal) (ERROR ";\n        }\n        if" ; } if) (argument_list "((this->field_0x1c & 1) == 0)" ( (binary_expression "(this->field_0x1c & 1) == 0" (parenthesized_expression "(this->field_0x1c & 1)" ( (binary_expression "this->field_0x1c & 1" (field_expression "this->field_0x1c" identifier -> field_identifier) & number_literal) )) == number_literal) ))) (ERROR "goto LAB_000f3135;\n        p_Var24" identifier identifier ; identifier) = (field_expression "local_44[1]._M_nxt" (subscript_expression "local_44[1]" identifier [ number_literal ]) . field_identifier)) (ERROR ";\n        puVar15 =" ; identifier =) (argument_list "(uint *)" ( (binary_expression "uint *" identifier * identifier) ))) (argument_list "((int)&this->invalid_address + 4)" ( (binary_expression "(int)&this->invalid_address + 4" (cast_expression "(int)&this->invalid_address" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->invalid_address" & (field_expression "this->invalid_address" identifier -> field_identifier))) + number_literal) ))) (ERROR ";\n        uVar21 =" ; identifier =) (argument_list "(uVar20 - 1)" ( (binary_expression "uVar20 - 1" identifier - number_literal) ))) + (pointer_expression "*puVar15" * identifier)) (ERROR ";\n        uVar34 = this" ; identifier = identifier) -> field_identifier) + identifier) & (unary_expression "-uVar20" - identifier)) (ERROR ";\n        p_Var16 =" ; identifier =) (argument_list "(_Hash_node_base *)" ( (binary_expression "_Hash_node_base *" identifier * identifier) ))) (argument_list "(uVar37 + uVar34)" ( (binary_expression "uVar37 + uVar34" identifier + identifier) ))) (ERROR ";\n        p_Var22 =" ; identifier =) (argument_list "(_Hash_node_base *)" ( (binary_expression "_Hash_node_base *" identifier * identifier) ))) (argument_list "((int)p_Var24 - (int)p_Var16)" ( (binary_expression "(int)p_Var24 - (int)p_Var16" (cast_expression "(int)p_Var24" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)p_Var16" ( (type_descriptor "int" primitive_type) ) identifier)) ))) (ERROR ";\n        uVar38 =" ; identifier =) (argument_list "(int)" ( identifier ))) (ERROR "p_Var22" identifier) - (cast_expression "(int)p_Var12" ( (type_descriptor "int" primitive_type) ) identifier)) (ERROR ";\n        iVar35 =" ; identifier =) (argument_list "(int)" ( identifier ))) (ERROR "local_44" identifier) [ number_literal ]) . field_identifier) + (call_expression "(uint)(0xfdffffff < uVar38)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfdffffff < uVar38)" ( (binary_expression "0xfdffffff < uVar38" number_literal < identifier) )))) + (parenthesized_expression "((-(uint)(p_Var24 < p_Var16) -\n                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))) - (uint)(p_Var22 < p_Var12)\n                 )" ( (binary_expression "(-(uint)(p_Var24 < p_Var16) -\n                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))) - (uint)(p_Var22 < p_Var12)" (parenthesized_expression "(-(uint)(p_Var24 < p_Var16) -\n                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34)))" ( (binary_expression "-(uint)(p_Var24 < p_Var16) -\n                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))" (unary_expression "-(uint)(p_Var24 < p_Var16)" - (call_expression "(uint)(p_Var24 < p_Var16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(p_Var24 < p_Var16)" ( (binary_expression "p_Var24 < p_Var16" identifier < identifier) )))) - (parenthesized_expression "((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))" ( (binary_expression "(((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34)" (parenthesized_expression "(((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0))" ( (binary_expression "((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &\n                   -(uint)(uVar20 != 0)" (binary_expression "((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21)" (binary_expression "((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +\n                    (uint)CARRY4(uVar20 - 1,*puVar15)" (binary_expression "((uVar20 != 0) - 1) + *(int *)&this->field_0x8" (parenthesized_expression "((uVar20 != 0) - 1)" ( (binary_expression "(uVar20 != 0) - 1" (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) - number_literal) )) + (pointer_expression "*(int *)&this->field_0x8" * (cast_expression "(int *)&this->field_0x8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->field_0x8" & (field_expression "this->field_0x8" identifier -> field_identifier))))) + (cast_expression "(uint)CARRY4(uVar20 - 1,*puVar15)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar20 - 1,*puVar15)" identifier (argument_list "(uVar20 - 1,*puVar15)" ( (binary_expression "uVar20 - 1" identifier - number_literal) , (pointer_expression "*puVar15" * identifier) ))))) + (cast_expression "(uint)CARRY4(this->orig_data_size_,uVar21)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(this->orig_data_size_,uVar21)" identifier (argument_list "(this->orig_data_size_,uVar21)" ( (field_expression "this->orig_data_size_" identifier -> field_identifier) , identifier ))))) & (unary_expression "-(uint)(uVar20 != 0)" - (call_expression "(uint)(uVar20 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) ))))) )) + (cast_expression "(uint)CARRY4(uVar37,uVar34)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar37,uVar34)" identifier (argument_list "(uVar37,uVar34)" ( identifier , identifier ))))) ))) )) - (call_expression "(uint)(p_Var22 < p_Var12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(p_Var22 < p_Var12)" ( (binary_expression "p_Var22 < p_Var12" identifier < identifier) )))) ))) (ERROR ";\n        if" ; if) (argument_list "(iVar35 == 0 && (uint)(0x3ffffff < uVar38 + 0x2000000) <= (uint)-iVar35)" ( (binary_expression "iVar35 == 0 && (uint)(0x3ffffff < uVar38 + 0x2000000) <= (uint)-iVar35" (binary_expression "iVar35 == 0" identifier == number_literal) && (binary_expression "(uint)(0x3ffffff < uVar38 + 0x2000000) <= (uint)-iVar35" (call_expression "(uint)(0x3ffffff < uVar38 + 0x2000000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3ffffff < uVar38 + 0x2000000)" ( (binary_expression "0x3ffffff < uVar38 + 0x2000000" number_literal < (binary_expression "uVar38 + 0x2000000" identifier + number_literal)) ))) <= (binary_expression "(uint)-iVar35" (parenthesized_expression "(uint)" ( identifier )) - identifier))) ))) (ERROR "goto code_r0x000f32c9;\n        local_34" identifier identifier ; identifier) = identifier) (ERROR ";\n        local_30 = local_44" ; identifier = identifier) [ number_literal ]) . field_identifier) (ERROR ";\n        std::\n        _Hashtable" ; identifier : : identifier) < identifier) , (ERROR "_std::" identifier : :) (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , identifier (ERROR ">" >) , (ERROR "_std::allocator<std::" identifier : : (binary_expression "allocator<std" identifier < identifier) : :) (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>_" identifier > identifier) (ERROR ">" >) , (ERROR "_std::__detail::" identifier : : identifier : :) identifier , (ERROR "_std::" identifier : :) (binary_expression "equal_to<long_long_unsigned_int" identifier < identifier) (ERROR ">" >) , (ERROR "_std::" identifier : :) (binary_expression "hash<long_long_unsigned_int" identifier < identifier) (ERROR ">" >) , (ERROR "_std::__detail::" identifier : : identifier : :) identifier , (ERROR "_std::__detail::" identifier : : identifier : :) identifier , (ERROR "_std::__detail::" identifier : : identifier : :) identifier , (ERROR "_std::__detail::" identifier : : identifier : :) (binary_expression "_Hashtable_traits<false" identifier < false) , identifier , (binary_expression "_true>_>\n        ::find((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);\n        if (local_40 == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write");\n        }\n        pOVar6 = this->targ_->brlt_section_;\n        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;\n        uVar37 = ((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44) -\n                 (int)local_44[3]._M_nxt;\n        uVar20 = uVar37 & 0xffff;\n        uVar37 = uVar37 + 0x8000 >> 0x10;\n        if (uVar37 == 0) {\n          *puVar14 = uVar20 + 0xe9820000;\n          puVar15 = puVar14 + 1;\n        }\n        else {\n          puVar14[1] = uVar20 + 0xe98c0000;\n          puVar15 = puVar14 + 2;\n          *puVar14 = uVar37 + 0x3d820000;\n        }\n        *puVar15 = 0x7d8903a6;\n        puVar15[1] = 0x4e800420;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n    } while( true );\n  }\n  if (this->need_save_res_ == false) {\n    return;\n  }\n  pOVar7 = this->targ_->savres_section_;\n  if ((pOVar7->field_0x1c & 2) != 0) {\n    memcpy(puVar11 + this->plt_size_ + this->branch_size_" (binary_expression "_true>_>\n        ::find((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);\n        if (local_40 == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write");\n        }\n        pOVar6 = this->targ_->brlt_section_;\n        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;\n        uVar37 = ((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44) -\n                 (int)local_44[3]._M_nxt;\n        uVar20 = uVar37 & 0xffff;\n        uVar37 = uVar37 + 0x8000 >> 0x10;\n        if (uVar37 == 0) {\n          *puVar14 = uVar20 + 0xe9820000;\n          puVar15 = puVar14 + 1;\n        }\n        else {\n          puVar14[1] = uVar20 + 0xe98c0000;\n          puVar15 = puVar14 + 2;\n          *puVar14 = uVar37 + 0x3d820000;\n        }\n        *puVar15 = 0x7d8903a6;\n        puVar15[1] = 0x4e800420;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n    } while( true );\n  }\n  if (this->need_save_res_ == false) {\n    return;\n  }\n  pOVar7 = this->targ_->savres_section_;\n  if ((pOVar7->field_0x1c & 2) != 0) {\n    memcpy(puVar11 + this->plt_size_" (call_expression "_true>_>\n        ::find((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);\n        if (local_40 == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write");\n        }\n        pOVar6 = this->targ_->brlt_section_;\n        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;\n        uVar37 = ((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44) -\n                 (int)local_44[3]._M_nxt;\n        uVar20 = uVar37 & 0xffff;\n        uVar37 = uVar37 + 0x8000 >> 0x10;\n        if (uVar37 == 0) {\n          *puVar14 = uVar20 + 0xe9820000;\n          puVar15 = puVar14 + 1;\n        }\n        else {\n          puVar14[1] = uVar20 + 0xe98c0000;\n          puVar15 = puVar14 + 2;\n          *puVar14 = uVar37 + 0x3d820000;\n        }\n        *puVar15 = 0x7d8903a6;\n        puVar15[1] = 0x4e800420;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n    } while( true );\n  }\n  if (this->need_save_res_ == false) {\n    return;\n  }\n  pOVar7 = this->targ_->savres_section_;\n  if ((pOVar7->field_0x1c & 2) != 0)" (assignment_expression "_true>_>\n        ::find((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);\n        if (local_40 == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write");\n        }\n        pOVar6 = this->targ_->brlt_section_;\n        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;\n        uVar37 = ((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44) -\n                 (int)local_44[3]._M_nxt;\n        uVar20 = uVar37 & 0xffff;\n        uVar37 = uVar37 + 0x8000 >> 0x10;\n        if (uVar37 == 0) {\n          *puVar14 = uVar20 + 0xe9820000;\n          puVar15 = puVar14 + 1;\n        }\n        else {\n          puVar14[1] = uVar20 + 0xe98c0000;\n          puVar15 = puVar14 + 2;\n          *puVar14 = uVar37 + 0x3d820000;\n        }\n        *puVar15 = 0x7d8903a6;\n        puVar15[1] = 0x4e800420;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n    } while( true );\n  }\n  if (this->need_save_res_ == false) {\n    return;\n  }\n  pOVar7 = this->targ_->savres_section_" (call_expression "_true>_>\n        ::find((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);\n        if (local_40 == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write");\n        }\n        pOVar6 = this->targ_->brlt_section_;\n        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;\n        uVar37 = ((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44) -\n                 (int)local_44[3]._M_nxt;\n        uVar20 = uVar37 & 0xffff;\n        uVar37 = uVar37 + 0x8000 >> 0x10;\n        if (uVar37 == 0) {\n          *puVar14 = uVar20 + 0xe9820000;\n          puVar15 = puVar14 + 1;\n        }\n        else {\n          puVar14[1] = uVar20 + 0xe98c0000;\n          puVar15 = puVar14 + 2;\n          *puVar14 = uVar37 + 0x3d820000;\n        }\n        *puVar15 = 0x7d8903a6;\n        puVar15[1] = 0x4e800420;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n    } while( true );\n  }\n  if (this->need_save_res_ == false)" (binary_expression "_true>_>\n        ::find((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);\n        if (local_40 == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write");\n        }\n        pOVar6 = this->targ_->brlt_section_;\n        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;\n        uVar37 = ((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44) -\n                 (int)local_44[3]._M_nxt;\n        uVar20 = uVar37 & 0xffff;\n        uVar37 = uVar37 + 0x8000 >> 0x10;\n        if (uVar37 == 0) {\n          *puVar14 = uVar20 + 0xe9820000;\n          puVar15 = puVar14 + 1;\n        }\n        else {\n          puVar14[1] = uVar20 + 0xe98c0000;\n          puVar15 = puVar14 + 2;\n          *puVar14 = uVar37 + 0x3d820000;\n        }\n        *puVar15 = 0x7d8903a6;\n        puVar15[1] = 0x4e800420;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n    } while( true )" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "find((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);\n        if (local_40 == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write");\n        }\n        pOVar6 = this->targ_->brlt_section_;\n        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;\n        uVar37 = ((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44) -\n                 (int)local_44[3]._M_nxt;\n        uVar20 = uVar37 & 0xffff;\n        uVar37 = uVar37 + 0x8000 >> 0x10;\n        if (uVar37 == 0) {\n          *puVar14 = uVar20 + 0xe9820000;\n          puVar15 = puVar14 + 1;\n        }\n        else {\n          puVar14[1] = uVar20 + 0xe98c0000;\n          puVar15 = puVar14 + 2;\n          *puVar14 = uVar37 + 0x3d820000;\n        }\n        *puVar15 = 0x7d8903a6;\n        puVar15[1] = 0x4e800420;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n    } while( true )" identifier (argument_list "((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);\n        if (local_40 == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write");\n        }\n        pOVar6 = this->targ_->brlt_section_;\n        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;\n        uVar37 = ((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44) -\n                 (int)local_44[3]._M_nxt;\n        uVar20 = uVar37 & 0xffff;\n        uVar37 = uVar37 + 0x8000 >> 0x10;\n        if (uVar37 == 0) {\n          *puVar14 = uVar20 + 0xe9820000;\n          puVar15 = puVar14 + 1;\n        }\n        else {\n          puVar14[1] = uVar20 + 0xe98c0000;\n          puVar15 = puVar14 + 2;\n          *puVar14 = uVar37 + 0x3d820000;\n        }\n        *puVar15 = 0x7d8903a6;\n        puVar15[1] = 0x4e800420;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n    } while( true )" ( (ERROR "(_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);\n        if (local_40 == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write");\n        }\n        pOVar6 = this->targ_->brlt_section_;\n        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0) goto LAB_000f3135;\n        uVar37 = ((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44) -\n                 (int)local_44[3]._M_nxt;\n        uVar20 = uVar37 & 0xffff;\n        uVar37 = uVar37 + 0x8000 >> 0x10;\n        if (uVar37 == 0) {\n          *puVar14 = uVar20 + 0xe9820000;\n          puVar15 = puVar14 + 1;\n        }\n        else {\n          puVar14[1] = uVar20 + 0xe98c0000;\n          puVar15 = puVar14 + 2;\n          *puVar14 = uVar37 + 0x3d820000;\n        }\n        *puVar15 = 0x7d8903a6;\n        puVar15[1] = 0x4e800420;\n      }\n      local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0) break;\n    } while(" (call_expression "(_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);\n        if (local_40 == 0)" (parenthesized_expression "(_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34)" ( (ERROR "_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<long_long_unsigned_int,_std" (binary_expression "_Hashtable<long_long_unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<long_long_unsigned_int_const,_unsigned_int>,_std" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<long_long_unsigned_int_const,_unsigned_int>_>,_std" (binary_expression "pair<long_long_unsigned_int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : identifier : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<long_long_unsigned_int>,_std" (binary_expression "equal_to<long_long_unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "hash<long_long_unsigned_int>,_std" (binary_expression "hash<long_long_unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<false,_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34" (binary_expression "_Hashtable_traits<false" identifier < false) , (comma_expression "_false,_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34" identifier , (comma_expression "_true>_>\n                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34" (binary_expression "_true>_>\n                *)&this->targ_->branch_lookup_table_" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*)&this->targ_->branch_lookup_table_" * (ERROR ")" )) (pointer_expression "&this->targ_->branch_lookup_table_" & (field_expression "this->targ_->branch_lookup_table_" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier)))) , (cast_expression "(key_type_conflict1 *)&local_34" ( (type_descriptor "key_type_conflict1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_34" & identifier))))) )) (ERROR ";\n        if" ; if) (argument_list "(local_40 == 0)" ( (binary_expression "local_40 == 0" identifier == number_literal) ))) { comment identifier : : (call_expression "do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write")" identifier (argument_list "("../../gold/powerpc.cc",0x15f1,"do_write")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""do_write"" " string_content ") ))) ; } (call_expression "pOVar6 = this->targ_->brlt_section_;\n        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0)" (assignment_expression "pOVar6 = this->targ_->brlt_section_" identifier = (field_expression "this->targ_->brlt_section_" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier)) (ERROR ";\n        if" ; if) (argument_list "(((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0)" ( (binary_expression "((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1) == 0" (parenthesized_expression "((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1)" ( (binary_expression "(pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c & 1" (field_expression "(pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n             field_0x1c" (field_expression "(pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(pOVar6->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar6->super_Output_section_data_build)" ( (field_expression "pOVar6->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) ))) identifier identifier ; (assignment_expression "uVar37 = ((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44) -\n                 (int)local_44[3]._M_nxt" identifier = (binary_expression "((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44) -\n                 (int)local_44[3]._M_nxt" (parenthesized_expression "((*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44)" ( (binary_expression "(*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_) - (int)in_stack_ffffff44" (parenthesized_expression "(*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_)" ( (binary_expression "*(int *)(local_40 + 0xc) +\n                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_" (pointer_expression "*(int *)(local_40 + 0xc)" * (cast_expression "(int *)(local_40 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 0xc)" ( (binary_expression "local_40 + 0xc" identifier + number_literal) )))) + (cast_expression "(int)(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_" ( (type_descriptor "int" primitive_type) ) (field_expression "(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data.address_" (field_expression "(pOVar6->super_Output_section_data_build).super_Output_section_data.\n                       super_Output_data" (field_expression "(pOVar6->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar6->super_Output_section_data_build)" ( (field_expression "pOVar6->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) )) - (cast_expression "(int)in_stack_ffffff44" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (cast_expression "(int)local_44[3]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "local_44[3]._M_nxt" (subscript_expression "local_44[3]" identifier [ number_literal ]) . field_identifier)))) ; (assignment_expression "uVar20 = uVar37 & 0xffff" identifier = (binary_expression "uVar37 & 0xffff" identifier & number_literal)) ; (call_expression "uVar37 = uVar37 + 0x8000 >> 0x10;\n        if (uVar37 == 0)" (assignment_expression "uVar37 = uVar37 + 0x8000 >> 0x10" identifier = (binary_expression "uVar37 + 0x8000 >> 0x10" (binary_expression "uVar37 + 0x8000" identifier + number_literal) >> number_literal)) (ERROR ";\n        if" ; if) (argument_list "(uVar37 == 0)" ( (binary_expression "uVar37 == 0" identifier == number_literal) ))) (compound_statement "{\n          *puVar14 = uVar20 + 0xe9820000;\n          puVar15 = puVar14 + 1;\n        }" { (expression_statement "*puVar14 = uVar20 + 0xe9820000;" (assignment_expression "*puVar14 = uVar20 + 0xe9820000" (pointer_expression "*puVar14" * identifier) = (binary_expression "uVar20 + 0xe9820000" identifier + number_literal)) ;) (expression_statement "puVar15 = puVar14 + 1;" (assignment_expression "puVar15 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) }) else (compound_statement "{\n          puVar14[1] = uVar20 + 0xe98c0000;\n          puVar15 = puVar14 + 2;\n          *puVar14 = uVar37 + 0x3d820000;\n        }" { (expression_statement "puVar14[1] = uVar20 + 0xe98c0000;" (assignment_expression "puVar14[1] = uVar20 + 0xe98c0000" (subscript_expression "puVar14[1]" identifier [ number_literal ]) = (binary_expression "uVar20 + 0xe98c0000" identifier + number_literal)) ;) (expression_statement "puVar15 = puVar14 + 2;" (assignment_expression "puVar15 = puVar14 + 2" identifier = (binary_expression "puVar14 + 2" identifier + number_literal)) ;) (expression_statement "*puVar14 = uVar37 + 0x3d820000;" (assignment_expression "*puVar14 = uVar37 + 0x3d820000" (pointer_expression "*puVar14" * identifier) = (binary_expression "uVar37 + 0x3d820000" identifier + number_literal)) ;) }) (assignment_expression "*puVar15 = 0x7d8903a6" (pointer_expression "*puVar15" * identifier) = number_literal) ; (assignment_expression "puVar15[1] = 0x4e800420" (subscript_expression "puVar15[1]" identifier [ number_literal ]) = number_literal) ; } (call_expression "local_44 = local_44->_M_nxt;\n      if (local_44 == (_Hash_node_base *)0x0)" (assignment_expression "local_44 = local_44->_M_nxt" identifier = (field_expression "local_44->_M_nxt" identifier -> field_identifier)) (ERROR ";\n      if" ; if) (argument_list "(local_44 == (_Hash_node_base *)0x0)" ( (binary_expression "local_44 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) identifier ; } while () true )))) (ERROR ";\n  }\n  if" ; } if) (argument_list "(this->need_save_res_ == false)" ( (binary_expression "this->need_save_res_ == false" (field_expression "this->need_save_res_" identifier -> field_identifier) == false) ))) (ERROR "{\n    return;\n  }\n  pOVar7" { return ; } identifier) = (field_expression "this->targ_->savres_section_" (field_expression "this->targ_" identifier -> field_identifier) -> field_identifier)) (ERROR ";\n  if" ; if) (argument_list "((pOVar7->field_0x1c & 2) != 0)" ( (binary_expression "(pOVar7->field_0x1c & 2) != 0" (parenthesized_expression "(pOVar7->field_0x1c & 2)" ( (binary_expression "pOVar7->field_0x1c & 2" (field_expression "pOVar7->field_0x1c" identifier -> field_identifier) & number_literal) )) != number_literal) ))) (ERROR "{\n    memcpy(puVar11" { identifier ( identifier) + (field_expression "this->plt_size_" identifier -> field_identifier)) + (field_expression "this->branch_size_" identifier -> field_identifier)) , (field_expression "pOVar7->contents_" identifier -> field_identifier) , (pointer_expression "*(size_t *)&pOVar7->field_0xc" * (cast_expression "(size_t *)&pOVar7->field_0xc" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar7->field_0xc" & (field_expression "pOVar7->field_0xc" identifier -> field_identifier)))) ))) (ERROR ";\n    return;\n  }\n  goto LAB_000f398a;\ncode_r0x000f32c9:" ; return ; } goto identifier ; identifier :) * (assignment_expression "puVar14 = uVar38 & 0x3fffffc | 0x48000000" identifier = (binary_expression "uVar38 & 0x3fffffc | 0x48000000" (binary_expression "uVar38 & 0x3fffffc" identifier & number_literal) | number_literal))) (ERROR ";\n  local_44 = local_44" ; identifier = identifier) -> field_identifier) ; goto identifier ; })
(translation_unit "void FUN_000f2ca0(uint param_1,int param_2)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  code *pcVar3;\n  undefined **ppuVar4;\n  undefined1 *puVar5;\n  char cVar6;\n  int *piVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  byte extraout_CL;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint *puVar19;\n  byte bVar20;\n  int iVar21;\n  uint *puVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  byte bVar26;\n  undefined8 uVar27;\n  uint auStackY_d4 [2];\n  uint local_bc;\n  uint local_b8;\n  uint local_b4;\n  int local_b0;\n  uint local_ac;\n  undefined4 local_a8;\n  uint local_a4;\n  undefined4 local_a0;\n  uint local_9c;\n  undefined4 local_98;\n  uint local_94;\n  uint local_90;\n  uint local_8c;\n  uint local_88;\n  uint local_84;\n  uint local_80;\n  uint local_7c;\n  int local_78;\n  int *local_74;\n  int local_70;\n  bool local_69;\n  uint local_68;\n  uint *local_64;\n  int local_60;\n  uint local_5c;\n  undefined **local_58;\n  uint *local_54;\n  int local_50;\n  uint *local_4c;\n  uint local_48;\n  int *local_44;\n  int local_40 [3];\n  uint *local_34;\n  int local_30;\n  uint local_2c [7];\n  \n  puVar19 = &local_bc;\n  puVar11 = &local_bc;\n  local_58 = &__DT_PLTGOT;\n  local_44 = *(int **)(param_1 + 0x44);\n  if ((local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0)) {\n    return;\n  }\n  bVar26 = *(byte *)(param_1 + 0x1c);\n  local_5c = CONCAT31(local_5c._1_3_,bVar26);\n  if ((bVar26 & 4) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);\n  }\n  local_4c = *(uint **)(param_1 + 0x14);\n  local_54 = local_4c;\n  local_50 = *(int *)(param_1 + 0x18);\n  local_74 = &DAT_005ea7c8;\n  if (*(int *)(DAT_005ea7c8 + 8) == 0) {\nLAB_000f392f:\n                    \n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;\n    FUN_000afd50();\n  }\n  uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f);\n  if (uVar23 < 0x20) {\n    uVar23 = 0x20;\n  }\n  uVar23 = (int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23;\n  if ((bVar26 & 2) == 0) {\nLAB_000f398a:\n    ppuVar4 = local_58;\n    *(uint *)((int)puVar11 + -4) = uVar23;\n    *(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;\n    *(undefined4 *)((int)puVar11 + -0xc) = 0xcf;\n    *(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n    *(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;\n    FUN_002446e0();\n  }\n  puVar11 = (uint *)(uVar23 - (int)local_4c);\n  local_4c = *(uint **)(param_1 + 0xc);\n  uVar24 = (int)local_4c - (int)puVar11;\n  local_48 = *(uint *)(param_1 + 0x10);\n  if (*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11)) {\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);\n  }\n  uVar12 = (uint)CARRY4(uVar23,uVar24);\n  uVar24 = (uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24);\n  iVar21 = *(int *)(param_2 + 0xc) - uVar12;\n  if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0) {\n    local_70 = uVar23 + *(int *)(param_2 + 0x10);\n    iVar21 = *(int *)(param_1 + 0x34);\n    if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }\n    uVar23 = FUN_000af350();\n  }\n                    \n  FUN_002446e0((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23);\ncode_r0x000f32c9:\n  *local_64 = uVar23 & 0x3fffffc | 0x48000000;\n  local_44 = (int *)*local_44;\n  piVar7 = local_44;\n  goto joined_r0x000f30c8;\n}\n\n" (function_definition "void FUN_000f2ca0(uint param_1,int param_2)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  code *pcVar3;\n  undefined **ppuVar4;\n  undefined1 *puVar5;\n  char cVar6;\n  int *piVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  byte extraout_CL;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint *puVar19;\n  byte bVar20;\n  int iVar21;\n  uint *puVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  byte bVar26;\n  undefined8 uVar27;\n  uint auStackY_d4 [2];\n  uint local_bc;\n  uint local_b8;\n  uint local_b4;\n  int local_b0;\n  uint local_ac;\n  undefined4 local_a8;\n  uint local_a4;\n  undefined4 local_a0;\n  uint local_9c;\n  undefined4 local_98;\n  uint local_94;\n  uint local_90;\n  uint local_8c;\n  uint local_88;\n  uint local_84;\n  uint local_80;\n  uint local_7c;\n  int local_78;\n  int *local_74;\n  int local_70;\n  bool local_69;\n  uint local_68;\n  uint *local_64;\n  int local_60;\n  uint local_5c;\n  undefined **local_58;\n  uint *local_54;\n  int local_50;\n  uint *local_4c;\n  uint local_48;\n  int *local_44;\n  int local_40 [3];\n  uint *local_34;\n  int local_30;\n  uint local_2c [7];\n  \n  puVar19 = &local_bc;\n  puVar11 = &local_bc;\n  local_58 = &__DT_PLTGOT;\n  local_44 = *(int **)(param_1 + 0x44);\n  if ((local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0)) {\n    return;\n  }\n  bVar26 = *(byte *)(param_1 + 0x1c);\n  local_5c = CONCAT31(local_5c._1_3_,bVar26);\n  if ((bVar26 & 4) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);\n  }\n  local_4c = *(uint **)(param_1 + 0x14);\n  local_54 = local_4c;\n  local_50 = *(int *)(param_1 + 0x18);\n  local_74 = &DAT_005ea7c8;\n  if (*(int *)(DAT_005ea7c8 + 8) == 0) {\nLAB_000f392f:\n                    \n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;\n    FUN_000afd50();\n  }\n  uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f);\n  if (uVar23 < 0x20) {\n    uVar23 = 0x20;\n  }\n  uVar23 = (int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23;\n  if ((bVar26 & 2) == 0) {\nLAB_000f398a:\n    ppuVar4 = local_58;\n    *(uint *)((int)puVar11 + -4) = uVar23;\n    *(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;\n    *(undefined4 *)((int)puVar11 + -0xc) = 0xcf;\n    *(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n    *(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;\n    FUN_002446e0();\n  }\n  puVar11 = (uint *)(uVar23 - (int)local_4c);\n  local_4c = *(uint **)(param_1 + 0xc);\n  uVar24 = (int)local_4c - (int)puVar11;\n  local_48 = *(uint *)(param_1 + 0x10);\n  if (*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11)) {\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);\n  }\n  uVar12 = (uint)CARRY4(uVar23,uVar24);\n  uVar24 = (uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24);\n  iVar21 = *(int *)(param_2 + 0xc) - uVar12;\n  if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0) {\n    local_70 = uVar23 + *(int *)(param_2 + 0x10);\n    iVar21 = *(int *)(param_1 + 0x34);\n    if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }\n    uVar23 = FUN_000af350();\n  }\n                    \n  FUN_002446e0((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23);\ncode_r0x000f32c9:\n  *local_64 = uVar23 & 0x3fffffc | 0x48000000;\n  local_44 = (int *)*local_44;\n  piVar7 = local_44;\n  goto joined_r0x000f30c8;\n}" primitive_type (function_declarator "FUN_000f2ca0(uint param_1,int param_2)" identifier (parameter_list "(uint param_1,int param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  code *pcVar3;\n  undefined **ppuVar4;\n  undefined1 *puVar5;\n  char cVar6;\n  int *piVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  byte extraout_CL;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint *puVar19;\n  byte bVar20;\n  int iVar21;\n  uint *puVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  byte bVar26;\n  undefined8 uVar27;\n  uint auStackY_d4 [2];\n  uint local_bc;\n  uint local_b8;\n  uint local_b4;\n  int local_b0;\n  uint local_ac;\n  undefined4 local_a8;\n  uint local_a4;\n  undefined4 local_a0;\n  uint local_9c;\n  undefined4 local_98;\n  uint local_94;\n  uint local_90;\n  uint local_8c;\n  uint local_88;\n  uint local_84;\n  uint local_80;\n  uint local_7c;\n  int local_78;\n  int *local_74;\n  int local_70;\n  bool local_69;\n  uint local_68;\n  uint *local_64;\n  int local_60;\n  uint local_5c;\n  undefined **local_58;\n  uint *local_54;\n  int local_50;\n  uint *local_4c;\n  uint local_48;\n  int *local_44;\n  int local_40 [3];\n  uint *local_34;\n  int local_30;\n  uint local_2c [7];\n  \n  puVar19 = &local_bc;\n  puVar11 = &local_bc;\n  local_58 = &__DT_PLTGOT;\n  local_44 = *(int **)(param_1 + 0x44);\n  if ((local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0)) {\n    return;\n  }\n  bVar26 = *(byte *)(param_1 + 0x1c);\n  local_5c = CONCAT31(local_5c._1_3_,bVar26);\n  if ((bVar26 & 4) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);\n  }\n  local_4c = *(uint **)(param_1 + 0x14);\n  local_54 = local_4c;\n  local_50 = *(int *)(param_1 + 0x18);\n  local_74 = &DAT_005ea7c8;\n  if (*(int *)(DAT_005ea7c8 + 8) == 0) {\nLAB_000f392f:\n                    \n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;\n    FUN_000afd50();\n  }\n  uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f);\n  if (uVar23 < 0x20) {\n    uVar23 = 0x20;\n  }\n  uVar23 = (int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23;\n  if ((bVar26 & 2) == 0) {\nLAB_000f398a:\n    ppuVar4 = local_58;\n    *(uint *)((int)puVar11 + -4) = uVar23;\n    *(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;\n    *(undefined4 *)((int)puVar11 + -0xc) = 0xcf;\n    *(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n    *(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;\n    FUN_002446e0();\n  }\n  puVar11 = (uint *)(uVar23 - (int)local_4c);\n  local_4c = *(uint **)(param_1 + 0xc);\n  uVar24 = (int)local_4c - (int)puVar11;\n  local_48 = *(uint *)(param_1 + 0x10);\n  if (*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11)) {\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);\n  }\n  uVar12 = (uint)CARRY4(uVar23,uVar24);\n  uVar24 = (uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24);\n  iVar21 = *(int *)(param_2 + 0xc) - uVar12;\n  if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0) {\n    local_70 = uVar23 + *(int *)(param_2 + 0x10);\n    iVar21 = *(int *)(param_1 + 0x34);\n    if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }\n    uVar23 = FUN_000af350();\n  }\n                    \n  FUN_002446e0((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23);\ncode_r0x000f32c9:\n  *local_64 = uVar23 & 0x3fffffc | 0x48000000;\n  local_44 = (int *)*local_44;\n  piVar7 = local_44;\n  goto joined_r0x000f30c8;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "undefined **ppuVar4;" type_identifier (pointer_declarator "**ppuVar4" * (pointer_declarator "*ppuVar4" * identifier)) ;) (declaration "undefined1 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "char cVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "byte extraout_CL;" type_identifier identifier ;) (declaration "uint *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "uint *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "byte bVar20;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "uint *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "byte bVar26;" type_identifier identifier ;) (declaration "undefined8 uVar27;" type_identifier identifier ;) (declaration "uint auStackY_d4 [2];" type_identifier (array_declarator "auStackY_d4 [2]" identifier [ number_literal ]) ;) (declaration "uint local_bc;" type_identifier identifier ;) (declaration "uint local_b8;" type_identifier identifier ;) (declaration "uint local_b4;" type_identifier identifier ;) (declaration "int local_b0;" primitive_type identifier ;) (declaration "uint local_ac;" type_identifier identifier ;) (declaration "undefined4 local_a8;" type_identifier identifier ;) (declaration "uint local_a4;" type_identifier identifier ;) (declaration "undefined4 local_a0;" type_identifier identifier ;) (declaration "uint local_9c;" type_identifier identifier ;) (declaration "undefined4 local_98;" type_identifier identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "uint local_90;" type_identifier identifier ;) (declaration "uint local_8c;" type_identifier identifier ;) (declaration "uint local_88;" type_identifier identifier ;) (declaration "uint local_84;" type_identifier identifier ;) (declaration "uint local_80;" type_identifier identifier ;) (declaration "uint local_7c;" type_identifier identifier ;) (declaration "int local_78;" primitive_type identifier ;) (declaration "int *local_74;" primitive_type (pointer_declarator "*local_74" * identifier) ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "bool local_69;" primitive_type identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "uint *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "undefined **local_58;" type_identifier (pointer_declarator "**local_58" * (pointer_declarator "*local_58" * identifier)) ;) (declaration "uint *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "uint *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "int *local_44;" primitive_type (pointer_declarator "*local_44" * identifier) ;) (declaration "int local_40 [3];" primitive_type (array_declarator "local_40 [3]" identifier [ number_literal ]) ;) (declaration "uint *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "uint local_2c [7];" type_identifier (array_declarator "local_2c [7]" identifier [ number_literal ]) ;) (expression_statement "puVar19 = &local_bc;" (assignment_expression "puVar19 = &local_bc" identifier = (pointer_expression "&local_bc" & identifier)) ;) (expression_statement "puVar11 = &local_bc;" (assignment_expression "puVar11 = &local_bc" identifier = (pointer_expression "&local_bc" & identifier)) ;) (expression_statement "local_58 = &__DT_PLTGOT;" (assignment_expression "local_58 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_44 = *(int **)(param_1 + 0x44);" (assignment_expression "local_44 = *(int **)(param_1 + 0x44)" identifier = (pointer_expression "*(int **)(param_1 + 0x44)" * (cast_expression "(int **)(param_1 + 0x44)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) ;) (if_statement "if ((local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0)) {\n    return;\n  }" if (parenthesized_expression "((local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0))" ( (binary_expression "(local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0)" (parenthesized_expression "(local_44 == (int *)0x0)" ( (binary_expression "local_44 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(int *)(param_1 + 0x60) == 0)" ( (binary_expression "*(int *)(param_1 + 0x60) == 0" (pointer_expression "*(int *)(param_1 + 0x60)" * (cast_expression "(int *)(param_1 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "bVar26 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar26 = *(byte *)(param_1 + 0x1c)" identifier = (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_5c = CONCAT31(local_5c._1_3_,bVar26);" (assignment_expression "local_5c = CONCAT31(local_5c._1_3_,bVar26)" identifier = (call_expression "CONCAT31(local_5c._1_3_,bVar26)" identifier (argument_list "(local_5c._1_3_,bVar26)" ( (field_expression "local_5c._1_3_" identifier . field_identifier) , identifier )))) ;) (if_statement "if ((bVar26 & 4) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);\n  }" if (parenthesized_expression "((bVar26 & 4) == 0)" ( (binary_expression "(bVar26 & 4) == 0" (parenthesized_expression "(bVar26 & 4)" ( (binary_expression "bVar26 & 4" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);\n  }" { (expression_statement "FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);" (call_expression "FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26)" identifier (argument_list "("../../gold/output.h",0xe3,"offset",bVar26)" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") , identifier ))) ;) })) (expression_statement "local_4c = *(uint **)(param_1 + 0x14);" (assignment_expression "local_4c = *(uint **)(param_1 + 0x14)" identifier = (pointer_expression "*(uint **)(param_1 + 0x14)" * (cast_expression "(uint **)(param_1 + 0x14)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_54 = local_4c;" (assignment_expression "local_54 = local_4c" identifier = identifier) ;) (expression_statement "local_50 = *(int *)(param_1 + 0x18);" (assignment_expression "local_50 = *(int *)(param_1 + 0x18)" identifier = (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_74 = &DAT_005ea7c8;" (assignment_expression "local_74 = &DAT_005ea7c8" identifier = (pointer_expression "&DAT_005ea7c8" & identifier)) ;) (if_statement "if (*(int *)(DAT_005ea7c8 + 8) == 0) {\nLAB_000f392f:\n                    \n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;\n    FUN_000afd50();\n  }" if (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) == 0)" ( (binary_expression "*(int *)(DAT_005ea7c8 + 8) == 0" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_000f392f:\n                    \n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;\n    FUN_000afd50();\n  }" { (labeled_statement "LAB_000f392f:\n                    \n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar19 + -4) = 0xf3934;" (assignment_expression "*(undefined4 *)((int)puVar19 + -4) = 0xf3934" (pointer_expression "*(undefined4 *)((int)puVar19 + -4)" * (cast_expression "(undefined4 *)((int)puVar19 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + -4)" ( (binary_expression "(int)puVar19 + -4" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_000afd50();" (call_expression "FUN_000afd50()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f);" (assignment_expression "uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f)" identifier = (binary_expression "1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f)" number_literal << (parenthesized_expression "((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f)" ( (binary_expression "(byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f" (binary_expression "(byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) + 0x2b20)" ( (binary_expression "*(int *)(DAT_005ea7c8 + 8) + 0x2b20" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) )))) + number_literal) )))) & number_literal) )))) ;) (if_statement "if (uVar23 < 0x20) {\n    uVar23 = 0x20;\n  }" if (parenthesized_expression "(uVar23 < 0x20)" ( (binary_expression "uVar23 < 0x20" identifier < number_literal) )) (compound_statement "{\n    uVar23 = 0x20;\n  }" { (expression_statement "uVar23 = 0x20;" (assignment_expression "uVar23 = 0x20" identifier = number_literal) ;) })) (expression_statement "uVar23 = (int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23;" (assignment_expression "uVar23 = (int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23" identifier = (binary_expression "(int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23" (binary_expression "(int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70)" (binary_expression "(int)local_4c + (uVar23 - 1)" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uVar23 - 1)" ( (binary_expression "uVar23 - 1" identifier - number_literal) ))) + (pointer_expression "*(int *)(param_1 + 0x70)" * (cast_expression "(int *)(param_1 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) ))))) & (unary_expression "-uVar23" - identifier))) ;) (if_statement "if ((bVar26 & 2) == 0) {\nLAB_000f398a:\n    ppuVar4 = local_58;\n    *(uint *)((int)puVar11 + -4) = uVar23;\n    *(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;\n    *(undefined4 *)((int)puVar11 + -0xc) = 0xcf;\n    *(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n    *(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;\n    FUN_002446e0();\n  }" if (parenthesized_expression "((bVar26 & 2) == 0)" ( (binary_expression "(bVar26 & 2) == 0" (parenthesized_expression "(bVar26 & 2)" ( (binary_expression "bVar26 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000f398a:\n    ppuVar4 = local_58;\n    *(uint *)((int)puVar11 + -4) = uVar23;\n    *(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;\n    *(undefined4 *)((int)puVar11 + -0xc) = 0xcf;\n    *(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n    *(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;\n    FUN_002446e0();\n  }" { (labeled_statement "LAB_000f398a:\n    ppuVar4 = local_58;" statement_identifier : (expression_statement "ppuVar4 = local_58;" (assignment_expression "ppuVar4 = local_58" identifier = identifier) ;)) (expression_statement "*(uint *)((int)puVar11 + -4) = uVar23;" (assignment_expression "*(uint *)((int)puVar11 + -4) = uVar23" (pointer_expression "*(uint *)((int)puVar11 + -4)" * (cast_expression "(uint *)((int)puVar11 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -4)" ( (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;" (assignment_expression "*(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161" (pointer_expression "*(undefined ***)((int)puVar11 + -8)" * (cast_expression "(undefined ***)((int)puVar11 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "ppuVar4 + -0x61161" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0xc) = 0xcf;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0xc) = 0xcf" (pointer_expression "*(undefined4 *)((int)puVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;" (assignment_expression "*(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3" (pointer_expression "*(int *)((int)puVar11 + -0x10)" * (cast_expression "(int *)((int)puVar11 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)ppuVar4 + -0x19cca3" (cast_expression "(int)ppuVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;" (assignment_expression "*(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6" (pointer_expression "*(undefined1 **)((int)puVar11 + -0x14)" * (cast_expression "(undefined1 **)((int)puVar11 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&LAB_000f39a6" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar11 = (uint *)(uVar23 - (int)local_4c);" (assignment_expression "puVar11 = (uint *)(uVar23 - (int)local_4c)" identifier = (cast_expression "(uint *)(uVar23 - (int)local_4c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar23 - (int)local_4c)" ( (binary_expression "uVar23 - (int)local_4c" identifier - (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_4c = *(uint **)(param_1 + 0xc);" (assignment_expression "local_4c = *(uint **)(param_1 + 0xc)" identifier = (pointer_expression "*(uint **)(param_1 + 0xc)" * (cast_expression "(uint **)(param_1 + 0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = (int)local_4c - (int)puVar11;" (assignment_expression "uVar24 = (int)local_4c - (int)puVar11" identifier = (binary_expression "(int)local_4c - (int)puVar11" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_48 = *(uint *)(param_1 + 0x10);" (assignment_expression "local_48 = *(uint *)(param_1 + 0x10)" identifier = (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11)) {\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);\n  }" if (parenthesized_expression "(*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11))" ( (binary_expression "*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11)" (pointer_expression "*(uint *)(param_1 + 0x10)" * (cast_expression "(uint *)(param_1 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) != (call_expression "(uint)(local_4c < puVar11)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_4c < puVar11)" ( (binary_expression "local_4c < puVar11" identifier < identifier) )))) )) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);\n  }" { (expression_statement "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);" (call_expression "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23)" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types",uVar23)" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar12 = (uint)CARRY4(uVar23,uVar24);" (assignment_expression "uVar12 = (uint)CARRY4(uVar23,uVar24)" identifier = (cast_expression "(uint)CARRY4(uVar23,uVar24)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar23,uVar24)" identifier (argument_list "(uVar23,uVar24)" ( identifier , identifier ))))) ;) (expression_statement "uVar24 = (uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24);" (assignment_expression "uVar24 = (uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24)" identifier = (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(uint *)(param_2 + 8) < uVar23 + uVar24)" ( (binary_expression "*(uint *)(param_2 + 8) < uVar23 + uVar24" (pointer_expression "*(uint *)(param_2 + 8)" * (cast_expression "(uint *)(param_2 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) < (binary_expression "uVar23 + uVar24" identifier + identifier)) )))) ;) (expression_statement "iVar21 = *(int *)(param_2 + 0xc) - uVar12;" (assignment_expression "iVar21 = *(int *)(param_2 + 0xc) - uVar12" identifier = (binary_expression "*(int *)(param_2 + 0xc) - uVar12" (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) - identifier)) ;) (if_statement "if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0) {\n    local_70 = uVar23 + *(int *)(param_2 + 0x10);\n    iVar21 = *(int *)(param_1 + 0x34);\n    if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }\n    uVar23 = FUN_000af350();\n  }" if (parenthesized_expression "((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0)" ( (binary_expression "(SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24))" ( (binary_expression "SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)" (call_expression "SBORROW4(*(int *)(param_2 + 0xc),uVar12)" identifier (argument_list "(*(int *)(param_2 + 0xc),uVar12)" ( (pointer_expression "*(int *)(param_2 + 0xc)" * (cast_expression "(int *)(param_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) , identifier ))) != (call_expression "SBORROW4(iVar21,uVar24)" identifier (argument_list "(iVar21,uVar24)" ( identifier , identifier )))) )) == (binary_expression "(int)(iVar21 - uVar24) < 0" (cast_expression "(int)(iVar21 - uVar24)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar21 - uVar24)" ( (binary_expression "iVar21 - uVar24" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n    local_70 = uVar23 + *(int *)(param_2 + 0x10);\n    iVar21 = *(int *)(param_1 + 0x34);\n    if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }\n    uVar23 = FUN_000af350();\n  }" { (expression_statement "local_70 = uVar23 + *(int *)(param_2 + 0x10);" (assignment_expression "local_70 = uVar23 + *(int *)(param_2 + 0x10)" identifier = (binary_expression "uVar23 + *(int *)(param_2 + 0x10)" identifier + (pointer_expression "*(int *)(param_2 + 0x10)" * (cast_expression "(int *)(param_2 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))))) ;) (expression_statement "iVar21 = *(int *)(param_1 + 0x34);" (assignment_expression "iVar21 = *(int *)(param_1 + 0x34)" identifier = (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }" if (parenthesized_expression "(*(int *)(iVar21 + 0x14) != 0)" ( (binary_expression "*(int *)(iVar21 + 0x14) != 0" (pointer_expression "*(int *)(iVar21 + 0x14)" * (cast_expression "(int *)(iVar21 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x14)" ( (binary_expression "iVar21 + 0x14" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }" { (expression_statement "iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);" (assignment_expression "iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20)" identifier = (pointer_expression "*(int *)(*(int *)(iVar21 + 0x14) + 0x20)" * (cast_expression "(int *)(*(int *)(iVar21 + 0x14) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar21 + 0x14) + 0x20)" ( (binary_expression "*(int *)(iVar21 + 0x14) + 0x20" (pointer_expression "*(int *)(iVar21 + 0x14)" * (cast_expression "(int *)(iVar21 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x14)" ( (binary_expression "iVar21 + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar22 = &local_bc;" (assignment_expression "puVar22 = &local_bc" identifier = (pointer_expression "&local_bc" & identifier)) ;) (if_statement "if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }" if (parenthesized_expression "((*(byte *)(iVar1 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar1 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar1 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar1 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar1 + 0x1c)" * (cast_expression "(byte *)(iVar1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1c)" ( (binary_expression "iVar1 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }" { (labeled_statement "LAB_000f3135:\n        ppuVar4 = local_58;" statement_identifier : (expression_statement "ppuVar4 = local_58;" (assignment_expression "ppuVar4 = local_58" identifier = identifier) ;)) (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" * (cast_expression "(undefined ***)((int)puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -8)" ( (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x611a3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;" (assignment_expression "*(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3" (pointer_expression "*(int *)((int)puVar22 + -0x10)" * (cast_expression "(int *)((int)puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)ppuVar4 + -0x19cca3" (cast_expression "(int)ppuVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;" (assignment_expression "*(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153" (pointer_expression "*(undefined **)((int)puVar22 + -0x14)" * (cast_expression "(undefined **)((int)puVar22 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_000f3153" & identifier)) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_bc = *(uint *)(iVar1 + 4);" (assignment_expression "local_bc = *(uint *)(iVar1 + 4)" identifier = (pointer_expression "*(uint *)(iVar1 + 4)" * (cast_expression "(uint *)(iVar1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 4)" ( (binary_expression "iVar1 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = *(uint *)(iVar1 + 8);" (assignment_expression "uVar23 = *(uint *)(iVar1 + 8)" identifier = (pointer_expression "*(uint *)(iVar1 + 8)" * (cast_expression "(uint *)(iVar1 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) ))))) ;) (expression_statement "local_b8 = uVar23;" (assignment_expression "local_b8 = uVar23" identifier = identifier) ;) (expression_statement "puVar22 = &local_bc;" (assignment_expression "puVar22 = &local_bc" identifier = (pointer_expression "&local_bc" & identifier)) ;) (if_statement "if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }" if (parenthesized_expression "((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0))" ( (binary_expression "(local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" ( (binary_expression "local_44 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)" ( (comma_expression "local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0" (assignment_expression "local_44 = *(int **)(param_1 + 0x40)" identifier = (pointer_expression "*(int **)(param_1 + 0x40)" * (cast_expression "(int **)(param_1 + 0x40)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) , (comma_expression "puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0" (assignment_expression "puVar22 = &local_bc" identifier = (pointer_expression "&local_bc" & identifier)) , (binary_expression "*(int **)(param_1 + 0x40) != (int *)0x0" (pointer_expression "*(int **)(param_1 + 0x40)" * (cast_expression "(int **)(param_1 + 0x40)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (compound_statement "{\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }" { (expression_statement "local_7c = -local_bc - 0x8000;" (assignment_expression "local_7c = -local_bc - 0x8000" identifier = (binary_expression "-local_bc - 0x8000" (unary_expression "-local_bc" - identifier) - number_literal)) ;) (expression_statement "local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);" (assignment_expression "local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc)" identifier = (binary_expression "(-1 - uVar23) - (uint)(0xffff8000 < local_bc)" (parenthesized_expression "(-1 - uVar23)" ( (binary_expression "-1 - uVar23" number_literal - identifier) )) - (call_expression "(uint)(0xffff8000 < local_bc)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff8000 < local_bc)" ( (binary_expression "0xffff8000 < local_bc" number_literal < identifier) ))))) ;) (expression_statement "puVar22 = &local_bc;" (assignment_expression "puVar22 = &local_bc" identifier = (pointer_expression "&local_bc" & identifier)) ;) (do_statement "do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );" do (compound_statement "{\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        }" { (expression_statement "iVar1 = local_44[1];" (assignment_expression "iVar1 = local_44[1]" identifier = (subscript_expression "local_44[1]" identifier [ number_literal ])) ;) (if_statement "if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }" { (expression_statement "piVar7 = (int *)local_44[2];" (assignment_expression "piVar7 = (int *)local_44[2]" identifier = (cast_expression "(int *)local_44[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar23 = local_44[5];" (assignment_expression "uVar23 = local_44[5]" identifier = (subscript_expression "local_44[5]" identifier [ number_literal ])) ;) (if_statement "if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }" if (parenthesized_expression "((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23)" ( (binary_expression "(uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23" (call_expression "(uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333)" ( (binary_expression "(piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333" (parenthesized_expression "(piVar7[0x38] - piVar7[0x37] >> 2)" ( (binary_expression "piVar7[0x38] - piVar7[0x37] >> 2" (binary_expression "piVar7[0x38] - piVar7[0x37]" (subscript_expression "piVar7[0x38]" identifier [ number_literal ]) - (subscript_expression "piVar7[0x37]" identifier [ number_literal ])) >> number_literal) )) * number_literal) ))) <= identifier) )) (compound_statement "{\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }" { (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" * (cast_expression "(undefined ***)((int)puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -8)" ( (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x6119f" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar22 + -0x10)" * (cast_expression "(int *)((int)puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_58 + -0x19cc7b" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }" if (parenthesized_expression "((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0)" ( (binary_expression "(*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0" (parenthesized_expression "(*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40)" ( (binary_expression "*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40" (pointer_expression "*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14)" * (cast_expression "(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7[0x37] + 0xb + uVar23 * 0x14)" ( (binary_expression "piVar7[0x37] + 0xb + uVar23 * 0x14" (binary_expression "piVar7[0x37] + 0xb" (subscript_expression "piVar7[0x37]" identifier [ number_literal ]) + number_literal) + (binary_expression "uVar23 * 0x14" identifier * number_literal)) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }" { (expression_statement "iVar21 = *(int *)(iVar21 + 0x20);" (assignment_expression "iVar21 = *(int *)(iVar21 + 0x20)" identifier = (pointer_expression "*(int *)(iVar21 + 0x20)" * (cast_expression "(int *)(iVar21 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x20)" ( (binary_expression "iVar21 + 0x20" identifier + number_literal) ))))) ;) }) (else_clause "else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }" else (compound_statement "{\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }" { (expression_statement "iVar21 = *(int *)(iVar21 + 0x1c);" (assignment_expression "iVar21 = *(int *)(iVar21 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar21 + 0x1c)" * (cast_expression "(int *)(iVar21 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x1c)" ( (binary_expression "iVar21 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }" { (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" * (cast_expression "(undefined ***)((int)puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -8)" ( (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x6121b" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x372;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x372" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;" (assignment_expression "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece" (pointer_expression "*(undefined ***)((int)puVar22 + -0x10)" * (cast_expression "(undefined ***)((int)puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x60ece" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf3911" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "iVar1 = *piVar7;" (assignment_expression "iVar1 = *piVar7" identifier = (pointer_expression "*piVar7" * identifier)) ;) (expression_statement "*(uint *)((int)puVar22 + -0xc) = uVar23;" (assignment_expression "*(uint *)((int)puVar22 + -0xc) = uVar23" (pointer_expression "*(uint *)((int)puVar22 + -0xc)" * (cast_expression "(uint *)((int)puVar22 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)puVar22 + -0x10) = piVar7;" (assignment_expression "*(int **)((int)puVar22 + -0x10) = piVar7" (pointer_expression "*(int **)((int)puVar22 + -0x10)" * (cast_expression "(int **)((int)puVar22 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pcVar3 = *(code **)(iVar1 + 0xa8);" (assignment_expression "pcVar3 = *(code **)(iVar1 + 0xa8)" identifier = (pointer_expression "*(code **)(iVar1 + 0xa8)" * (cast_expression "(code **)(iVar1 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0xa8)" ( (binary_expression "iVar1 + 0xa8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf348e" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_54 = (uint *)(*pcVar3)();" (assignment_expression "local_54 = (uint *)(*pcVar3)()" identifier = (cast_expression "(uint *)(*pcVar3)()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000f2fbb:\n            piVar7 = local_44;" statement_identifier : (expression_statement "piVar7 = local_44;" (assignment_expression "piVar7 = local_44" identifier = identifier) ;)) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (if_statement "if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;" if (parenthesized_expression "((*(byte *)(iVar21 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar21 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar21 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar21 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar21 + 0x1c)" * (cast_expression "(byte *)(iVar21 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x1c)" ( (binary_expression "iVar21 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f3135;" goto statement_identifier ;)) (expression_statement "local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));" (assignment_expression "local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4))" identifier = (cast_expression "(uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_7c + (int)local_54 + *(uint *)(iVar21 + 4))" ( (binary_expression "local_7c + (int)local_54 + *(uint *)(iVar21 + 4)" (binary_expression "local_7c + (int)local_54" identifier + (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier)) + (pointer_expression "*(uint *)(iVar21 + 4)" * (cast_expression "(uint *)(iVar21 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 4)" ( (binary_expression "iVar21 + 4" identifier + number_literal) ))))) )))) ;) (expression_statement "local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));" (assignment_expression "local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4))" identifier = (binary_expression "local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4))" (binary_expression "local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8)" (binary_expression "local_78 + (uint)CARRY4(local_7c,(uint)local_54)" identifier + (cast_expression "(uint)CARRY4(local_7c,(uint)local_54)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_7c,(uint)local_54)" identifier (argument_list "(local_7c,(uint)local_54)" ( identifier , (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) + (pointer_expression "*(int *)(iVar21 + 8)" * (cast_expression "(int *)(iVar21 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 8)" ( (binary_expression "iVar21 + 8" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4))" identifier (argument_list "(local_7c + (int)local_54,*(uint *)(iVar21 + 4))" ( (binary_expression "local_7c + (int)local_54" identifier + (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier)) , (pointer_expression "*(uint *)(iVar21 + 4)" * (cast_expression "(uint *)(iVar21 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 4)" ( (binary_expression "iVar21 + 4" identifier + number_literal) )))) )))))) ;) (if_statement "if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }" if (parenthesized_expression "((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0))" ( (binary_expression "(local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)" (parenthesized_expression "(local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0)" ( (binary_expression "local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0" (binary_expression "local_60 + (uint)((uint *)0x7fff7fff < local_64)" identifier + (call_expression "(uint)((uint *)0x7fff7fff < local_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint *)0x7fff7fff < local_64)" ( (binary_expression "(uint *)0x7fff7fff < local_64" (cast_expression "(uint *)0x7fff7fff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )))) != number_literal) )) || (parenthesized_expression "(puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)" ( (comma_expression "puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0" (assignment_expression "puVar5 = (undefined1 *)puVar22" identifier = (cast_expression "(undefined1 *)puVar22" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "((uint)local_64 & 7) != 0" (parenthesized_expression "((uint)local_64 & 7)" ( (binary_expression "(uint)local_64 & 7" (cast_expression "(uint)local_64" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }" { (expression_statement "*(int *)((int)puVar22 + -0xc) = local_44[1];" (assignment_expression "*(int *)((int)puVar22 + -0xc) = local_44[1]" (pointer_expression "*(int *)((int)puVar22 + -0xc)" * (cast_expression "(int *)((int)puVar22 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_44[1]" identifier [ number_literal ])) ;) (expression_statement "*(uint ***)((int)puVar22 + -0x10) = &local_34;" (assignment_expression "*(uint ***)((int)puVar22 + -0x10) = &local_34" (pointer_expression "*(uint ***)((int)puVar22 + -0x10)" * (cast_expression "(uint ***)((int)puVar22 + -0x10)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf3008" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0034dd40();" (call_expression "FUN_0034dd40()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar11 = local_34;" (assignment_expression "puVar11 = local_34" identifier = identifier) ;) (expression_statement "uVar2 = *(undefined4 *)(piVar7[2] + 4);" (assignment_expression "uVar2 = *(undefined4 *)(piVar7[2] + 4)" identifier = (pointer_expression "*(undefined4 *)(piVar7[2] + 4)" * (cast_expression "(undefined4 *)(piVar7[2] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar7[2] + 4)" ( (binary_expression "piVar7[2] + 4" (subscript_expression "piVar7[2]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "*(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;" (assignment_expression "*(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52" (pointer_expression "*(undefined ***)((int)puVar22 + -0x14)" * (cast_expression "(undefined ***)((int)puVar22 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x60d52" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3022" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x18)" ( (binary_expression "(int)puVar22 + -0x18" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint **)((int)puVar22 + -0xc) = puVar11;" (assignment_expression "*(uint **)((int)puVar22 + -0xc) = puVar11" (pointer_expression "*(uint **)((int)puVar22 + -0xc)" * (cast_expression "(uint **)((int)puVar22 + -0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x10) = uVar2;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x10) = uVar2" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = uVar9;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = uVar9" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3032" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x18)" ( (binary_expression "(int)puVar22 + -0x18" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar5 = (undefined1 *)((int)puVar22 + -4);" (assignment_expression "puVar5 = (undefined1 *)((int)puVar22 + -4)" identifier = (cast_expression "(undefined1 *)((int)puVar22 + -4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -4)" ( (binary_expression "(int)puVar22 + -4" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }" if (parenthesized_expression "(local_34 != local_2c)" ( (binary_expression "local_34 != local_2c" identifier != identifier) )) (compound_statement "{\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }" { (expression_statement "*(uint **)((int)puVar22 + -0x14) = local_34;" (assignment_expression "*(uint **)((int)puVar22 + -0x14) = local_34" (pointer_expression "*(uint **)((int)puVar22 + -0x14)" * (cast_expression "(uint **)((int)puVar22 + -0x14)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3048" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x18)" ( (binary_expression "(int)puVar22 + -0x18" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar5 = (undefined1 *)((int)puVar22 + -4);" (assignment_expression "puVar5 = (undefined1 *)((int)puVar22 + -4)" identifier = (cast_expression "(undefined1 *)((int)puVar22 + -4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -4)" ( (binary_expression "(int)puVar22 + -4" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) })) (expression_statement "puVar22 = (uint *)puVar5;" (assignment_expression "puVar22 = (uint *)puVar5" identifier = (cast_expression "(uint *)puVar5" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar11 = local_64;" (assignment_expression "puVar11 = local_64" identifier = identifier) ;) (expression_statement "local_4c = *(uint **)(param_1 + 0x34);" (assignment_expression "local_4c = *(uint **)(param_1 + 0x34)" identifier = (pointer_expression "*(uint **)(param_1 + 0x34)" * (cast_expression "(uint **)(param_1 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "local_68 = local_4c[2] & 2;" (assignment_expression "local_68 = local_4c[2] & 2" identifier = (binary_expression "local_4c[2] & 2" (subscript_expression "local_4c[2]" identifier [ number_literal ]) & number_literal)) ;) (if_statement "if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }" if (parenthesized_expression "((local_4c[2] & 2) == 0)" ( (binary_expression "(local_4c[2] & 2) == 0" (parenthesized_expression "(local_4c[2] & 2)" ( (binary_expression "local_4c[2] & 2" (subscript_expression "local_4c[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }" { (expression_statement "iVar21 = *(int *)(*local_74 + 8);" (assignment_expression "iVar21 = *(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 (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }" { (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" * (cast_expression "(undefined ***)((int)puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -8)" ( (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x61176" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;" (assignment_expression "*(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93" (pointer_expression "*(int *)((int)puVar22 + -0x10)" * (cast_expression "(int *)((int)puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_58 + -0x1a1d93" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));" (assignment_expression "local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd))" identifier = (call_expression "CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd))" identifier (argument_list "(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd))" ( (field_expression "local_5c._1_3_" identifier . field_identifier) , (pointer_expression "*(undefined1 *)(iVar21 + 0x2bdd)" * (cast_expression "(undefined1 *)(iVar21 + 0x2bdd)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x2bdd)" ( (binary_expression "iVar21 + 0x2bdd" identifier + number_literal) )))) )))) ;) (if_statement "if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }" if (parenthesized_expression "((char)local_4c[0x27] == '\0')" ( (binary_expression "(char)local_4c[0x27] == '\0'" (cast_expression "(char)local_4c[0x27]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_4c[0x27]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }" { (expression_statement "local_69 = false;" (assignment_expression "local_69 = false" identifier = false) ;) (expression_statement "local_64 = (uint *)0x0;" (assignment_expression "local_64 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar23 = local_44[6];" (assignment_expression "uVar23 = local_44[6]" identifier = (subscript_expression "local_44[6]" identifier [ number_literal ])) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);" (assignment_expression "local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10)" identifier = (cast_expression "(uint *)((uint)(puVar11 + 0x2000) >> 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar11 + 0x2000) >> 0x10)" ( (binary_expression "(uint)(puVar11 + 0x2000) >> 0x10" (call_expression "(uint)(puVar11 + 0x2000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar11 + 0x2000)" ( (binary_expression "puVar11 + 0x2000" identifier + number_literal) ))) >> number_literal) )))) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) }) (else_clause "else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }" else (compound_statement "{\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }" { (expression_statement "*(undefined4 *)((int)puVar22 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)puVar22 + -4) = 0" (pointer_expression "*(undefined4 *)((int)puVar22 + -4)" * (cast_expression "(undefined4 *)((int)puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -4)" ( (binary_expression "(int)puVar22 + -4" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -8) = 0x18;" (assignment_expression "*(undefined4 *)((int)puVar22 + -8) = 0x18" (pointer_expression "*(undefined4 *)((int)puVar22 + -8)" * (cast_expression "(undefined4 *)((int)puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -8)" ( (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);" (assignment_expression "*(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54)" (pointer_expression "*(uint *)((int)puVar22 + -0xc)" * (cast_expression "(uint *)((int)puVar22 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_50 + -1 + (uint)((uint *)0x17 < local_54)" (binary_expression "local_50 + -1" identifier + number_literal) + (call_expression "(uint)((uint *)0x17 < local_54)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint *)0x17 < local_54)" ( (binary_expression "(uint *)0x17 < local_54" (cast_expression "(uint *)0x17" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))))) ;) (expression_statement "*(uint **)((int)puVar22 + -0x10) = local_54 + -6;" (assignment_expression "*(uint **)((int)puVar22 + -0x10) = local_54 + -6" (pointer_expression "*(uint **)((int)puVar22 + -0x10)" * (cast_expression "(uint **)((int)puVar22 + -0x10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_54 + -6" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar23 = FUN_00442bb0();" (assignment_expression "uVar23 = FUN_00442bb0()" identifier = (call_expression "FUN_00442bb0()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar11 = local_64;" (assignment_expression "puVar11 = local_64" identifier = identifier) ;) (expression_statement "uVar24 = local_4c[10];" (assignment_expression "uVar24 = local_4c[10]" identifier = (subscript_expression "local_4c[10]" identifier [ number_literal ])) ;) (if_statement "if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }" if (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) (compound_statement "{\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }" { (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" * (cast_expression "(undefined ***)((int)puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -8)" ( (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x61211" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x3a3" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;" (assignment_expression "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece" (pointer_expression "*(undefined ***)((int)puVar22 + -0x10)" * (cast_expression "(undefined ***)((int)puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x60ece" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf392f" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;" (assignment_expression "uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8" identifier = (binary_expression "(-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8" (binary_expression "(-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40" (parenthesized_expression "(-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4)" ( (binary_expression "-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4" (unary_expression "-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0)" - (call_expression "(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0)" ( (binary_expression "(*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2)" ( (binary_expression "*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2" (pointer_expression "*(uint *)(*(int *)(uVar24 + 0x2c) + 8)" * (cast_expression "(uint *)(*(int *)(uVar24 + 0x2c) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(uVar24 + 0x2c) + 8)" ( (binary_expression "*(int *)(uVar24 + 0x2c) + 8" (pointer_expression "*(int *)(uVar24 + 0x2c)" * (cast_expression "(int *)(uVar24 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar24 + 0x2c)" ( (binary_expression "uVar24 + 0x2c" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal) + (binary_expression "uVar23 * 8" identifier * number_literal))) ;) (expression_statement "local_94 = uVar12;" (assignment_expression "local_94 = uVar12" identifier = identifier) ;) (if_statement "if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }" if (parenthesized_expression "(0x8000 < uVar23)" ( (binary_expression "0x8000 < uVar23" number_literal < identifier) )) (compound_statement "{\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }" { (expression_statement "uVar23 = uVar23 * 4 - 0x20000;" (assignment_expression "uVar23 = uVar23 * 4 - 0x20000" identifier = (binary_expression "uVar23 * 4 - 0x20000" (binary_expression "uVar23 * 4" identifier * number_literal) - number_literal)) ;) (expression_statement "local_94 = uVar12 + uVar23;" (assignment_expression "local_94 = uVar12 + uVar23" identifier = (binary_expression "uVar12 + uVar23" identifier + identifier)) ;) (expression_statement "local_90 = (uint)CARRY4(uVar12,uVar23);" (assignment_expression "local_90 = (uint)CARRY4(uVar12,uVar23)" identifier = (cast_expression "(uint)CARRY4(uVar12,uVar23)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar12,uVar23)" identifier (argument_list "(uVar12,uVar23)" ( identifier , identifier ))))) ;) })) (if_statement "if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;" if (parenthesized_expression "((*(byte *)(uVar24 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(uVar24 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(uVar24 + 0x1c) & 1)" ( (binary_expression "*(byte *)(uVar24 + 0x1c) & 1" (pointer_expression "*(byte *)(uVar24 + 0x1c)" * (cast_expression "(byte *)(uVar24 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar24 + 0x1c)" ( (binary_expression "uVar24 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f3135;" goto statement_identifier ;)) (expression_statement "local_b4 = *(uint *)(uVar24 + 4);" (assignment_expression "local_b4 = *(uint *)(uVar24 + 4)" identifier = (pointer_expression "*(uint *)(uVar24 + 4)" * (cast_expression "(uint *)(uVar24 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar24 + 4)" ( (binary_expression "uVar24 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);" (assignment_expression "uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f)" identifier = (binary_expression "1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f)" number_literal << (parenthesized_expression "((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f)" ( (binary_expression "(byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f" (binary_expression "(byte)*(undefined4 *)(iVar21 + 0x2b20)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(undefined4 *)(iVar21 + 0x2b20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x2b20)" ( (binary_expression "iVar21 + 0x2b20" identifier + number_literal) )))) & number_literal) )))) ;) (expression_statement "local_b0 = *(int *)(uVar24 + 8);" (assignment_expression "local_b0 = *(int *)(uVar24 + 8)" identifier = (pointer_expression "*(int *)(uVar24 + 8)" * (cast_expression "(int *)(uVar24 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar24 + 8)" ( (binary_expression "uVar24 + 8" identifier + number_literal) ))))) ;) (if_statement "if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }" if (parenthesized_expression "(uVar23 < 0x20)" ( (binary_expression "uVar23 < 0x20" identifier < number_literal) )) (compound_statement "{\n                  uVar23 = 0x20;\n                }" { (expression_statement "uVar23 = 0x20;" (assignment_expression "uVar23 = 0x20" identifier = number_literal) ;) })) (expression_statement "bVar26 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar26 = *(byte *)(param_1 + 0x1c)" identifier = (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);" (assignment_expression "local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26)" identifier = (cast_expression "(uint *)CONCAT31(local_54._1_3_,bVar26)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_54._1_3_,bVar26)" identifier (argument_list "(local_54._1_3_,bVar26)" ( (field_expression "local_54._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "local_69 = (bool)(bVar26 & 1);" (assignment_expression "local_69 = (bool)(bVar26 & 1)" identifier = (cast_expression "(bool)(bVar26 & 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar26 & 1)" ( (binary_expression "bVar26 & 1" identifier & number_literal) )))) ;) (if_statement "if ((bVar26 & 1) == 0) goto LAB_000f3135;" if (parenthesized_expression "((bVar26 & 1) == 0)" ( (binary_expression "(bVar26 & 1) == 0" (parenthesized_expression "(bVar26 & 1)" ( (binary_expression "bVar26 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f3135;" goto statement_identifier ;)) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_9c = 4;" (assignment_expression "local_9c = 4" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);" (assignment_expression "uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4)" identifier = (binary_expression "(uVar23 - 1) + *(uint *)(param_1 + 4)" (parenthesized_expression "(uVar23 - 1)" ( (binary_expression "uVar23 - 1" identifier - number_literal) )) + (pointer_expression "*(uint *)(param_1 + 4)" * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))))) ;) (expression_statement "local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;" (assignment_expression "local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23" identifier = (binary_expression "*(uint *)(param_1 + 0x70) + uVar12 & -uVar23" (binary_expression "*(uint *)(param_1 + 0x70) + uVar12" (pointer_expression "*(uint *)(param_1 + 0x70)" * (cast_expression "(uint *)(param_1 + 0x70)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))) + identifier) & (unary_expression "-uVar23" - identifier))) ;) (expression_statement "local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);" (assignment_expression "local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0)" identifier = (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0)" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12)" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8)" (parenthesized_expression "((uVar23 != 0) - 1)" ( (binary_expression "(uVar23 != 0) - 1" (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) - number_literal) )) + (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" identifier (argument_list "(uVar23 - 1,*(uint *)(param_1 + 4))" ( (binary_expression "uVar23 - 1" identifier - number_literal) , (pointer_expression "*(uint *)(param_1 + 4)" * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) ))))) + (cast_expression "(uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(*(uint *)(param_1 + 0x70),uVar12)" identifier (argument_list "(*(uint *)(param_1 + 0x70),uVar12)" ( (pointer_expression "*(uint *)(param_1 + 0x70)" * (cast_expression "(uint *)(param_1 + 0x70)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))) , identifier ))))) & (unary_expression "-(uint)(uVar23 != 0)" - (call_expression "(uint)(uVar23 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )))))) ;) (expression_statement "uVar23 = local_44[6];" (assignment_expression "uVar23 = local_44[6]" identifier = (subscript_expression "local_44[6]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;" (assignment_expression "uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1" identifier = (binary_expression "*(byte *)((int)local_44 + 0x1f) >> 6 & 1" (binary_expression "*(byte *)((int)local_44 + 0x1f) >> 6" (pointer_expression "*(byte *)((int)local_44 + 0x1f)" * (cast_expression "(byte *)((int)local_44 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + 0x1f)" ( (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal)) ;) (expression_statement "local_a4 = uVar23;" (assignment_expression "local_a4 = uVar23" identifier = identifier) ;) (expression_statement "local_ac = uVar12 * 4;" (assignment_expression "local_ac = uVar12 * 4" identifier = (binary_expression "uVar12 * 4" identifier * number_literal)) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (expression_statement "local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);" (assignment_expression "local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10)" identifier = (cast_expression "(uint *)((uint)(local_64 + 0x2000) >> 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(local_64 + 0x2000) >> 0x10)" ( (binary_expression "(uint)(local_64 + 0x2000) >> 0x10" (call_expression "(uint)(local_64 + 0x2000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_64 + 0x2000)" ( (binary_expression "local_64 + 0x2000" identifier + number_literal) ))) >> number_literal) )))) ;) (if_statement "if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }" if (parenthesized_expression "(local_54 == (uint *)0x0)" ( (binary_expression "local_54 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  local_9c = 0;\n                  local_98 = 0;\n                }" { (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) })) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" identifier = number_literal) ;) (expression_statement "uVar13 = local_5c & 0xff;" (assignment_expression "uVar13 = local_5c & 0xff" identifier = (binary_expression "local_5c & 0xff" identifier & number_literal)) ;) (expression_statement "local_64 = (uint *)0x0;" (assignment_expression "local_64 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }" if (parenthesized_expression "(local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10))" ( (binary_expression "local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)" identifier != (cast_expression "(uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)" ( (binary_expression "(uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10" (call_expression "(uint)(puVar11 + uVar13 * 2 + 0x2002)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar11 + uVar13 * 2 + 0x2002)" ( (binary_expression "puVar11 + uVar13 * 2 + 0x2002" (binary_expression "puVar11 + uVar13 * 2" identifier + (binary_expression "uVar13 * 2" identifier * number_literal)) + number_literal) ))) >> number_literal) )))) )) (compound_statement "{\n                  local_64 = (uint *)0x4;\n                }" { (expression_statement "local_64 = (uint *)0x4;" (assignment_expression "local_64 = (uint *)0x4" identifier = (cast_expression "(uint *)0x4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "uVar25 = local_b4 + uVar13 * -4;" (assignment_expression "uVar25 = local_b4 + uVar13 * -4" identifier = (binary_expression "local_b4 + uVar13 * -4" identifier + (binary_expression "uVar13 * -4" identifier * number_literal))) ;) (expression_statement "uVar14 = uVar25 - 0x14;" (assignment_expression "uVar14 = uVar25 - 0x14" identifier = (binary_expression "uVar25 - 0x14" identifier - number_literal)) ;) (expression_statement "uVar15 = uVar14 - local_8c;" (assignment_expression "uVar15 = uVar14 - local_8c" identifier = (binary_expression "uVar14 - local_8c" identifier - identifier)) ;) (expression_statement "uVar16 = uVar15 - uVar23;" (assignment_expression "uVar16 = uVar15 - uVar23" identifier = (binary_expression "uVar15 - uVar23" identifier - identifier)) ;) (expression_statement "uVar12 = uVar16 + uVar12 * -4;" (assignment_expression "uVar12 = uVar16 + uVar12 * -4" identifier = (binary_expression "uVar16 + uVar12 * -4" identifier + (binary_expression "uVar12 * -4" identifier * number_literal))) ;) (expression_statement "uVar17 = uVar12 + local_94;" (assignment_expression "uVar17 = uVar12 + local_94" identifier = (binary_expression "uVar12 + local_94" identifier + identifier)) ;) (expression_statement "uVar18 = uVar17 - local_9c;" (assignment_expression "uVar18 = uVar17 - local_9c" identifier = (binary_expression "uVar17 - local_9c" identifier - identifier)) ;) (expression_statement "puVar19 = (uint *)(uVar18 - (int)local_64);" (assignment_expression "puVar19 = (uint *)(uVar18 - (int)local_64)" identifier = (cast_expression "(uint *)(uVar18 - (int)local_64)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar18 - (int)local_64)" ( (binary_expression "uVar18 - (int)local_64" identifier - (cast_expression "(int)local_64" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);" (assignment_expression "local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64)" identifier = (binary_expression "((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64)" (parenthesized_expression "((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c))" ( (binary_expression "(((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)" (parenthesized_expression "(((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94))" ( (binary_expression "((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)" (binary_expression "((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90" (parenthesized_expression "((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac))" ( (binary_expression "(((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)" (parenthesized_expression "(((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23))" ( (binary_expression "((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)" (parenthesized_expression "((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c))" ( (binary_expression "(((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)" (parenthesized_expression "(((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88)" ( (binary_expression "((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88" (parenthesized_expression "((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25))" ( (binary_expression "(*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)" (binary_expression "(*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1" (parenthesized_expression "(*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4))" ( (binary_expression "*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)" (pointer_expression "*(int *)(uVar24 + 8)" * (cast_expression "(int *)(uVar24 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar24 + 8)" ( (binary_expression "uVar24 + 8" identifier + number_literal) )))) - (call_expression "(uint)(local_b4 < uVar13 * 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_b4 < uVar13 * 4)" ( (binary_expression "local_b4 < uVar13 * 4" identifier < (binary_expression "uVar13 * 4" identifier * number_literal)) )))) )) + number_literal) + (call_expression "(uint)(0x13 < uVar25)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x13 < uVar25)" ( (binary_expression "0x13 < uVar25" number_literal < identifier) )))) )) - identifier) )) - (call_expression "(uint)(uVar14 < local_8c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < local_8c)" ( (binary_expression "uVar14 < local_8c" identifier < identifier) )))) )) - (call_expression "(uint)(uVar15 < uVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar15 < uVar23)" ( (binary_expression "uVar15 < uVar23" identifier < identifier) )))) )) - (call_expression "(uint)(uVar16 < local_ac)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar16 < local_ac)" ( (binary_expression "uVar16 < local_ac" identifier < identifier) )))) )) + identifier) + (cast_expression "(uint)CARRY4(uVar12,local_94)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar12,local_94)" identifier (argument_list "(uVar12,local_94)" ( identifier , identifier ))))) )) - (call_expression "(uint)(uVar17 < local_9c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < local_9c)" ( (binary_expression "uVar17 < local_9c" identifier < identifier) )))) )) - (call_expression "(uint)(uVar18 < local_64)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar18 < local_64)" ( (binary_expression "uVar18 < local_64" identifier < identifier) ))))) ;) (expression_statement "local_64 = puVar19;" (assignment_expression "local_64 = puVar19" identifier = identifier) ;) (expression_statement "iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);" (assignment_expression "iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19)" identifier = (binary_expression "local_60 + (uint)((uint *)0xfdffffff < puVar19)" identifier + (call_expression "(uint)((uint *)0xfdffffff < puVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint *)0xfdffffff < puVar19)" ( (binary_expression "(uint *)0xfdffffff < puVar19" (cast_expression "(uint *)0xfdffffff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) ))))) ;) (expression_statement "bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);" (assignment_expression "bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000)" identifier = (binary_expression "iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000)" (binary_expression "iVar21 != 0" identifier != number_literal) || (binary_expression "(uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000)" (binary_expression "(uint)-iVar21" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)((uint *)0x3ffffff < puVar19 + 0x800000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint *)0x3ffffff < puVar19 + 0x800000)" ( (binary_expression "(uint *)0x3ffffff < puVar19 + 0x800000" (cast_expression "(uint *)0x3ffffff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "puVar19 + 0x800000" identifier + number_literal)) )))))) ;) }))) }) (else_clause "else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }" else (compound_statement "{\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }" { (expression_statement "local_5c = (uint)local_5c._1_3_ << 8;" (assignment_expression "local_5c = (uint)local_5c._1_3_ << 8" identifier = (binary_expression "(uint)local_5c._1_3_ << 8" (cast_expression "(uint)local_5c._1_3_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_5c._1_3_" identifier . field_identifier)) << number_literal)) ;) (expression_statement "local_69 = false;" (assignment_expression "local_69 = false" identifier = false) ;) (expression_statement "puVar19 = local_64 + 0x2000;" (assignment_expression "puVar19 = local_64 + 0x2000" identifier = (binary_expression "local_64 + 0x2000" identifier + number_literal)) ;) (expression_statement "local_64 = (uint *)0x0;" (assignment_expression "local_64 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar23 = local_44[6];" (assignment_expression "uVar23 = local_44[6]" identifier = (subscript_expression "local_44[6]" identifier [ number_literal ])) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_54 = (uint *)((uint)puVar19 >> 0x10);" (assignment_expression "local_54 = (uint *)((uint)puVar19 >> 0x10)" identifier = (cast_expression "(uint *)((uint)puVar19 >> 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar19 >> 0x10)" ( (binary_expression "(uint)puVar19 >> 0x10" (cast_expression "(uint)puVar19" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) }))) (expression_statement "piVar7 = (int *)(uVar23 + local_70);" (assignment_expression "piVar7 = (int *)(uVar23 + local_70)" identifier = (cast_expression "(int *)(uVar23 + local_70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar23 + local_70)" ( (binary_expression "uVar23 + local_70" identifier + identifier) )))) ;) (expression_statement "uVar23 = local_44[1];" (assignment_expression "uVar23 = local_44[1]" identifier = (subscript_expression "local_44[1]" identifier [ number_literal ])) ;) (if_statement "if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" if (parenthesized_expression "(local_4c[0x2d] == 0)" ( (binary_expression "local_4c[0x2d] == 0" (subscript_expression "local_4c[0x2d]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" { (expression_statement "bVar20 = *(byte *)((int)local_44 + 0x1f);" (assignment_expression "bVar20 = *(byte *)((int)local_44 + 0x1f)" identifier = (pointer_expression "*(byte *)((int)local_44 + 0x1f)" * (cast_expression "(byte *)((int)local_44 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + 0x1f)" ( (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }) (else_clause "else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" else (if_statement "if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" if (parenthesized_expression "((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d]))" ( (binary_expression "(local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])" (parenthesized_expression "(local_4c[0x2c] == uVar23)" ( (binary_expression "local_4c[0x2c] == uVar23" (subscript_expression "local_4c[0x2c]" identifier [ number_literal ]) == identifier) )) || (parenthesized_expression "(uVar23 == local_4c[0x2d])" ( (binary_expression "uVar23 == local_4c[0x2d]" identifier == (subscript_expression "local_4c[0x2d]" identifier [ number_literal ])) ))) )) (compound_statement "{\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }" { (expression_statement "*piVar7 = -0x169d0000;" (assignment_expression "*piVar7 = -0x169d0000" (pointer_expression "*piVar7" * identifier) = number_literal) ;) (expression_statement "piVar7[1] = -0x167cfff8;" (assignment_expression "piVar7[1] = -0x167cfff8" (subscript_expression "piVar7[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar7[2] = 0x7c601b78;" (assignment_expression "piVar7[2] = 0x7c601b78" (subscript_expression "piVar7[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar7[3] = 0x2c2b0000;" (assignment_expression "piVar7[3] = 0x2c2b0000" (subscript_expression "piVar7[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar7[4] = 0x7c6c6a14;" (assignment_expression "piVar7[4] = 0x7c6c6a14" (subscript_expression "piVar7[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar7[5] = 0x4d820020;" (assignment_expression "piVar7[5] = 0x4d820020" (subscript_expression "piVar7[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar7[6] = 0x7c030378;" (assignment_expression "piVar7[6] = 0x7c030378" (subscript_expression "piVar7[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "bVar20 = *(byte *)((int)local_44 + 0x1f);" (assignment_expression "bVar20 = *(byte *)((int)local_44 + 0x1f)" identifier = (pointer_expression "*(byte *)((int)local_44 + 0x1f)" * (cast_expression "(byte *)((int)local_44 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + 0x1f)" ( (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar26 = local_69;" (assignment_expression "bVar26 = local_69" identifier = identifier) ;) (if_statement "if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }" if (parenthesized_expression "((char)bVar20 < '\0')" ( (binary_expression "(char)bVar20 < '\0'" (cast_expression "(char)bVar20" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                piVar7 = piVar7 + 7;\n              }" { (expression_statement "piVar7 = piVar7 + 7;" (assignment_expression "piVar7 = piVar7 + 7" identifier = (binary_expression "piVar7 + 7" identifier + number_literal)) ;) }) (else_clause "else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }" else (compound_statement "{\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }" { (expression_statement "piVar7[7] = 0x7d6802a6;" (assignment_expression "piVar7[7] = 0x7d6802a6" (subscript_expression "piVar7[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;" (assignment_expression "piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008" (subscript_expression "piVar7[8]" identifier [ number_literal ]) = (binary_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008" (parenthesized_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18)" ( (binary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18" (unary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" - (call_expression "(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 8)" ( (binary_expression "*(int *)(param_1 + 0x34) + 8" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "bVar20 = *(byte *)((int)local_44 + 0x1f);" (assignment_expression "bVar20 = *(byte *)((int)local_44 + 0x1f)" identifier = (pointer_expression "*(byte *)((int)local_44 + 0x1f)" * (cast_expression "(byte *)((int)local_44 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + 0x1f)" ( (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "piVar7 = piVar7 + 9;" (assignment_expression "piVar7 = piVar7 + 9" identifier = (binary_expression "piVar7 + 9" identifier + number_literal)) ;) }))) }) (else_clause "else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" else (compound_statement "{\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" { (expression_statement "bVar20 = *(byte *)((int)local_44 + 0x1f);" (assignment_expression "bVar20 = *(byte *)((int)local_44 + 0x1f)" identifier = (pointer_expression "*(byte *)((int)local_44 + 0x1f)" * (cast_expression "(byte *)((int)local_44 + 0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + 0x1f)" ( (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))))) (if_statement "if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }" if (parenthesized_expression "(local_54 == (uint *)0x0)" ( (binary_expression "local_54 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }" { (expression_statement "piVar10 = piVar7;" (assignment_expression "piVar10 = piVar7" identifier = identifier) ;) (if_statement "if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }" if (parenthesized_expression "((bVar20 & 0x40) != 0)" ( (binary_expression "(bVar20 & 0x40) != 0" (parenthesized_expression "(bVar20 & 0x40)" ( (binary_expression "bVar20 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }" { (expression_statement "piVar10 = piVar7 + 1;" (assignment_expression "piVar10 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "*piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;" (assignment_expression "*piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018" (pointer_expression "*piVar7" * identifier) = (binary_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018" (parenthesized_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10)" ( (binary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10" (unary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" - (call_expression "(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 8)" ( (binary_expression "*(int *)(param_1 + 0x34) + 8" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) })) (expression_statement "*piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;" (assignment_expression "*piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000" (pointer_expression "*piVar10" * identifier) = (binary_expression "((uint)puVar11 & 0xffff) + 0xe9820000" (parenthesized_expression "((uint)puVar11 & 0xffff)" ( (binary_expression "(uint)puVar11 & 0xffff" (cast_expression "(uint)puVar11" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) + number_literal)) ;) (if_statement "if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }" if (parenthesized_expression "(local_68 == 0)" ( (binary_expression "local_68 == 0" identifier == number_literal) )) (compound_statement "{\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }" { (if_statement "if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }" if (parenthesized_expression "((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0)" ( (binary_expression "(uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0" (binary_expression "(uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10" (call_expression "(uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar11 + (local_5c & 0xff) * 2 + 0x2002)" ( (binary_expression "puVar11 + (local_5c & 0xff) * 2 + 0x2002" (binary_expression "puVar11 + (local_5c & 0xff) * 2" identifier + (binary_expression "(local_5c & 0xff) * 2" (parenthesized_expression "(local_5c & 0xff)" ( (binary_expression "local_5c & 0xff" identifier & number_literal) )) * number_literal)) + number_literal) ))) >> number_literal) == number_literal) )) (compound_statement "{\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }" { (expression_statement "piVar7 = piVar10 + 1;" (assignment_expression "piVar7 = piVar10 + 1" identifier = (binary_expression "piVar10 + 1" identifier + number_literal)) ;) (expression_statement "local_54 = puVar11;" (assignment_expression "local_54 = puVar11" identifier = identifier) ;) (expression_statement "iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;" (assignment_expression "iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000" identifier = (binary_expression "((uint)(puVar11 + 2) & 0xffff) + 0xe8420000" (parenthesized_expression "((uint)(puVar11 + 2) & 0xffff)" ( (binary_expression "(uint)(puVar11 + 2) & 0xffff" (call_expression "(uint)(puVar11 + 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar11 + 2)" ( (binary_expression "puVar11 + 2" identifier + number_literal) ))) & number_literal) )) + number_literal)) ;) }) (else_clause "else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }" else (compound_statement "{\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }" { (expression_statement "piVar7 = piVar10 + 2;" (assignment_expression "piVar7 = piVar10 + 2" identifier = (binary_expression "piVar10 + 2" identifier + number_literal)) ;) (expression_statement "piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;" (assignment_expression "piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000" (subscript_expression "piVar10[1]" identifier [ number_literal ]) = (binary_expression "((uint)puVar11 & 0xffff) + 0x38420000" (parenthesized_expression "((uint)puVar11 & 0xffff)" ( (binary_expression "(uint)puVar11 & 0xffff" (cast_expression "(uint)puVar11" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) + number_literal)) ;) (expression_statement "iVar21 = -0x17bdfff8;" (assignment_expression "iVar21 = -0x17bdfff8" identifier = number_literal) ;) }))) (expression_statement "*piVar7 = 0x7d8903a6;" (assignment_expression "*piVar7 = 0x7d8903a6" (pointer_expression "*piVar7" * identifier) = number_literal) ;) (expression_statement "piVar8 = piVar7 + 1;" (assignment_expression "piVar8 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (if_statement "if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }" if (parenthesized_expression "((bool)bVar26 != false)" ( (binary_expression "(bool)bVar26 != false" (cast_expression "(bool)bVar26" ( (type_descriptor "bool" primitive_type) ) identifier) != false) )) (compound_statement "{\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }" { (expression_statement "piVar7[1] = 0x7d8b6278;" (assignment_expression "piVar7[1] = 0x7d8b6278" (subscript_expression "piVar7[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar8 = piVar7 + 3;" (assignment_expression "piVar8 = piVar7 + 3" identifier = (binary_expression "piVar7 + 3" identifier + number_literal)) ;) (expression_statement "piVar7[2] = 0x7c425a14;" (assignment_expression "piVar7[2] = 0x7c425a14" (subscript_expression "piVar7[2]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "piVar10 = piVar8 + 1;" (assignment_expression "piVar10 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) (if_statement "if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\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                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }" { (expression_statement "*piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;" (assignment_expression "*piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000" (pointer_expression "*piVar8" * identifier) = (binary_expression "((uint)(local_54 + 4) & 0xffff) + 0xe9620000" (parenthesized_expression "((uint)(local_54 + 4) & 0xffff)" ( (binary_expression "(uint)(local_54 + 4) & 0xffff" (call_expression "(uint)(local_54 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_54 + 4)" ( (binary_expression "local_54 + 4" identifier + number_literal) ))) & number_literal) )) + number_literal)) ;) (expression_statement "piVar10 = piVar8 + 2;" (assignment_expression "piVar10 = piVar8 + 2" identifier = (binary_expression "piVar8 + 2" identifier + number_literal)) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) })) (expression_statement "*piVar8 = iVar21;" (assignment_expression "*piVar8 = iVar21" (pointer_expression "*piVar8" * identifier) = identifier) ;) }) (else_clause "else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }" else (compound_statement "{\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }" { (expression_statement "piVar10[1] = 0x7d8903a6;" (assignment_expression "piVar10[1] = 0x7d8903a6" (subscript_expression "piVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10 = piVar10 + 2;" (assignment_expression "piVar10 = piVar10 + 2" identifier = (binary_expression "piVar10 + 2" identifier + number_literal)) ;) }))) }) (else_clause "else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }" else (compound_statement "{\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }" { (expression_statement "piVar8 = piVar7;" (assignment_expression "piVar8 = piVar7" identifier = identifier) ;) (if_statement "if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }" if (parenthesized_expression "((bVar20 & 0x40) != 0)" ( (binary_expression "(bVar20 & 0x40) != 0" (parenthesized_expression "(bVar20 & 0x40)" ( (binary_expression "bVar20 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }" { (expression_statement "piVar8 = piVar7 + 1;" (assignment_expression "piVar8 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) (expression_statement "*piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;" (assignment_expression "*piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018" (pointer_expression "*piVar7" * identifier) = (binary_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018" (parenthesized_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10)" ( (binary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10" (unary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" - (call_expression "(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 8)" ( (binary_expression "*(int *)(param_1 + 0x34) + 8" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) })) (expression_statement "uVar24 = (uint)puVar11 & 0xffff;" (assignment_expression "uVar24 = (uint)puVar11 & 0xffff" identifier = (binary_expression "(uint)puVar11 & 0xffff" (cast_expression "(uint)puVar11" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (if_statement "if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }" if (parenthesized_expression "(local_68 == 0)" ( (binary_expression "local_68 == 0" identifier == number_literal) )) (compound_statement "{\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }" { (expression_statement "*piVar8 = (int)(local_54 + 0xf588000);" (assignment_expression "*piVar8 = (int)(local_54 + 0xf588000)" (pointer_expression "*piVar8" * identifier) = (cast_expression "(int)(local_54 + 0xf588000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_54 + 0xf588000)" ( (binary_expression "local_54 + 0xf588000" identifier + number_literal) )))) ;) (expression_statement "piVar8[1] = uVar24 + 0xe98b0000;" (assignment_expression "piVar8[1] = uVar24 + 0xe98b0000" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = (binary_expression "uVar24 + 0xe98b0000" identifier + number_literal)) ;) (if_statement "if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }" if (parenthesized_expression "(local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))" ( (binary_expression "local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10)" identifier == (cast_expression "(uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10)" ( (binary_expression "(uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10" (call_expression "(uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar11 + (local_5c & 0xff) * 2 + 0x2002)" ( (binary_expression "puVar11 + (local_5c & 0xff) * 2 + 0x2002" (binary_expression "puVar11 + (local_5c & 0xff) * 2" identifier + (binary_expression "(local_5c & 0xff) * 2" (parenthesized_expression "(local_5c & 0xff)" ( (binary_expression "local_5c & 0xff" identifier & number_literal) )) * number_literal)) + number_literal) ))) >> number_literal) )))) )) (compound_statement "{\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }" { (expression_statement "piVar7 = piVar8 + 2;" (assignment_expression "piVar7 = piVar8 + 2" identifier = (binary_expression "piVar8 + 2" identifier + number_literal)) ;) (expression_statement "iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;" (assignment_expression "iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000" identifier = (binary_expression "((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000" (parenthesized_expression "((uint)(puVar11 + 2) & 0xffff)" ( (binary_expression "(uint)(puVar11 + 2) & 0xffff" (call_expression "(uint)(puVar11 + 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar11 + 2)" ( (binary_expression "puVar11 + 2" identifier + number_literal) ))) & number_literal) )) + number_literal)) ;) }) (else_clause "else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }" else (compound_statement "{\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }" { (expression_statement "piVar7 = piVar8 + 3;" (assignment_expression "piVar7 = piVar8 + 3" identifier = (binary_expression "piVar8 + 3" identifier + number_literal)) ;) (expression_statement "puVar11 = (uint *)0x0;" (assignment_expression "puVar11 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar8[2] = uVar24 + 0x396b0000;" (assignment_expression "piVar8[2] = uVar24 + 0x396b0000" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = (binary_expression "uVar24 + 0x396b0000" identifier + number_literal)) ;) (expression_statement "iVar21 = -0x17b4fff8;" (assignment_expression "iVar21 = -0x17b4fff8" identifier = number_literal) ;) }))) (expression_statement "*piVar7 = 0x7d8903a6;" (assignment_expression "*piVar7 = 0x7d8903a6" (pointer_expression "*piVar7" * identifier) = number_literal) ;) (if_statement "if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }" if (parenthesized_expression "((bool)bVar26 == false)" ( (binary_expression "(bool)bVar26 == false" (cast_expression "(bool)bVar26" ( (type_descriptor "bool" primitive_type) ) identifier) == false) )) (compound_statement "{\n                  piVar10 = piVar7 + 1;\n                }" { (expression_statement "piVar10 = piVar7 + 1;" (assignment_expression "piVar10 = piVar7 + 1" identifier = (binary_expression "piVar7 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }" else (compound_statement "{\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }" { (expression_statement "piVar7[1] = 0x7d826278;" (assignment_expression "piVar7[1] = 0x7d826278" (subscript_expression "piVar7[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10 = piVar7 + 3;" (assignment_expression "piVar10 = piVar7 + 3" identifier = (binary_expression "piVar7 + 3" identifier + number_literal)) ;) (expression_statement "piVar7[2] = 0x7d6b1214;" (assignment_expression "piVar7[2] = 0x7d6b1214" (subscript_expression "piVar7[2]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "uVar27 = CONCAT44(puVar11,piVar10);" (assignment_expression "uVar27 = CONCAT44(puVar11,piVar10)" identifier = (call_expression "CONCAT44(puVar11,piVar10)" identifier (argument_list "(puVar11,piVar10)" ( identifier , identifier )))) ;) (expression_statement "*piVar10 = iVar21;" (assignment_expression "*piVar10 = iVar21" (pointer_expression "*piVar10" * identifier) = identifier) ;) (if_statement "if ((char)local_5c != '\0') goto LAB_000f37c0;" 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 ')) )) (goto_statement "goto LAB_000f37c0;" goto statement_identifier ;)) (expression_statement "piVar10 = piVar10 + 1;" (assignment_expression "piVar10 = piVar10 + 1" identifier = (binary_expression "piVar10 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }" else (compound_statement "{\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }" { (expression_statement "piVar8[2] = 0x7d8903a6;" (assignment_expression "piVar8[2] = 0x7d8903a6" (subscript_expression "piVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10 = piVar8 + 3;" (assignment_expression "piVar10 = piVar8 + 3" identifier = (binary_expression "piVar8 + 3" identifier + number_literal)) ;) (expression_statement "piVar8[1] = uVar24 + 0xe98c0000;" (assignment_expression "piVar8[1] = uVar24 + 0xe98c0000" (subscript_expression "piVar8[1]" identifier [ number_literal ]) = (binary_expression "uVar24 + 0xe98c0000" identifier + number_literal)) ;) (expression_statement "*piVar8 = (int)(local_54 + 0xf608000);" (assignment_expression "*piVar8 = (int)(local_54 + 0xf608000)" (pointer_expression "*piVar8" * identifier) = (cast_expression "(int)(local_54 + 0xf608000)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_54 + 0xf608000)" ( (binary_expression "local_54 + 0xf608000" identifier + number_literal) )))) ;) }))) }))) }) (else_clause "else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }" else (compound_statement "{\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }" { (if_statement "if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }" if (parenthesized_expression "((*(byte *)(iVar1 + 0x28) & 0xf) != 10)" ( (binary_expression "(*(byte *)(iVar1 + 0x28) & 0xf) != 10" (parenthesized_expression "(*(byte *)(iVar1 + 0x28) & 0xf)" ( (binary_expression "*(byte *)(iVar1 + 0x28) & 0xf" (pointer_expression "*(byte *)(iVar1 + 0x28)" * (cast_expression "(byte *)(iVar1 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x28)" ( (binary_expression "iVar1 + 0x28" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }" { (labeled_statement "LAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);" statement_identifier : (expression_statement "iVar21 = *(int *)(iVar21 + 0x18);" (assignment_expression "iVar21 = *(int *)(iVar21 + 0x18)" identifier = (pointer_expression "*(int *)(iVar21 + 0x18)" * (cast_expression "(int *)(iVar21 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x18)" ( (binary_expression "iVar21 + 0x18" identifier + number_literal) ))))) ;)) (if_statement "if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (compound_statement "{\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }" { (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" * (cast_expression "(undefined ***)((int)puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -8)" ( (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x6121e" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x36a;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x36a" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;" (assignment_expression "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece" (pointer_expression "*(undefined ***)((int)puVar22 + -0x10)" * (cast_expression "(undefined ***)((int)puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x60ece" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }" statement_identifier : (if_statement "if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }" if (parenthesized_expression "(*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff)" ( (binary_expression "*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff" (pointer_expression "*(uint **)(iVar1 + 0x18)" * (cast_expression "(uint **)(iVar1 + 0x18)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) )))) == (cast_expression "(uint *)0xffffffff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }" { (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" * (cast_expression "(undefined ***)((int)puVar22 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -8)" ( (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x61221" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x1ce" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0xc)" ( (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;" (assignment_expression "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308" (pointer_expression "*(undefined ***)((int)puVar22 + -0x10)" * (cast_expression "(undefined ***)((int)puVar22 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x67308" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf389c" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_54 = *(uint **)(iVar1 + 0x18);" (assignment_expression "local_54 = *(uint **)(iVar1 + 0x18)" identifier = (pointer_expression "*(uint **)(iVar1 + 0x18)" * (cast_expression "(uint **)(iVar1 + 0x18)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x18)" ( (binary_expression "iVar1 + 0x18" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000f2fbb;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }" if (parenthesized_expression "((*(byte *)(iVar1 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)(iVar1 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)(iVar1 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar1 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar1 + 0x2a)" * (cast_expression "(byte *)(iVar1 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2a)" ( (binary_expression "iVar1 + 0x2a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }" { (if_statement "if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;" if (parenthesized_expression "(((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0))))" ( (binary_expression "((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))" (parenthesized_expression "((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0)" ( (binary_expression "(*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1)" ( (binary_expression "*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1" (pointer_expression "*(byte *)(*(int *)(iVar1 + 8) + 0x2c)" * (cast_expression "(byte *)(*(int *)(iVar1 + 8) + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar1 + 8) + 0x2c)" ( (binary_expression "*(int *)(iVar1 + 8) + 0x2c" (pointer_expression "*(int *)(iVar1 + 8)" * (cast_expression "(int *)(iVar1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 8)" ( (binary_expression "iVar1 + 8" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))" ( (parenthesized_expression "(uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0))" ( (comma_expression "uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)" (assignment_expression "uVar23 = *(uint *)(iVar1 + 0xc)" identifier = (pointer_expression "*(uint *)(iVar1 + 0xc)" * (cast_expression "(uint *)(iVar1 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xc)" ( (binary_expression "iVar1 + 0xc" identifier + number_literal) ))))) , (binary_expression "uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)" (binary_expression "uVar23 != 0" identifier != number_literal) || (parenthesized_expression "((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)(iVar1 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(iVar1 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)(iVar1 + 0x2b) & 0x20" (pointer_expression "*(byte *)(iVar1 + 0x2b)" * (cast_expression "(byte *)(iVar1 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2b)" ( (binary_expression "iVar1 + 0x2b" identifier + number_literal) )))) & number_literal) )) == number_literal) )))) )) ))) )) (goto_statement "goto LAB_000f3795;" goto statement_identifier ;)) (goto_statement "goto LAB_000f2f9a;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;" if (parenthesized_expression "((*(byte *)(iVar1 + 0x2a) & 7) == 4)" ( (binary_expression "(*(byte *)(iVar1 + 0x2a) & 7) == 4" (parenthesized_expression "(*(byte *)(iVar1 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar1 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar1 + 0x2a)" * (cast_expression "(byte *)(iVar1 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2a)" ( (binary_expression "iVar1 + 0x2a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f2f9a;" goto statement_identifier ;)) (labeled_statement "LAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;" statement_identifier : (expression_statement "*(int *)((int)puVar22 + -0x10) = iVar1;" (assignment_expression "*(int *)((int)puVar22 + -0x10) = iVar1" (pointer_expression "*(int *)((int)puVar22 + -0x10)" * (cast_expression "(int *)((int)puVar22 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf379e" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "cVar6 = FUN_00071a80();" (assignment_expression "cVar6 = FUN_00071a80()" identifier = (call_expression "FUN_00071a80()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar6 != '\0') goto LAB_000f2f9a;" if (parenthesized_expression "(cVar6 != '\0')" ( (binary_expression "cVar6 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000f2f9a;" goto statement_identifier ;)) (expression_statement "iVar21 = *(int *)(iVar21 + 0x1c);" (assignment_expression "iVar21 = *(int *)(iVar21 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar21 + 0x1c)" * (cast_expression "(int *)(iVar21 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x1c)" ( (binary_expression "iVar21 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar21 != 0) goto LAB_000f2fa5;" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000f2fa5;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar22 + -4) = 0xf37b9;" (assignment_expression "*(undefined4 *)((int)puVar22 + -4) = 0xf37b9" (pointer_expression "*(undefined4 *)((int)puVar22 + -4)" * (cast_expression "(undefined4 *)((int)puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -4)" ( (binary_expression "(int)puVar22 + -4" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar27 = FUN_000af2f0();" (assignment_expression "uVar27 = FUN_000af2f0()" identifier = (call_expression "FUN_000af2f0()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar26 = extraout_CL;" (assignment_expression "bVar26 = extraout_CL" identifier = identifier) ;) (labeled_statement "LAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);" statement_identifier : (expression_statement "piVar10 = (int *)((int)uVar27 + 8);" (assignment_expression "piVar10 = (int *)((int)uVar27 + 8)" identifier = (cast_expression "(int *)((int)uVar27 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)uVar27 + 8)" ( (binary_expression "(int)uVar27 + 8" (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "*(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;" (assignment_expression "*(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000" (pointer_expression "*(uint *)((int)uVar27 + 4)" * (cast_expression "(uint *)((int)uVar27 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)uVar27 + 4)" ( (binary_expression "(int)uVar27 + 4" (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000" (parenthesized_expression "((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff)" ( (binary_expression "(int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff" (binary_expression "(int)((ulonglong)uVar27 >> 0x20) + 0x10U" (cast_expression "(int)((ulonglong)uVar27 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar27 >> 0x20)" ( (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) + number_literal) & number_literal) )) + number_literal)) ;) }))) (if_statement "if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }" if (parenthesized_expression "(*(char *)((int)local_44 + 0x1f) < '\0')" ( (binary_expression "*(char *)((int)local_44 + 0x1f) < '\0'" (pointer_expression "*(char *)((int)local_44 + 0x1f)" * (cast_expression "(char *)((int)local_44 + 0x1f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_44 + 0x1f)" ( (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }" { (labeled_statement "LAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }" statement_identifier : (if_statement "if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }" if (parenthesized_expression "((bVar26 == 1) || (local_69 == false))" ( (binary_expression "(bVar26 == 1) || (local_69 == false)" (parenthesized_expression "(bVar26 == 1)" ( (binary_expression "bVar26 == 1" identifier == number_literal) )) || (parenthesized_expression "(local_69 == false)" ( (binary_expression "local_69 == false" identifier == false) ))) )) (compound_statement "{\n              *piVar10 = 0x4e800420;\n            }" { (expression_statement "*piVar10 = 0x4e800420;" (assignment_expression "*piVar10 = 0x4e800420" (pointer_expression "*piVar10" * identifier) = number_literal) ;) }) (else_clause "else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }" else (compound_statement "{\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }" { (expression_statement "*piVar10 = 0x28220000;" (assignment_expression "*piVar10 = 0x28220000" (pointer_expression "*piVar10" * identifier) = number_literal) ;) (expression_statement "piVar10[1] = 0x4ce20420;" (assignment_expression "piVar10[1] = 0x4ce20420" (subscript_expression "piVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;" (assignment_expression "piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = (binary_expression "(uint)local_64 & 0x3fffffc | 0x48000000" (binary_expression "(uint)local_64 & 0x3fffffc" (cast_expression "(uint)local_64" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) | number_literal)) ;) })))) }) (else_clause "else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }" else (compound_statement "{\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }" { (expression_statement "uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);" (assignment_expression "uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4)" identifier = (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 0xb4)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 0xb4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xb4)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0xb4" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;" if (parenthesized_expression "((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))" ( (binary_expression "(uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24)))" (parenthesized_expression "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )) || (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24)))" ( (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24)" (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 0xb0)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 0xb0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xb0)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0xb0" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) )))) != identifier) && (parenthesized_expression "(uVar23 != uVar24)" ( (binary_expression "uVar23 != uVar24" identifier != identifier) ))) )) ))) )) (goto_statement "goto LAB_000f2f35;" goto statement_identifier ;)) (expression_statement "*piVar10 = 0x4e800421;" (assignment_expression "*piVar10 = 0x4e800421" (pointer_expression "*piVar10" * identifier) = number_literal) ;) (expression_statement "piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;" (assignment_expression "piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018" (subscript_expression "piVar10[1]" identifier [ number_literal ]) = (binary_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018" (parenthesized_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10)" ( (binary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10" (unary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" - (call_expression "(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 8)" ( (binary_expression "*(int *)(param_1 + 0x34) + 8" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);" (assignment_expression "uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8)" identifier = (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 8)" ( (binary_expression "*(int *)(param_1 + 0x34) + 8" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "piVar10[3] = 0x7d6803a6;" (assignment_expression "piVar10[3] = 0x7d6803a6" (subscript_expression "piVar10[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[4] = 0x4e800020;" (assignment_expression "piVar10[4] = 0x4e800020" (subscript_expression "piVar10[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;" (assignment_expression "piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008" (subscript_expression "piVar10[2]" identifier [ number_literal ]) = (binary_expression "(-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008" (parenthesized_expression "(-(uint)((uVar23 & 2) == 0) & 0x18)" ( (binary_expression "-(uint)((uVar23 & 2) == 0) & 0x18" (unary_expression "-(uint)((uVar23 & 2) == 0)" - (call_expression "(uint)((uVar23 & 2) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar23 & 2) == 0)" ( (binary_expression "(uVar23 & 2) == 0" (parenthesized_expression "(uVar23 & 2)" ( (binary_expression "uVar23 & 2" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "uVar23 = param_1;" (assignment_expression "uVar23 = param_1" identifier = identifier) ;) }))) (expression_statement "local_44 = (int *)*local_44;" (assignment_expression "local_44 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) ;) (if_statement "if (local_44 == (int *)0x0) break;" if (parenthesized_expression "(local_44 == (int *)0x0)" ( (binary_expression "local_44 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = *(int *)(param_1 + 0x34);" (assignment_expression "iVar21 = *(int *)(param_1 + 0x34)" identifier = (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar11 = puVar22;" (assignment_expression "puVar11 = puVar22" identifier = identifier) ;) (expression_statement "piVar7 = local_44;" (assignment_expression "piVar7 = local_44" identifier = identifier) ;) (expression_statement "local_44 = *(int **)(param_1 + 0x5c);" (assignment_expression "local_44 = *(int **)(param_1 + 0x5c)" identifier = (pointer_expression "*(int **)(param_1 + 0x5c)" * (cast_expression "(int **)(param_1 + 0x5c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x5c)" ( (binary_expression "param_1 + 0x5c" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x000f30c8:\n      puVar19 = puVar11;" statement_identifier : (expression_statement "puVar19 = puVar11;" (assignment_expression "puVar19 = puVar11" identifier = identifier) ;)) (if_statement "if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }" if (parenthesized_expression "(local_44 != (int *)0x0)" ( (binary_expression "local_44 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }" { (do_statement "do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );" do (compound_statement "{\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        }" { (expression_statement "puVar11 = puVar19;" (assignment_expression "puVar11 = puVar19" identifier = identifier) ;) (if_statement "if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }" if (parenthesized_expression "((char)local_44[4] == '\0')" ( (binary_expression "(char)local_44[4] == '\0'" (cast_expression "(char)local_44[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_44[4]" identifier [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }" { (expression_statement "local_5c = local_44[5];" (assignment_expression "local_5c = local_44[5]" identifier = (subscript_expression "local_44[5]" identifier [ number_literal ])) ;) (expression_statement "local_4c = *(uint **)(param_1 + 0x74);" (assignment_expression "local_4c = *(uint **)(param_1 + 0x74)" identifier = (pointer_expression "*(uint **)(param_1 + 0x74)" * (cast_expression "(uint **)(param_1 + 0x74)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) ))))) ;) (expression_statement "local_64 = (uint *)((int)local_4c + local_70 + local_5c);" (assignment_expression "local_64 = (uint *)((int)local_4c + local_70 + local_5c)" identifier = (cast_expression "(uint *)((int)local_4c + local_70 + local_5c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c + local_70 + local_5c)" ( (binary_expression "(int)local_4c + local_70 + local_5c" (binary_expression "(int)local_4c + local_70" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) ;) (if_statement "if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;" if (parenthesized_expression "(*(int *)(*local_74 + 8) == 0)" ( (binary_expression "*(int *)(*local_74 + 8) == 0" (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) )))) == number_literal) )) (goto_statement "goto LAB_000f392f;" goto statement_identifier ;)) (expression_statement "uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);" (assignment_expression "uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f)" identifier = (binary_expression "1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f)" number_literal << (parenthesized_expression "((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f)" ( (binary_expression "(byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f" (binary_expression "(byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20)" (parenthesized_expression "(byte)" ( identifier )) * (cast_expression "(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*local_74 + 8) + 0x2b20)" ( (binary_expression "*(int *)(*local_74 + 8) + 0x2b20" (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) )))) + number_literal) )))) & number_literal) )))) ;) (if_statement "if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }" if (parenthesized_expression "(uVar23 < 0x20)" ( (binary_expression "uVar23 < 0x20" identifier < number_literal) )) (compound_statement "{\n              uVar23 = 0x20;\n            }" { (expression_statement "uVar23 = 0x20;" (assignment_expression "uVar23 = 0x20" identifier = number_literal) ;) })) (expression_statement "puVar22 = puVar19;" (assignment_expression "puVar22 = puVar19" identifier = identifier) ;) (if_statement "if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;" if (parenthesized_expression "((*(byte *)(param_1 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x1c) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x1c) & 1" (pointer_expression "*(byte *)(param_1 + 0x1c)" * (cast_expression "(byte *)(param_1 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f3135;" goto statement_identifier ;)) (expression_statement "local_50 = local_44[2];" (assignment_expression "local_50 = local_44[2]" identifier = (subscript_expression "local_44[2]" identifier [ number_literal ])) ;) (expression_statement "local_54 = (uint *)local_44[1];" (assignment_expression "local_54 = (uint *)local_44[1]" identifier = (cast_expression "(uint *)local_44[1]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_44[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);" (assignment_expression "uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4)" identifier = (binary_expression "(uVar23 - 1) + *(uint *)(param_1 + 4)" (parenthesized_expression "(uVar23 - 1)" ( (binary_expression "uVar23 - 1" identifier - number_literal) )) + (pointer_expression "*(uint *)(param_1 + 4)" * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))))) ;) (expression_statement "local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;" (assignment_expression "local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23" identifier = (binary_expression "*(uint *)(param_1 + 0x70) + uVar24 & -uVar23" (binary_expression "*(uint *)(param_1 + 0x70) + uVar24" (pointer_expression "*(uint *)(param_1 + 0x70)" * (cast_expression "(uint *)(param_1 + 0x70)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))) + identifier) & (unary_expression "-uVar23" - identifier))) ;) (expression_statement "local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);" (assignment_expression "local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0)" identifier = (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0)" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24)" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8)" (parenthesized_expression "((uVar23 != 0) - 1)" ( (binary_expression "(uVar23 != 0) - 1" (parenthesized_expression "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )) - number_literal) )) + (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" identifier (argument_list "(uVar23 - 1,*(uint *)(param_1 + 4))" ( (binary_expression "uVar23 - 1" identifier - number_literal) , (pointer_expression "*(uint *)(param_1 + 4)" * (cast_expression "(uint *)(param_1 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) ))))) + (cast_expression "(uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(*(uint *)(param_1 + 0x70),uVar24)" identifier (argument_list "(*(uint *)(param_1 + 0x70),uVar24)" ( (pointer_expression "*(uint *)(param_1 + 0x70)" * (cast_expression "(uint *)(param_1 + 0x70)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))) , identifier ))))) & (unary_expression "-(uint)(uVar23 != 0)" - (call_expression "(uint)(uVar23 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar23 != 0)" ( (binary_expression "uVar23 != 0" identifier != number_literal) )))))) ;) (expression_statement "uVar24 = (int)local_54 - (int)((int)local_4c + local_84);" (assignment_expression "uVar24 = (int)local_54 - (int)((int)local_4c + local_84)" identifier = (binary_expression "(int)local_54 - (int)((int)local_4c + local_84)" (cast_expression "(int)local_54" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((int)local_4c + local_84)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)local_4c + local_84)" ( (binary_expression "(int)local_4c + local_84" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) ))))) ;) (expression_statement "uVar23 = uVar24 - local_5c;" (assignment_expression "uVar23 = uVar24 - local_5c" identifier = (binary_expression "uVar24 - local_5c" identifier - identifier)) ;) (expression_statement "local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);" (assignment_expression "local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23)" identifier = (binary_expression "(((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23)" (parenthesized_expression "(((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c))" ( (binary_expression "((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)" (parenthesized_expression "((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84)))" ( (binary_expression "(local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))" (parenthesized_expression "(local_50 - (local_80 + CARRY4((uint)local_4c,local_84)))" ( (binary_expression "local_50 - (local_80 + CARRY4((uint)local_4c,local_84))" identifier - (parenthesized_expression "(local_80 + CARRY4((uint)local_4c,local_84))" ( (binary_expression "local_80 + CARRY4((uint)local_4c,local_84)" identifier + (call_expression "CARRY4((uint)local_4c,local_84)" identifier (argument_list "((uint)local_4c,local_84)" ( (cast_expression "(uint)local_4c" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))) ))) )) - (call_expression "(uint)(local_54 < (uint *)((int)local_4c + local_84))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_54 < (uint *)((int)local_4c + local_84))" ( (binary_expression "local_54 < (uint *)((int)local_4c + local_84)" identifier < (cast_expression "(uint *)((int)local_4c + local_84)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_4c + local_84)" ( (binary_expression "(int)local_4c + local_84" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) )))) )) - (call_expression "(uint)(uVar24 < local_5c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 < local_5c)" ( (binary_expression "uVar24 < local_5c" identifier < identifier) )))) )) + (call_expression "(uint)(0xfdffffff < uVar23)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfdffffff < uVar23)" ( (binary_expression "0xfdffffff < uVar23" number_literal < identifier) ))))) ;) (expression_statement "local_4c = (uint *)(uVar23 + 0x2000000);" (assignment_expression "local_4c = (uint *)(uVar23 + 0x2000000)" identifier = (cast_expression "(uint *)(uVar23 + 0x2000000)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar23 + 0x2000000)" ( (binary_expression "uVar23 + 0x2000000" identifier + number_literal) )))) ;) (if_statement "if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;" if (parenthesized_expression "(local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)" ( (binary_expression "local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48" (binary_expression "local_48 == 0" identifier == number_literal) && (binary_expression "(uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48" (call_expression "(uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000))" ( (binary_expression "(uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)" (cast_expression "(uint *)0x3ffffff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(uint *)(uVar23 + 0x2000000)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar23 + 0x2000000)" ( (binary_expression "uVar23 + 0x2000000" identifier + number_literal) )))) ))) <= (unary_expression "-local_48" - identifier))) )) (goto_statement "goto code_r0x000f32c9;" goto statement_identifier ;)) (expression_statement "local_4c = *(uint **)(param_1 + 0x34);" (assignment_expression "local_4c = *(uint **)(param_1 + 0x34)" identifier = (pointer_expression "*(uint **)(param_1 + 0x34)" * (cast_expression "(uint **)(param_1 + 0x34)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(uint ***)((int)puVar19 + -8) = &local_34;" (assignment_expression "*(uint ***)((int)puVar19 + -8) = &local_34" (pointer_expression "*(uint ***)((int)puVar19 + -8)" * (cast_expression "(uint ***)((int)puVar19 + -8)" ( (type_descriptor "uint ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar19 + -8)" ( (binary_expression "(int)puVar19 + -8" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "*(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;" (assignment_expression "*(uint **)((int)puVar19 + -0xc) = local_4c + 0x16" (pointer_expression "*(uint **)((int)puVar19 + -0xc)" * (cast_expression "(uint **)((int)puVar19 + -0xc)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar19 + -0xc)" ( (binary_expression "(int)puVar19 + -0xc" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_4c + 0x16" identifier + number_literal)) ;) (expression_statement "*(int **)((int)puVar19 + -0x10) = local_40;" (assignment_expression "*(int **)((int)puVar19 + -0x10) = local_40" (pointer_expression "*(int **)((int)puVar19 + -0x10)" * (cast_expression "(int **)((int)puVar19 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar19 + -0x10)" ( (binary_expression "(int)puVar19 + -0x10" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;" (assignment_expression "*(undefined4 *)((int)puVar19 + -0x14) = 0xf3184" (pointer_expression "*(undefined4 *)((int)puVar19 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar19 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + -0x14)" ( (binary_expression "(int)puVar19 + -0x14" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_34 = local_54;" (assignment_expression "local_34 = local_54" identifier = identifier) ;) (expression_statement "local_30 = local_50;" (assignment_expression "local_30 = local_50" identifier = identifier) ;) (expression_statement "FUN_00109180();" (call_expression "FUN_00109180()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar22 = (uint *)((int)puVar19 + -4);" (assignment_expression "puVar22 = (uint *)((int)puVar19 + -4)" identifier = (cast_expression "(uint *)((int)puVar19 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + -4)" ( (binary_expression "(int)puVar19 + -4" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar11 = (uint *)((int)puVar19 + -4);" (assignment_expression "puVar11 = (uint *)((int)puVar19 + -4)" identifier = (cast_expression "(uint *)((int)puVar19 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + -4)" ( (binary_expression "(int)puVar19 + -4" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }" if (parenthesized_expression "(local_40[0] == 0)" ( (binary_expression "local_40[0] == 0" (subscript_expression "local_40[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }" { (expression_statement "*(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;" (assignment_expression "*(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333" (pointer_expression "*(undefined ***)((int)puVar19 + -0xc)" * (cast_expression "(undefined ***)((int)puVar19 + -0xc)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar19 + -0xc)" ( (binary_expression "(int)puVar19 + -0xc" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x61333" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;" (assignment_expression "*(undefined4 *)((int)puVar19 + -0x10) = 0x15f1" (pointer_expression "*(undefined4 *)((int)puVar19 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar19 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + -0x10)" ( (binary_expression "(int)puVar19 + -0x10" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;" (assignment_expression "*(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece" (pointer_expression "*(undefined ***)((int)puVar19 + -0x14)" * (cast_expression "(undefined ***)((int)puVar19 + -0x14)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)puVar19 + -0x14)" ( (binary_expression "(int)puVar19 + -0x14" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_58 + -0x60ece" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;" (assignment_expression "*(undefined4 *)((int)puVar19 + -0x18) = 0xf387e" (pointer_expression "*(undefined4 *)((int)puVar19 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar19 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar19 + -0x18)" ( (binary_expression "(int)puVar19 + -0x18" (cast_expression "(int)puVar19" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);" (assignment_expression "iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0x24)" * (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0x24)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0x24" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;" if (parenthesized_expression "((*(byte *)(iVar21 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(iVar21 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar21 + 0x1c) & 1)" ( (binary_expression "*(byte *)(iVar21 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar21 + 0x1c)" * (cast_expression "(byte *)(iVar21 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x1c)" ( (binary_expression "iVar21 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000f3135;" goto statement_identifier ;)) (expression_statement "uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;" (assignment_expression "uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]" identifier = (binary_expression "((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]" (parenthesized_expression "((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc)" ( (binary_expression "(*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc" (parenthesized_expression "(*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4))" ( (binary_expression "*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)" (pointer_expression "*(int *)(local_40[0] + 0xc)" * (cast_expression "(int *)(local_40[0] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 0xc)" ( (binary_expression "local_40[0] + 0xc" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) + (pointer_expression "*(int *)(iVar21 + 4)" * (cast_expression "(int *)(iVar21 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 4)" ( (binary_expression "iVar21 + 4" identifier + number_literal) ))))) )) - identifier) )) - (subscript_expression "local_44[3]" identifier [ number_literal ]))) ;) (expression_statement "uVar24 = uVar23 & 0xffff;" (assignment_expression "uVar24 = uVar23 & 0xffff" identifier = (binary_expression "uVar23 & 0xffff" identifier & number_literal)) ;) (expression_statement "uVar23 = uVar23 + 0x8000 >> 0x10;" (assignment_expression "uVar23 = uVar23 + 0x8000 >> 0x10" identifier = (binary_expression "uVar23 + 0x8000 >> 0x10" (binary_expression "uVar23 + 0x8000" identifier + number_literal) >> number_literal)) ;) (if_statement "if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }" if (parenthesized_expression "(uVar23 == 0)" ( (binary_expression "uVar23 == 0" identifier == number_literal) )) (compound_statement "{\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }" { (expression_statement "*local_64 = uVar24 + 0xe9820000;" (assignment_expression "*local_64 = uVar24 + 0xe9820000" (pointer_expression "*local_64" * identifier) = (binary_expression "uVar24 + 0xe9820000" identifier + number_literal)) ;) (expression_statement "puVar19 = local_64 + 1;" (assignment_expression "puVar19 = local_64 + 1" identifier = (binary_expression "local_64 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }" else (compound_statement "{\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }" { (expression_statement "local_64[1] = uVar24 + 0xe98c0000;" (assignment_expression "local_64[1] = uVar24 + 0xe98c0000" (subscript_expression "local_64[1]" identifier [ number_literal ]) = (binary_expression "uVar24 + 0xe98c0000" identifier + number_literal)) ;) (expression_statement "puVar19 = local_64 + 2;" (assignment_expression "puVar19 = local_64 + 2" identifier = (binary_expression "local_64 + 2" identifier + number_literal)) ;) (expression_statement "*local_64 = uVar23 + 0x3d820000;" (assignment_expression "*local_64 = uVar23 + 0x3d820000" (pointer_expression "*local_64" * identifier) = (binary_expression "uVar23 + 0x3d820000" identifier + number_literal)) ;) }))) (expression_statement "*puVar19 = 0x7d8903a6;" (assignment_expression "*puVar19 = 0x7d8903a6" (pointer_expression "*puVar19" * identifier) = number_literal) ;) (expression_statement "puVar19[1] = 0x4e800420;" (assignment_expression "puVar19[1] = 0x4e800420" (subscript_expression "puVar19[1]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "local_44 = (int *)*local_44;" (assignment_expression "local_44 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) ;) (expression_statement "puVar19 = puVar11;" (assignment_expression "puVar19 = puVar11" identifier = identifier) ;) (expression_statement "piVar7 = local_44;" (assignment_expression "piVar7 = local_44" identifier = identifier) ;) (if_statement "if (local_44 == (int *)0x0) break;" if (parenthesized_expression "(local_44 == (int *)0x0)" ( (binary_expression "local_44 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "local_44 = piVar7;" (assignment_expression "local_44 = piVar7" identifier = identifier) ;) (if_statement "if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }" if (parenthesized_expression "(*(char *)(param_1 + 0x8c) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x8c) == '\0'" (pointer_expression "*(char *)(param_1 + 0x8c)" * (cast_expression "(char *)(param_1 + 0x8c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x8c)" ( (binary_expression "param_1 + 0x8c" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (expression_statement "uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);" (assignment_expression "uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74)" identifier = (binary_expression "local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74)" (binary_expression "local_70 + *(int *)(param_1 + 0x7c)" identifier + (pointer_expression "*(int *)(param_1 + 0x7c)" * (cast_expression "(int *)(param_1 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x7c)" ( (binary_expression "param_1 + 0x7c" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0x74)" * (cast_expression "(int *)(param_1 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) )))))) ;) (expression_statement "iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);" (assignment_expression "iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xac)" * (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0xac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xac)" ( (binary_expression "*(int *)(param_1 + 0x34) + 0xac" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }" if (parenthesized_expression "((*(byte *)(iVar21 + 0x1c) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar21 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar21 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar21 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar21 + 0x1c)" * (cast_expression "(byte *)(iVar21 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x1c)" ( (binary_expression "iVar21 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }" { (expression_statement "uVar2 = *(undefined4 *)(iVar21 + 0x2c);" (assignment_expression "uVar2 = *(undefined4 *)(iVar21 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)(iVar21 + 0x2c)" * (cast_expression "(undefined4 *)(iVar21 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0x2c)" ( (binary_expression "iVar21 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" * (cast_expression "(undefined4 *)((int)puVar11 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar21 + 0xc)" * (cast_expression "(undefined4 *)(iVar21 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar21 + 0xc)" ( (binary_expression "iVar21 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0xc) = uVar2;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0xc) = uVar2" (pointer_expression "*(undefined4 *)((int)puVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)puVar11 + -0x10) = uVar23;" (assignment_expression "*(uint *)((int)puVar11 + -0x10) = uVar23" (pointer_expression "*(uint *)((int)puVar11 + -0x10)" * (cast_expression "(uint *)((int)puVar11 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0xf322d" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -0x14)" ( (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));" (call_expression "memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8))" identifier (argument_list "(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8))" ( (pointer_expression "*(void **)((int)puVar11 + -0x10)" * (cast_expression "(void **)((int)puVar11 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0x10)" ( (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar11 + -0xc)" * (cast_expression "(void **)((int)puVar11 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar11 + -0xc)" ( (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(size_t *)((int)puVar11 + -8)" * (cast_expression "(size_t *)((int)puVar11 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + -8)" ( (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (return_statement "return;" return ;) })) (goto_statement "goto LAB_000f398a;" goto statement_identifier ;) })) (expression_statement "uVar23 = FUN_000af350();" (assignment_expression "uVar23 = FUN_000af350()" identifier = (call_expression "FUN_000af350()" identifier (argument_list "()" ( )))) ;) })) (expression_statement "FUN_002446e0((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23);" (call_expression "FUN_002446e0((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23)" identifier (argument_list "((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23)" ( (binary_expression "(int)local_58 + -0x19cca3" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal , (binary_expression "local_58 + -0x612b6" identifier + number_literal) , identifier ))) ;) (labeled_statement "code_r0x000f32c9:\n  *local_64 = uVar23 & 0x3fffffc | 0x48000000;" statement_identifier : (expression_statement "*local_64 = uVar23 & 0x3fffffc | 0x48000000;" (assignment_expression "*local_64 = uVar23 & 0x3fffffc | 0x48000000" (pointer_expression "*local_64" * identifier) = (binary_expression "uVar23 & 0x3fffffc | 0x48000000" (binary_expression "uVar23 & 0x3fffffc" identifier & number_literal) | number_literal)) ;)) (expression_statement "local_44 = (int *)*local_44;" (assignment_expression "local_44 = (int *)*local_44" identifier = (cast_expression "(int *)*local_44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_44" * identifier))) ;) (expression_statement "piVar7 = local_44;" (assignment_expression "piVar7 = local_44" identifier = identifier) ;) (goto_statement "goto joined_r0x000f30c8;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (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) )))) = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) & (unary_expression - IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression 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) )))) = 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) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (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) )))) < (binary_expression IDENT + IDENT)) )))) ;) (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 (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 IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression 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) )))) = 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) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (comma_expression (assignment_expression IDENT = (pointer_expression & IDENT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression - IDENT) - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) )) * LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression 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) )))) = 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) )))) = (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + (binary_expression IDENT * LIT)) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression 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) )))) = 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression 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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) 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 IDENT + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) 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 (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )))) != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT)) ))) )) (compound_statement { (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) )))) = (subscript_expression IDENT [ 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression 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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (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) ;) (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) ;) (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression 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) )))) = 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) )))) = (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (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) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_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 (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (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 (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (binary_expression IDENT + LIT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression 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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression 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) )))) = 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression 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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) == LIT) )))) & LIT) )) + LIT) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( 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) )) (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 LIT << (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (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 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) & (unary_expression - IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) - LIT) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression IDENT - LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))))) & (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_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 (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) ))) >> LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (binary_expression IDENT * LIT)) )))) )) + LIT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) )))) )) - IDENT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) )) + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT != LIT) || (binary_expression (binary_expression (parenthesized_expression ( IDENT )) - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (binary_expression IDENT + LIT)) )))))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) << LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) )) || (parenthesized_expression ( (binary_expression IDENT == (subscript_expression IDENT [ LIT ])) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) == LIT) )))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) }))))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) == LIT) )))) & LIT) )) + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) + LIT) ))) >> LIT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) )) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != BOOL) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) == LIT) )))) & LIT) )) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) + LIT) ))) >> LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) )) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == BOOL) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (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 = (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression 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) )))) = 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression 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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression 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) )))) = 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression 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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (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) ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )))) )) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (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 = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) + LIT) & LIT) )) + LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) < (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == BOOL) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != IDENT) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) == LIT) )))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) + LIT) )))) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (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) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) & (unary_expression - IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) - LIT) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression IDENT - LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))))) & (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - (parenthesized_expression ( (binary_expression IDENT + (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT )))) ))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) )))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) )) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) <= (unary_expression - IDENT))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression 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) )))) = 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression 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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) - IDENT) )) - (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) }) while (parenthesized_expression ( BOOL )) ;) })) (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) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (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) ;) (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 (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) (return_statement return ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "void FUN_000f2ca0(uint param_1,int param_2)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  code *pcVar3;\n  undefined **ppuVar4;\n  undefined1 *puVar5;\n  char cVar6;\n  int *piVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  byte extraout_CL;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint *puVar19;\n  byte bVar20;\n  int iVar21;\n  uint *puVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  byte bVar26;\n  undefined8 uVar27;\n  uint auStackY_d4 [2];\n  uint local_bc;\n  uint local_b8;\n  uint local_b4;\n  int local_b0;\n  uint local_ac;\n  undefined4 local_a8;\n  uint local_a4;\n  undefined4 local_a0;\n  uint local_9c;\n  undefined4 local_98;\n  uint local_94;\n  uint local_90;\n  uint local_8c;\n  uint local_88;\n  uint local_84;\n  uint local_80;\n  uint local_7c;\n  int local_78;\n  int *local_74;\n  int local_70;\n  bool local_69;\n  uint local_68;\n  uint *local_64;\n  int local_60;\n  uint local_5c;\n  undefined **local_58;\n  uint *local_54;\n  int local_50;\n  uint *local_4c;\n  uint local_48;\n  int *local_44;\n  int local_40 [3];\n  uint *local_34;\n  int local_30;\n  uint local_2c [7];\n  \n  puVar19 = &local_bc;\n  puVar11 = &local_bc;\n  local_58 = &__DT_PLTGOT;\n  local_44 = *(int **)(param_1 + 0x44);\n  if ((local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0)) {\n    return;\n  }\n  bVar26 = *(byte *)(param_1 + 0x1c);\n  local_5c = CONCAT31(local_5c._1_3_,bVar26);\n  if ((bVar26 & 4) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);\n  }\n  local_4c = *(uint **)(param_1 + 0x14);\n  local_54 = local_4c;\n  local_50 = *(int *)(param_1 + 0x18);\n  local_74 = &DAT_005ea7c8;\n  if (*(int *)(DAT_005ea7c8 + 8) == 0) {\nLAB_000f392f:\n                    \n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;\n    FUN_000afd50();\n  }\n  uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f);\n  if (uVar23 < 0x20) {\n    uVar23 = 0x20;\n  }\n  uVar23 = (int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23;\n  if ((bVar26 & 2) == 0) {\nLAB_000f398a:\n    ppuVar4 = local_58;\n    *(uint *)((int)puVar11 + -4) = uVar23;\n    *(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;\n    *(undefined4 *)((int)puVar11 + -0xc) = 0xcf;\n    *(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n    *(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;\n    FUN_002446e0();\n  }\n  puVar11 = (uint *)(uVar23 - (int)local_4c);\n  local_4c = *(uint **)(param_1 + 0xc);\n  uVar24 = (int)local_4c - (int)puVar11;\n  local_48 = *(uint *)(param_1 + 0x10);\n  if (*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11)) {\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);\n  }\n  uVar12 = (uint)CARRY4(uVar23,uVar24);\n  uVar24 = (uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24);\n  iVar21 = *(int *)(param_2 + 0xc) - uVar12;\n  if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0) {\n    local_70 = uVar23 + *(int *)(param_2 + 0x10);\n    iVar21 = *(int *)(param_1 + 0x34);\n    if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }\n    uVar23 = FUN_000af350();\n  }\n                    \n  FUN_002446e0((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23);\ncode_r0x000f32c9:\n  *local_64 = uVar23 & 0x3fffffc | 0x48000000;\n  local_44 = (int *)*local_44;\n  piVar7 = local_44;\n  goto joined_r0x000f30c8;\n}" (primitive_type "void") (function_declarator "FUN_000f2ca0(uint param_1,int param_2)" (identifier "FUN_000f2ca0") (parameter_list "(uint param_1,int param_2)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  code *pcVar3;\n  undefined **ppuVar4;\n  undefined1 *puVar5;\n  char cVar6;\n  int *piVar7;\n  int *piVar8;\n  undefined4 uVar9;\n  int *piVar10;\n  byte extraout_CL;\n  uint *puVar11;\n  uint uVar12;\n  uint uVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  uint uVar17;\n  uint uVar18;\n  uint *puVar19;\n  byte bVar20;\n  int iVar21;\n  uint *puVar22;\n  uint uVar23;\n  uint uVar24;\n  uint uVar25;\n  byte bVar26;\n  undefined8 uVar27;\n  uint auStackY_d4 [2];\n  uint local_bc;\n  uint local_b8;\n  uint local_b4;\n  int local_b0;\n  uint local_ac;\n  undefined4 local_a8;\n  uint local_a4;\n  undefined4 local_a0;\n  uint local_9c;\n  undefined4 local_98;\n  uint local_94;\n  uint local_90;\n  uint local_8c;\n  uint local_88;\n  uint local_84;\n  uint local_80;\n  uint local_7c;\n  int local_78;\n  int *local_74;\n  int local_70;\n  bool local_69;\n  uint local_68;\n  uint *local_64;\n  int local_60;\n  uint local_5c;\n  undefined **local_58;\n  uint *local_54;\n  int local_50;\n  uint *local_4c;\n  uint local_48;\n  int *local_44;\n  int local_40 [3];\n  uint *local_34;\n  int local_30;\n  uint local_2c [7];\n  \n  puVar19 = &local_bc;\n  puVar11 = &local_bc;\n  local_58 = &__DT_PLTGOT;\n  local_44 = *(int **)(param_1 + 0x44);\n  if ((local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0)) {\n    return;\n  }\n  bVar26 = *(byte *)(param_1 + 0x1c);\n  local_5c = CONCAT31(local_5c._1_3_,bVar26);\n  if ((bVar26 & 4) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);\n  }\n  local_4c = *(uint **)(param_1 + 0x14);\n  local_54 = local_4c;\n  local_50 = *(int *)(param_1 + 0x18);\n  local_74 = &DAT_005ea7c8;\n  if (*(int *)(DAT_005ea7c8 + 8) == 0) {\nLAB_000f392f:\n                    \n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;\n    FUN_000afd50();\n  }\n  uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f);\n  if (uVar23 < 0x20) {\n    uVar23 = 0x20;\n  }\n  uVar23 = (int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23;\n  if ((bVar26 & 2) == 0) {\nLAB_000f398a:\n    ppuVar4 = local_58;\n    *(uint *)((int)puVar11 + -4) = uVar23;\n    *(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;\n    *(undefined4 *)((int)puVar11 + -0xc) = 0xcf;\n    *(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n    *(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;\n    FUN_002446e0();\n  }\n  puVar11 = (uint *)(uVar23 - (int)local_4c);\n  local_4c = *(uint **)(param_1 + 0xc);\n  uVar24 = (int)local_4c - (int)puVar11;\n  local_48 = *(uint *)(param_1 + 0x10);\n  if (*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11)) {\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);\n  }\n  uVar12 = (uint)CARRY4(uVar23,uVar24);\n  uVar24 = (uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24);\n  iVar21 = *(int *)(param_2 + 0xc) - uVar12;\n  if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0) {\n    local_70 = uVar23 + *(int *)(param_2 + 0x10);\n    iVar21 = *(int *)(param_1 + 0x34);\n    if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }\n    uVar23 = FUN_000af350();\n  }\n                    \n  FUN_002446e0((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23);\ncode_r0x000f32c9:\n  *local_64 = uVar23 & 0x3fffffc | 0x48000000;\n  local_44 = (int *)*local_44;\n  piVar7 = local_44;\n  goto joined_r0x000f30c8;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "code *pcVar3;" (type_identifier "code") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "undefined **ppuVar4;" (type_identifier "undefined") (pointer_declarator "**ppuVar4" (* "*") (pointer_declarator "*ppuVar4" (* "*") (identifier "ppuVar4"))) (; ";")) (declaration "undefined1 *puVar5;" (type_identifier "undefined1") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "char cVar6;" (primitive_type "char") (identifier "cVar6") (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "byte extraout_CL;" (type_identifier "byte") (identifier "extraout_CL") (; ";")) (declaration "uint *puVar11;" (type_identifier "uint") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "uint *puVar19;" (type_identifier "uint") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "byte bVar20;" (type_identifier "byte") (identifier "bVar20") (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "uint *puVar22;" (type_identifier "uint") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "uint uVar23;" (type_identifier "uint") (identifier "uVar23") (; ";")) (declaration "uint uVar24;" (type_identifier "uint") (identifier "uVar24") (; ";")) (declaration "uint uVar25;" (type_identifier "uint") (identifier "uVar25") (; ";")) (declaration "byte bVar26;" (type_identifier "byte") (identifier "bVar26") (; ";")) (declaration "undefined8 uVar27;" (type_identifier "undefined8") (identifier "uVar27") (; ";")) (declaration "uint auStackY_d4 [2];" (type_identifier "uint") (array_declarator "auStackY_d4 [2]" (identifier "auStackY_d4") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "uint local_bc;" (type_identifier "uint") (identifier "local_bc") (; ";")) (declaration "uint local_b8;" (type_identifier "uint") (identifier "local_b8") (; ";")) (declaration "uint local_b4;" (type_identifier "uint") (identifier "local_b4") (; ";")) (declaration "int local_b0;" (primitive_type "int") (identifier "local_b0") (; ";")) (declaration "uint local_ac;" (type_identifier "uint") (identifier "local_ac") (; ";")) (declaration "undefined4 local_a8;" (type_identifier "undefined4") (identifier "local_a8") (; ";")) (declaration "uint local_a4;" (type_identifier "uint") (identifier "local_a4") (; ";")) (declaration "undefined4 local_a0;" (type_identifier "undefined4") (identifier "local_a0") (; ";")) (declaration "uint local_9c;" (type_identifier "uint") (identifier "local_9c") (; ";")) (declaration "undefined4 local_98;" (type_identifier "undefined4") (identifier "local_98") (; ";")) (declaration "uint local_94;" (type_identifier "uint") (identifier "local_94") (; ";")) (declaration "uint local_90;" (type_identifier "uint") (identifier "local_90") (; ";")) (declaration "uint local_8c;" (type_identifier "uint") (identifier "local_8c") (; ";")) (declaration "uint local_88;" (type_identifier "uint") (identifier "local_88") (; ";")) (declaration "uint local_84;" (type_identifier "uint") (identifier "local_84") (; ";")) (declaration "uint local_80;" (type_identifier "uint") (identifier "local_80") (; ";")) (declaration "uint local_7c;" (type_identifier "uint") (identifier "local_7c") (; ";")) (declaration "int local_78;" (primitive_type "int") (identifier "local_78") (; ";")) (declaration "int *local_74;" (primitive_type "int") (pointer_declarator "*local_74" (* "*") (identifier "local_74")) (; ";")) (declaration "int local_70;" (primitive_type "int") (identifier "local_70") (; ";")) (declaration "bool local_69;" (primitive_type "bool") (identifier "local_69") (; ";")) (declaration "uint local_68;" (type_identifier "uint") (identifier "local_68") (; ";")) (declaration "uint *local_64;" (type_identifier "uint") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "int local_60;" (primitive_type "int") (identifier "local_60") (; ";")) (declaration "uint local_5c;" (type_identifier "uint") (identifier "local_5c") (; ";")) (declaration "undefined **local_58;" (type_identifier "undefined") (pointer_declarator "**local_58" (* "*") (pointer_declarator "*local_58" (* "*") (identifier "local_58"))) (; ";")) (declaration "uint *local_54;" (type_identifier "uint") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "uint *local_4c;" (type_identifier "uint") (pointer_declarator "*local_4c" (* "*") (identifier "local_4c")) (; ";")) (declaration "uint local_48;" (type_identifier "uint") (identifier "local_48") (; ";")) (declaration "int *local_44;" (primitive_type "int") (pointer_declarator "*local_44" (* "*") (identifier "local_44")) (; ";")) (declaration "int local_40 [3];" (primitive_type "int") (array_declarator "local_40 [3]" (identifier "local_40") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "uint *local_34;" (type_identifier "uint") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "uint local_2c [7];" (type_identifier "uint") (array_declarator "local_2c [7]" (identifier "local_2c") ([ "[") (number_literal "7") (] "]")) (; ";")) (expression_statement "puVar19 = &local_bc;" (assignment_expression "puVar19 = &local_bc" (identifier "puVar19") (= "=") (pointer_expression "&local_bc" (& "&") (identifier "local_bc"))) (; ";")) (expression_statement "puVar11 = &local_bc;" (assignment_expression "puVar11 = &local_bc" (identifier "puVar11") (= "=") (pointer_expression "&local_bc" (& "&") (identifier "local_bc"))) (; ";")) (expression_statement "local_58 = &__DT_PLTGOT;" (assignment_expression "local_58 = &__DT_PLTGOT" (identifier "local_58") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "local_44 = *(int **)(param_1 + 0x44);" (assignment_expression "local_44 = *(int **)(param_1 + 0x44)" (identifier "local_44") (= "=") (pointer_expression "*(int **)(param_1 + 0x44)" (* "*") (cast_expression "(int **)(param_1 + 0x44)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (if_statement "if ((local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0)) {\n    return;\n  }" (if "if") (parenthesized_expression "((local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0))" (( "(") (binary_expression "(local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0)" (parenthesized_expression "(local_44 == (int *)0x0)" (( "(") (binary_expression "local_44 == (int *)0x0" (identifier "local_44") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_1 + 0x60) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x60) == 0" (pointer_expression "*(int *)(param_1 + 0x60)" (* "*") (cast_expression "(int *)(param_1 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "bVar26 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar26 = *(byte *)(param_1 + 0x1c)" (identifier "bVar26") (= "=") (pointer_expression "*(byte *)(param_1 + 0x1c)" (* "*") (cast_expression "(byte *)(param_1 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "local_5c = CONCAT31(local_5c._1_3_,bVar26);" (assignment_expression "local_5c = CONCAT31(local_5c._1_3_,bVar26)" (identifier "local_5c") (= "=") (call_expression "CONCAT31(local_5c._1_3_,bVar26)" (identifier "CONCAT31") (argument_list "(local_5c._1_3_,bVar26)" (( "(") (field_expression "local_5c._1_3_" (identifier "local_5c") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar26") () ")")))) (; ";")) (if_statement "if ((bVar26 & 4) == 0) {\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);\n  }" (if "if") (parenthesized_expression "((bVar26 & 4) == 0)" (( "(") (binary_expression "(bVar26 & 4) == 0" (parenthesized_expression "(bVar26 & 4)" (( "(") (binary_expression "bVar26 & 4" (identifier "bVar26") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);\n  }" ({ "{") (expression_statement "FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);" (call_expression "FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26)" (identifier "FUN_002446e0") (argument_list "("../../gold/output.h",0xe3,"offset",bVar26)" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xe3") (, ",") (string_literal ""offset"" (" """) (string_content "offset") (" """)) (, ",") (identifier "bVar26") () ")"))) (; ";")) (} "}"))) (expression_statement "local_4c = *(uint **)(param_1 + 0x14);" (assignment_expression "local_4c = *(uint **)(param_1 + 0x14)" (identifier "local_4c") (= "=") (pointer_expression "*(uint **)(param_1 + 0x14)" (* "*") (cast_expression "(uint **)(param_1 + 0x14)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_54 = local_4c;" (assignment_expression "local_54 = local_4c" (identifier "local_54") (= "=") (identifier "local_4c")) (; ";")) (expression_statement "local_50 = *(int *)(param_1 + 0x18);" (assignment_expression "local_50 = *(int *)(param_1 + 0x18)" (identifier "local_50") (= "=") (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "local_74 = &DAT_005ea7c8;" (assignment_expression "local_74 = &DAT_005ea7c8" (identifier "local_74") (= "=") (pointer_expression "&DAT_005ea7c8" (& "&") (identifier "DAT_005ea7c8"))) (; ";")) (if_statement "if (*(int *)(DAT_005ea7c8 + 8) == 0) {\nLAB_000f392f:\n                    \n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;\n    FUN_000afd50();\n  }" (if "if") (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) == 0)" (( "(") (binary_expression "*(int *)(DAT_005ea7c8 + 8) == 0" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" (* "*") (cast_expression "(int *)(DAT_005ea7c8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_005ea7c8 + 8)" (( "(") (binary_expression "DAT_005ea7c8 + 8" (identifier "DAT_005ea7c8") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000f392f:\n                    \n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;\n    FUN_000afd50();\n  }" ({ "{") (labeled_statement "LAB_000f392f:\n                    \n    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;" (statement_identifier "LAB_000f392f") (: ":") (expression_statement "*(undefined4 *)((int)puVar19 + -4) = 0xf3934;" (assignment_expression "*(undefined4 *)((int)puVar19 + -4) = 0xf3934" (pointer_expression "*(undefined4 *)((int)puVar19 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar19 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + -4)" (( "(") (binary_expression "(int)puVar19 + -4" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0xf3934")) (; ";"))) (expression_statement "FUN_000afd50();" (call_expression "FUN_000afd50()" (identifier "FUN_000afd50") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f);" (assignment_expression "uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f)" (identifier "uVar23") (= "=") (binary_expression "1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f)" (( "(") (binary_expression "(byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f" (binary_expression "(byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_005ea7c8 + 8) + 0x2b20)" (( "(") (binary_expression "*(int *)(DAT_005ea7c8 + 8) + 0x2b20" (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" (* "*") (cast_expression "(int *)(DAT_005ea7c8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_005ea7c8 + 8)" (( "(") (binary_expression "DAT_005ea7c8 + 8" (identifier "DAT_005ea7c8") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x2b20")) () ")")))) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (uVar23 < 0x20) {\n    uVar23 = 0x20;\n  }" (if "if") (parenthesized_expression "(uVar23 < 0x20)" (( "(") (binary_expression "uVar23 < 0x20" (identifier "uVar23") (< "<") (number_literal "0x20")) () ")")) (compound_statement "{\n    uVar23 = 0x20;\n  }" ({ "{") (expression_statement "uVar23 = 0x20;" (assignment_expression "uVar23 = 0x20" (identifier "uVar23") (= "=") (number_literal "0x20")) (; ";")) (} "}"))) (expression_statement "uVar23 = (int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23;" (assignment_expression "uVar23 = (int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23" (identifier "uVar23") (= "=") (binary_expression "(int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23" (binary_expression "(int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70)" (binary_expression "(int)local_4c + (uVar23 - 1)" (cast_expression "(int)local_4c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_4c")) (+ "+") (parenthesized_expression "(uVar23 - 1)" (( "(") (binary_expression "uVar23 - 1" (identifier "uVar23") (- "-") (number_literal "1")) () ")"))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x70)" (* "*") (cast_expression "(int *)(param_1 + 0x70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")"))))) (& "&") (unary_expression "-uVar23" (- "-") (identifier "uVar23")))) (; ";")) (if_statement "if ((bVar26 & 2) == 0) {\nLAB_000f398a:\n    ppuVar4 = local_58;\n    *(uint *)((int)puVar11 + -4) = uVar23;\n    *(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;\n    *(undefined4 *)((int)puVar11 + -0xc) = 0xcf;\n    *(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n    *(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;\n    FUN_002446e0();\n  }" (if "if") (parenthesized_expression "((bVar26 & 2) == 0)" (( "(") (binary_expression "(bVar26 & 2) == 0" (parenthesized_expression "(bVar26 & 2)" (( "(") (binary_expression "bVar26 & 2" (identifier "bVar26") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000f398a:\n    ppuVar4 = local_58;\n    *(uint *)((int)puVar11 + -4) = uVar23;\n    *(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;\n    *(undefined4 *)((int)puVar11 + -0xc) = 0xcf;\n    *(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n    *(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;\n    FUN_002446e0();\n  }" ({ "{") (labeled_statement "LAB_000f398a:\n    ppuVar4 = local_58;" (statement_identifier "LAB_000f398a") (: ":") (expression_statement "ppuVar4 = local_58;" (assignment_expression "ppuVar4 = local_58" (identifier "ppuVar4") (= "=") (identifier "local_58")) (; ";"))) (expression_statement "*(uint *)((int)puVar11 + -4) = uVar23;" (assignment_expression "*(uint *)((int)puVar11 + -4) = uVar23" (pointer_expression "*(uint *)((int)puVar11 + -4)" (* "*") (cast_expression "(uint *)((int)puVar11 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar11 + -4)" (( "(") (binary_expression "(int)puVar11 + -4" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar23")) (; ";")) (expression_statement "*(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;" (assignment_expression "*(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161" (pointer_expression "*(undefined ***)((int)puVar11 + -8)" (* "*") (cast_expression "(undefined ***)((int)puVar11 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar11 + -8)" (( "(") (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "ppuVar4 + -0x61161" (identifier "ppuVar4") (+ "+") (number_literal "-0x61161"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar11 + -0xc) = 0xcf;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0xc) = 0xcf" (pointer_expression "*(undefined4 *)((int)puVar11 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar11 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar11 + -0xc)" (( "(") (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xcf")) (; ";")) (expression_statement "*(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;" (assignment_expression "*(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3" (pointer_expression "*(int *)((int)puVar11 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar11 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar11 + -0x10)" (( "(") (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar4 + -0x19cca3" (cast_expression "(int)ppuVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar4")) (+ "+") (number_literal "-0x19cca3"))) (; ";")) (expression_statement "*(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;" (assignment_expression "*(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6" (pointer_expression "*(undefined1 **)((int)puVar11 + -0x14)" (* "*") (cast_expression "(undefined1 **)((int)puVar11 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar11 + -0x14)" (( "(") (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_000f39a6" (& "&") (identifier "LAB_000f39a6"))) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar11 = (uint *)(uVar23 - (int)local_4c);" (assignment_expression "puVar11 = (uint *)(uVar23 - (int)local_4c)" (identifier "puVar11") (= "=") (cast_expression "(uint *)(uVar23 - (int)local_4c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar23 - (int)local_4c)" (( "(") (binary_expression "uVar23 - (int)local_4c" (identifier "uVar23") (- "-") (cast_expression "(int)local_4c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_4c"))) () ")")))) (; ";")) (expression_statement "local_4c = *(uint **)(param_1 + 0xc);" (assignment_expression "local_4c = *(uint **)(param_1 + 0xc)" (identifier "local_4c") (= "=") (pointer_expression "*(uint **)(param_1 + 0xc)" (* "*") (cast_expression "(uint **)(param_1 + 0xc)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar24 = (int)local_4c - (int)puVar11;" (assignment_expression "uVar24 = (int)local_4c - (int)puVar11" (identifier "uVar24") (= "=") (binary_expression "(int)local_4c - (int)puVar11" (cast_expression "(int)local_4c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_4c")) (- "-") (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")))) (; ";")) (expression_statement "local_48 = *(uint *)(param_1 + 0x10);" (assignment_expression "local_48 = *(uint *)(param_1 + 0x10)" (identifier "local_48") (= "=") (pointer_expression "*(uint *)(param_1 + 0x10)" (* "*") (cast_expression "(uint *)(param_1 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11)) {\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);\n  }" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11))" (( "(") (binary_expression "*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11)" (pointer_expression "*(uint *)(param_1 + 0x10)" (* "*") (cast_expression "(uint *)(param_1 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (call_expression "(uint)(local_4c < puVar11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_4c < puVar11)" (( "(") (binary_expression "local_4c < puVar11" (identifier "local_4c") (< "<") (identifier "puVar11")) () ")")))) () ")")) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);\n  }" ({ "{") (expression_statement "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);" (call_expression "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23)" (identifier "FUN_002446e0") (argument_list "("../../gold/gold.h",0xc0,"convert_types",uVar23)" (( "(") (string_literal ""../../gold/gold.h"" (" """) (string_content "../../gold/gold.h") (" """)) (, ",") (number_literal "0xc0") (, ",") (string_literal ""convert_types"" (" """) (string_content "convert_types") (" """)) (, ",") (identifier "uVar23") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar12 = (uint)CARRY4(uVar23,uVar24);" (assignment_expression "uVar12 = (uint)CARRY4(uVar23,uVar24)" (identifier "uVar12") (= "=") (cast_expression "(uint)CARRY4(uVar23,uVar24)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar23,uVar24)" (identifier "CARRY4") (argument_list "(uVar23,uVar24)" (( "(") (identifier "uVar23") (, ",") (identifier "uVar24") () ")"))))) (; ";")) (expression_statement "uVar24 = (uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24);" (assignment_expression "uVar24 = (uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24)" (identifier "uVar24") (= "=") (call_expression "(uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(uint *)(param_2 + 8) < uVar23 + uVar24)" (( "(") (binary_expression "*(uint *)(param_2 + 8) < uVar23 + uVar24" (pointer_expression "*(uint *)(param_2 + 8)" (* "*") (cast_expression "(uint *)(param_2 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")")))) (< "<") (binary_expression "uVar23 + uVar24" (identifier "uVar23") (+ "+") (identifier "uVar24"))) () ")")))) (; ";")) (expression_statement "iVar21 = *(int *)(param_2 + 0xc) - uVar12;" (assignment_expression "iVar21 = *(int *)(param_2 + 0xc) - uVar12" (identifier "iVar21") (= "=") (binary_expression "*(int *)(param_2 + 0xc) - uVar12" (pointer_expression "*(int *)(param_2 + 0xc)" (* "*") (cast_expression "(int *)(param_2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")")))) (- "-") (identifier "uVar12"))) (; ";")) (if_statement "if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0) {\n    local_70 = uVar23 + *(int *)(param_2 + 0x10);\n    iVar21 = *(int *)(param_1 + 0x34);\n    if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }\n    uVar23 = FUN_000af350();\n  }" (if "if") (parenthesized_expression "((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0)" (( "(") (binary_expression "(SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==\n      (int)(iVar21 - uVar24) < 0" (parenthesized_expression "(SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24))" (( "(") (binary_expression "SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)" (call_expression "SBORROW4(*(int *)(param_2 + 0xc),uVar12)" (identifier "SBORROW4") (argument_list "(*(int *)(param_2 + 0xc),uVar12)" (( "(") (pointer_expression "*(int *)(param_2 + 0xc)" (* "*") (cast_expression "(int *)(param_2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")")))) (, ",") (identifier "uVar12") () ")"))) (!= "!=") (call_expression "SBORROW4(iVar21,uVar24)" (identifier "SBORROW4") (argument_list "(iVar21,uVar24)" (( "(") (identifier "iVar21") (, ",") (identifier "uVar24") () ")")))) () ")")) (== "==") (binary_expression "(int)(iVar21 - uVar24) < 0" (cast_expression "(int)(iVar21 - uVar24)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar21 - uVar24)" (( "(") (binary_expression "iVar21 - uVar24" (identifier "iVar21") (- "-") (identifier "uVar24")) () ")"))) (< "<") (number_literal "0"))) () ")")) (compound_statement "{\n    local_70 = uVar23 + *(int *)(param_2 + 0x10);\n    iVar21 = *(int *)(param_1 + 0x34);\n    if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }\n    uVar23 = FUN_000af350();\n  }" ({ "{") (expression_statement "local_70 = uVar23 + *(int *)(param_2 + 0x10);" (assignment_expression "local_70 = uVar23 + *(int *)(param_2 + 0x10)" (identifier "local_70") (= "=") (binary_expression "uVar23 + *(int *)(param_2 + 0x10)" (identifier "uVar23") (+ "+") (pointer_expression "*(int *)(param_2 + 0x10)" (* "*") (cast_expression "(int *)(param_2 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (expression_statement "iVar21 = *(int *)(param_1 + 0x34);" (assignment_expression "iVar21 = *(int *)(param_1 + 0x34)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar21 + 0x14) != 0) {\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar21 + 0x14) != 0)" (( "(") (binary_expression "*(int *)(iVar21 + 0x14) != 0" (pointer_expression "*(int *)(iVar21 + 0x14)" (* "*") (cast_expression "(int *)(iVar21 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x14)" (( "(") (binary_expression "iVar21 + 0x14" (identifier "iVar21") (+ "+") (number_literal "0x14")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);\n      puVar22 = &local_bc;\n      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }\n      local_bc = *(uint *)(iVar1 + 4);\n      uVar23 = *(uint *)(iVar1 + 8);\n      local_b8 = uVar23;\n      puVar22 = &local_bc;\n      if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }\n      puVar11 = puVar22;\n      piVar7 = local_44;\n      local_44 = *(int **)(param_1 + 0x5c);\njoined_r0x000f30c8:\n      puVar19 = puVar11;\n      if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }\n      local_44 = piVar7;\n      if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }\n      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);\n      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);\n      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }\n      goto LAB_000f398a;\n    }" ({ "{") (expression_statement "iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);" (assignment_expression "iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(*(int *)(iVar21 + 0x14) + 0x20)" (* "*") (cast_expression "(int *)(*(int *)(iVar21 + 0x14) + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar21 + 0x14) + 0x20)" (( "(") (binary_expression "*(int *)(iVar21 + 0x14) + 0x20" (pointer_expression "*(int *)(iVar21 + 0x14)" (* "*") (cast_expression "(int *)(iVar21 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x14)" (( "(") (binary_expression "iVar21 + 0x14" (identifier "iVar21") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "puVar22 = &local_bc;" (assignment_expression "puVar22 = &local_bc" (identifier "puVar22") (= "=") (pointer_expression "&local_bc" (& "&") (identifier "local_bc"))) (; ";")) (if_statement "if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }" (if "if") (parenthesized_expression "((*(byte *)(iVar1 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar1 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar1 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(iVar1 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar1 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar1 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x1c)" (( "(") (binary_expression "iVar1 + 0x1c" (identifier "iVar1") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000f3135:\n        ppuVar4 = local_58;\n        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;\n        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;\n        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;\n                    \n        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;\n        FUN_002446e0();\n      }" ({ "{") (labeled_statement "LAB_000f3135:\n        ppuVar4 = local_58;" (statement_identifier "LAB_000f3135") (: ":") (expression_statement "ppuVar4 = local_58;" (assignment_expression "ppuVar4 = local_58" (identifier "ppuVar4") (= "=") (identifier "local_58")) (; ";"))) (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" (* "*") (cast_expression "(undefined ***)((int)puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar22 + -8)" (( "(") (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_58 + -0x611a3" (identifier "local_58") (+ "+") (number_literal "-0x611a3"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0xc)" (( "(") (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "*(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;" (assignment_expression "*(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3" (pointer_expression "*(int *)((int)puVar22 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x10)" (( "(") (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)ppuVar4 + -0x19cca3" (cast_expression "(int)ppuVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar4")) (+ "+") (number_literal "-0x19cca3"))) (; ";")) (expression_statement "*(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;" (assignment_expression "*(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153" (pointer_expression "*(undefined **)((int)puVar22 + -0x14)" (* "*") (cast_expression "(undefined **)((int)puVar22 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar22 + -0x14)" (( "(") (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_000f3153" (& "&") (identifier "UNK_000f3153"))) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_bc = *(uint *)(iVar1 + 4);" (assignment_expression "local_bc = *(uint *)(iVar1 + 4)" (identifier "local_bc") (= "=") (pointer_expression "*(uint *)(iVar1 + 4)" (* "*") (cast_expression "(uint *)(iVar1 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 4)" (( "(") (binary_expression "iVar1 + 4" (identifier "iVar1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar23 = *(uint *)(iVar1 + 8);" (assignment_expression "uVar23 = *(uint *)(iVar1 + 8)" (identifier "uVar23") (= "=") (pointer_expression "*(uint *)(iVar1 + 8)" (* "*") (cast_expression "(uint *)(iVar1 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 8)" (( "(") (binary_expression "iVar1 + 8" (identifier "iVar1") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "local_b8 = uVar23;" (assignment_expression "local_b8 = uVar23" (identifier "local_b8") (= "=") (identifier "uVar23")) (; ";")) (expression_statement "puVar22 = &local_bc;" (assignment_expression "puVar22 = &local_bc" (identifier "puVar22") (= "=") (pointer_expression "&local_bc" (& "&") (identifier "local_bc"))) (; ";")) (if_statement "if ((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)) {\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }" (if "if") (parenthesized_expression "((local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0))" (( "(") (binary_expression "(local_44 != (int *)0x0) &&\n         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)" (parenthesized_expression "(local_44 != (int *)0x0)" (( "(") (binary_expression "local_44 != (int *)0x0" (identifier "local_44") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0)" (( "(") (comma_expression "local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0" (assignment_expression "local_44 = *(int **)(param_1 + 0x40)" (identifier "local_44") (= "=") (pointer_expression "*(int **)(param_1 + 0x40)" (* "*") (cast_expression "(int **)(param_1 + 0x40)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")"))))) (, ",") (comma_expression "puVar22 = &local_bc,\n         *(int **)(param_1 + 0x40) != (int *)0x0" (assignment_expression "puVar22 = &local_bc" (identifier "puVar22") (= "=") (pointer_expression "&local_bc" (& "&") (identifier "local_bc"))) (, ",") (binary_expression "*(int **)(param_1 + 0x40) != (int *)0x0" (pointer_expression "*(int **)(param_1 + 0x40)" (* "*") (cast_expression "(int **)(param_1 + 0x40)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))))) () ")"))) () ")")) (compound_statement "{\n        local_7c = -local_bc - 0x8000;\n        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);\n        puVar22 = &local_bc;\n        do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );\n      }" ({ "{") (expression_statement "local_7c = -local_bc - 0x8000;" (assignment_expression "local_7c = -local_bc - 0x8000" (identifier "local_7c") (= "=") (binary_expression "-local_bc - 0x8000" (unary_expression "-local_bc" (- "-") (identifier "local_bc")) (- "-") (number_literal "0x8000"))) (; ";")) (expression_statement "local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);" (assignment_expression "local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc)" (identifier "local_78") (= "=") (binary_expression "(-1 - uVar23) - (uint)(0xffff8000 < local_bc)" (parenthesized_expression "(-1 - uVar23)" (( "(") (binary_expression "-1 - uVar23" (number_literal "-1") (- "-") (identifier "uVar23")) () ")")) (- "-") (call_expression "(uint)(0xffff8000 < local_bc)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xffff8000 < local_bc)" (( "(") (binary_expression "0xffff8000 < local_bc" (number_literal "0xffff8000") (< "<") (identifier "local_bc")) () ")"))))) (; ";")) (expression_statement "puVar22 = &local_bc;" (assignment_expression "puVar22 = &local_bc" (identifier "puVar22") (= "=") (pointer_expression "&local_bc" (& "&") (identifier "local_bc"))) (; ";")) (do_statement "do {\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        } while( true );" (do "do") (compound_statement "{\n          iVar1 = local_44[1];\n          if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }\n          if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }\n          local_44 = (int *)*local_44;\n          if (local_44 == (int *)0x0) break;\n          iVar21 = *(int *)(param_1 + 0x34);\n        }" ({ "{") (expression_statement "iVar1 = local_44[1];" (assignment_expression "iVar1 = local_44[1]" (identifier "iVar1") (= "=") (subscript_expression "local_44[1]" (identifier "local_44") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (iVar1 == 0) {\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }\n          else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            piVar7 = (int *)local_44[2];\n            uVar23 = local_44[5];\n            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }\n            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }\n            iVar1 = *piVar7;\n            *(uint *)((int)puVar22 + -0xc) = uVar23;\n            *(int **)((int)puVar22 + -0x10) = piVar7;\n            pcVar3 = *(code **)(iVar1 + 0xa8);\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;\n            local_54 = (uint *)(*pcVar3)();\n            local_50 = 0;\nLAB_000f2fbb:\n            piVar7 = local_44;\n            local_50 = 0;\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));\n            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));\n            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }\n            puVar22 = (uint *)puVar5;\n            puVar11 = local_64;\n            local_4c = *(uint **)(param_1 + 0x34);\n            local_68 = local_4c[2] & 2;\n            if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }\n            piVar7 = (int *)(uVar23 + local_70);\n            uVar23 = local_44[1];\n            if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }\n          }" ({ "{") (expression_statement "piVar7 = (int *)local_44[2];" (assignment_expression "piVar7 = (int *)local_44[2]" (identifier "piVar7") (= "=") (cast_expression "(int *)local_44[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_44[2]" (identifier "local_44") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "uVar23 = local_44[5];" (assignment_expression "uVar23 = local_44[5]" (identifier "uVar23") (= "=") (subscript_expression "local_44[5]" (identifier "local_44") ([ "[") (number_literal "5") (] "]"))) (; ";")) (if_statement "if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }" (if "if") (parenthesized_expression "((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23)" (( "(") (binary_expression "(uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23" (call_expression "(uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333)" (( "(") (binary_expression "(piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333" (parenthesized_expression "(piVar7[0x38] - piVar7[0x37] >> 2)" (( "(") (binary_expression "piVar7[0x38] - piVar7[0x37] >> 2" (binary_expression "piVar7[0x38] - piVar7[0x37]" (subscript_expression "piVar7[0x38]" (identifier "piVar7") ([ "[") (number_literal "0x38") (] "]")) (- "-") (subscript_expression "piVar7[0x37]" (identifier "piVar7") ([ "[") (number_literal "0x37") (] "]"))) (>> ">>") (number_literal "2")) () ")")) (* "*") (number_literal "-0x33333333")) () ")"))) (<= "<=") (identifier "uVar23")) () ")")) (compound_statement "{\n              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;\n              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;\n              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;\n                    \n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;\n              FUN_002446e0();\n            }" ({ "{") (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" (* "*") (cast_expression "(undefined ***)((int)puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar22 + -8)" (( "(") (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_58 + -0x6119f" (identifier "local_58") (+ "+") (number_literal "-0x6119f"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x8c1" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0xc)" (( "(") (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x8c1")) (; ";")) (expression_statement "*(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;" (assignment_expression "*(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b" (pointer_expression "*(int *)((int)puVar22 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x10)" (( "(") (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_58 + -0x19cc7b" (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58")) (+ "+") (number_literal "-0x19cc7b"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x14)" (( "(") (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xf38f3")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }\n            else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }" (if "if") (parenthesized_expression "((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0)" (( "(") (binary_expression "(*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0" (parenthesized_expression "(*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40)" (( "(") (binary_expression "*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40" (pointer_expression "*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14)" (* "*") (cast_expression "(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar7[0x37] + 0xb + uVar23 * 0x14)" (( "(") (binary_expression "piVar7[0x37] + 0xb + uVar23 * 0x14" (binary_expression "piVar7[0x37] + 0xb" (subscript_expression "piVar7[0x37]" (identifier "piVar7") ([ "[") (number_literal "0x37") (] "]")) (+ "+") (number_literal "0xb")) (+ "+") (binary_expression "uVar23 * 0x14" (identifier "uVar23") (* "*") (number_literal "0x14"))) () ")")))) (& "&") (number_literal "0x40")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar21 = *(int *)(iVar21 + 0x20);\n            }" ({ "{") (expression_statement "iVar21 = *(int *)(iVar21 + 0x20);" (assignment_expression "iVar21 = *(int *)(iVar21 + 0x20)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(iVar21 + 0x20)" (* "*") (cast_expression "(int *)(iVar21 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x20)" (( "(") (binary_expression "iVar21 + 0x20" (identifier "iVar21") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }" (else "else") (compound_statement "{\n              iVar21 = *(int *)(iVar21 + 0x1c);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }\n            }" ({ "{") (expression_statement "iVar21 = *(int *)(iVar21 + 0x1c);" (assignment_expression "iVar21 = *(int *)(iVar21 + 0x1c)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(iVar21 + 0x1c)" (* "*") (cast_expression "(int *)(iVar21 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x1c)" (( "(") (binary_expression "iVar21 + 0x1c" (identifier "iVar21") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;\n                FUN_002446e0();\n              }" ({ "{") (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" (* "*") (cast_expression "(undefined ***)((int)puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar22 + -8)" (( "(") (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_58 + -0x6121b" (identifier "local_58") (+ "+") (number_literal "-0x6121b"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x372;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x372" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0xc)" (( "(") (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x372")) (; ";")) (expression_statement "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;" (assignment_expression "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece" (pointer_expression "*(undefined ***)((int)puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)((int)puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar22 + -0x10)" (( "(") (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_58 + -0x60ece" (identifier "local_58") (+ "+") (number_literal "-0x60ece"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf3911" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x14)" (( "(") (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xf3911")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar1 = *piVar7;" (assignment_expression "iVar1 = *piVar7" (identifier "iVar1") (= "=") (pointer_expression "*piVar7" (* "*") (identifier "piVar7"))) (; ";")) (expression_statement "*(uint *)((int)puVar22 + -0xc) = uVar23;" (assignment_expression "*(uint *)((int)puVar22 + -0xc) = uVar23" (pointer_expression "*(uint *)((int)puVar22 + -0xc)" (* "*") (cast_expression "(uint *)((int)puVar22 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0xc)" (( "(") (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar23")) (; ";")) (expression_statement "*(int **)((int)puVar22 + -0x10) = piVar7;" (assignment_expression "*(int **)((int)puVar22 + -0x10) = piVar7" (pointer_expression "*(int **)((int)puVar22 + -0x10)" (* "*") (cast_expression "(int **)((int)puVar22 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar22 + -0x10)" (( "(") (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar7")) (; ";")) (expression_statement "pcVar3 = *(code **)(iVar1 + 0xa8);" (assignment_expression "pcVar3 = *(code **)(iVar1 + 0xa8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(iVar1 + 0xa8)" (* "*") (cast_expression "(code **)(iVar1 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0xa8)" (( "(") (binary_expression "iVar1 + 0xa8" (identifier "iVar1") (+ "+") (number_literal "0xa8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf348e" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x14)" (( "(") (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xf348e")) (; ";")) (expression_statement "local_54 = (uint *)(*pcVar3)();" (assignment_expression "local_54 = (uint *)(*pcVar3)()" (identifier "local_54") (= "=") (cast_expression "(uint *)(*pcVar3)()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_000f2fbb:\n            piVar7 = local_44;" (statement_identifier "LAB_000f2fbb") (: ":") (expression_statement "piVar7 = local_44;" (assignment_expression "piVar7 = local_44" (identifier "piVar7") (= "=") (identifier "local_44")) (; ";"))) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;" (if "if") (parenthesized_expression "((*(byte *)(iVar21 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar21 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar21 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(iVar21 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar21 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar21 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x1c)" (( "(") (binary_expression "iVar21 + 0x1c" (identifier "iVar21") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000f3135;" (goto "goto") (statement_identifier "LAB_000f3135") (; ";"))) (expression_statement "local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));" (assignment_expression "local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4))" (identifier "local_64") (= "=") (cast_expression "(uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_7c + (int)local_54 + *(uint *)(iVar21 + 4))" (( "(") (binary_expression "local_7c + (int)local_54 + *(uint *)(iVar21 + 4)" (binary_expression "local_7c + (int)local_54" (identifier "local_7c") (+ "+") (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54"))) (+ "+") (pointer_expression "*(uint *)(iVar21 + 4)" (* "*") (cast_expression "(uint *)(iVar21 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 4)" (( "(") (binary_expression "iVar21 + 4" (identifier "iVar21") (+ "+") (number_literal "4")) () ")"))))) () ")")))) (; ";")) (expression_statement "local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));" (assignment_expression "local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4))" (identifier "local_60") (= "=") (binary_expression "local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +\n                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4))" (binary_expression "local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8)" (binary_expression "local_78 + (uint)CARRY4(local_7c,(uint)local_54)" (identifier "local_78") (+ "+") (cast_expression "(uint)CARRY4(local_7c,(uint)local_54)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(local_7c,(uint)local_54)" (identifier "CARRY4") (argument_list "(local_7c,(uint)local_54)" (( "(") (identifier "local_7c") (, ",") (cast_expression "(uint)local_54" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_54")) () ")"))))) (+ "+") (pointer_expression "*(int *)(iVar21 + 8)" (* "*") (cast_expression "(int *)(iVar21 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 8)" (( "(") (binary_expression "iVar21 + 8" (identifier "iVar21") (+ "+") (number_literal "8")) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4))" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4))" (identifier "CARRY4") (argument_list "(local_7c + (int)local_54,*(uint *)(iVar21 + 4))" (( "(") (binary_expression "local_7c + (int)local_54" (identifier "local_7c") (+ "+") (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54"))) (, ",") (pointer_expression "*(uint *)(iVar21 + 4)" (* "*") (cast_expression "(uint *)(iVar21 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 4)" (( "(") (binary_expression "iVar21 + 4" (identifier "iVar21") (+ "+") (number_literal "4")) () ")")))) () ")")))))) (; ";")) (if_statement "if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }" (if "if") (parenthesized_expression "((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0))" (( "(") (binary_expression "(local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||\n               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)" (parenthesized_expression "(local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0)" (( "(") (binary_expression "local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0" (binary_expression "local_60 + (uint)((uint *)0x7fff7fff < local_64)" (identifier "local_60") (+ "+") (call_expression "(uint)((uint *)0x7fff7fff < local_64)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint *)0x7fff7fff < local_64)" (( "(") (binary_expression "(uint *)0x7fff7fff < local_64" (cast_expression "(uint *)0x7fff7fff" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7fff7fff")) (< "<") (identifier "local_64")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)" (( "(") (comma_expression "puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0" (assignment_expression "puVar5 = (undefined1 *)puVar22" (identifier "puVar5") (= "=") (cast_expression "(undefined1 *)puVar22" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar22"))) (, ",") (binary_expression "((uint)local_64 & 7) != 0" (parenthesized_expression "((uint)local_64 & 7)" (( "(") (binary_expression "(uint)local_64 & 7" (cast_expression "(uint)local_64" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_64")) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n              *(int *)((int)puVar22 + -0xc) = local_44[1];\n              *(uint ***)((int)puVar22 + -0x10) = &local_34;\n              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;\n              FUN_0034dd40();\n              puVar11 = local_34;\n              uVar2 = *(undefined4 *)(piVar7[2] + 4);\n              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;\n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;\n              uVar9 = gettext();\n              *(uint **)((int)puVar22 + -0xc) = puVar11;\n              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;\n              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;\n                    \n              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;\n              FUN_0023b810();\n              puVar5 = (undefined1 *)((int)puVar22 + -4);\n              if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }\n            }" ({ "{") (expression_statement "*(int *)((int)puVar22 + -0xc) = local_44[1];" (assignment_expression "*(int *)((int)puVar22 + -0xc) = local_44[1]" (pointer_expression "*(int *)((int)puVar22 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar22 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0xc)" (( "(") (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "local_44[1]" (identifier "local_44") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(uint ***)((int)puVar22 + -0x10) = &local_34;" (assignment_expression "*(uint ***)((int)puVar22 + -0x10) = &local_34" (pointer_expression "*(uint ***)((int)puVar22 + -0x10)" (* "*") (cast_expression "(uint ***)((int)puVar22 + -0x10)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar22 + -0x10)" (( "(") (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf3008" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x14)" (( "(") (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xf3008")) (; ";")) (expression_statement "FUN_0034dd40();" (call_expression "FUN_0034dd40()" (identifier "FUN_0034dd40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar11 = local_34;" (assignment_expression "puVar11 = local_34" (identifier "puVar11") (= "=") (identifier "local_34")) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(piVar7[2] + 4);" (assignment_expression "uVar2 = *(undefined4 *)(piVar7[2] + 4)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(piVar7[2] + 4)" (* "*") (cast_expression "(undefined4 *)(piVar7[2] + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar7[2] + 4)" (( "(") (binary_expression "piVar7[2] + 4" (subscript_expression "piVar7[2]" (identifier "piVar7") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;" (assignment_expression "*(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52" (pointer_expression "*(undefined ***)((int)puVar22 + -0x14)" (* "*") (cast_expression "(undefined ***)((int)puVar22 + -0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar22 + -0x14)" (( "(") (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "local_58 + -0x60d52" (identifier "local_58") (+ "+") (number_literal "-0x60d52"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3022" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x18)" (( "(") (binary_expression "(int)puVar22 + -0x18" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0xf3022")) (; ";")) (expression_statement "uVar9 = gettext();" (assignment_expression "uVar9 = gettext()" (identifier "uVar9") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(uint **)((int)puVar22 + -0xc) = puVar11;" (assignment_expression "*(uint **)((int)puVar22 + -0xc) = puVar11" (pointer_expression "*(uint **)((int)puVar22 + -0xc)" (* "*") (cast_expression "(uint **)((int)puVar22 + -0xc)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar22 + -0xc)" (( "(") (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0x10) = uVar2;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x10) = uVar2" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x10)" (( "(") (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = uVar9;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = uVar9" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x14)" (( "(") (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3032" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x18)" (( "(") (binary_expression "(int)puVar22 + -0x18" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0xf3032")) (; ";")) (expression_statement "FUN_0023b810();" (call_expression "FUN_0023b810()" (identifier "FUN_0023b810") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar5 = (undefined1 *)((int)puVar22 + -4);" (assignment_expression "puVar5 = (undefined1 *)((int)puVar22 + -4)" (identifier "puVar5") (= "=") (cast_expression "(undefined1 *)((int)puVar22 + -4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -4)" (( "(") (binary_expression "(int)puVar22 + -4" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (if_statement "if (local_34 != local_2c) {\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }" (if "if") (parenthesized_expression "(local_34 != local_2c)" (( "(") (binary_expression "local_34 != local_2c" (identifier "local_34") (!= "!=") (identifier "local_2c")) () ")")) (compound_statement "{\n                *(uint **)((int)puVar22 + -0x14) = local_34;\n                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;\n                FUN_003ae080();\n                puVar5 = (undefined1 *)((int)puVar22 + -4);\n              }" ({ "{") (expression_statement "*(uint **)((int)puVar22 + -0x14) = local_34;" (assignment_expression "*(uint **)((int)puVar22 + -0x14) = local_34" (pointer_expression "*(uint **)((int)puVar22 + -0x14)" (* "*") (cast_expression "(uint **)((int)puVar22 + -0x14)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar22 + -0x14)" (( "(") (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x18) = 0xf3048" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x18)" (( "(") (binary_expression "(int)puVar22 + -0x18" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0xf3048")) (; ";")) (expression_statement "FUN_003ae080();" (call_expression "FUN_003ae080()" (identifier "FUN_003ae080") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar5 = (undefined1 *)((int)puVar22 + -4);" (assignment_expression "puVar5 = (undefined1 *)((int)puVar22 + -4)" (identifier "puVar5") (= "=") (cast_expression "(undefined1 *)((int)puVar22 + -4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -4)" (( "(") (binary_expression "(int)puVar22 + -4" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar22 = (uint *)puVar5;" (assignment_expression "puVar22 = (uint *)puVar5" (identifier "puVar22") (= "=") (cast_expression "(uint *)puVar5" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5"))) (; ";")) (expression_statement "puVar11 = local_64;" (assignment_expression "puVar11 = local_64" (identifier "puVar11") (= "=") (identifier "local_64")) (; ";")) (expression_statement "local_4c = *(uint **)(param_1 + 0x34);" (assignment_expression "local_4c = *(uint **)(param_1 + 0x34)" (identifier "local_4c") (= "=") (pointer_expression "*(uint **)(param_1 + 0x34)" (* "*") (cast_expression "(uint **)(param_1 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "local_68 = local_4c[2] & 2;" (assignment_expression "local_68 = local_4c[2] & 2" (identifier "local_68") (= "=") (binary_expression "local_4c[2] & 2" (subscript_expression "local_4c[2]" (identifier "local_4c") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "2"))) (; ";")) (if_statement "if ((local_4c[2] & 2) == 0) {\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }\n            else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }" (if "if") (parenthesized_expression "((local_4c[2] & 2) == 0)" (( "(") (binary_expression "(local_4c[2] & 2) == 0" (parenthesized_expression "(local_4c[2] & 2)" (( "(") (binary_expression "local_4c[2] & 2" (subscript_expression "local_4c[2]" (identifier "local_4c") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar21 = *(int *)(*local_74 + 8);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }\n              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));\n              if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }\n            }" ({ "{") (expression_statement "iVar21 = *(int *)(*local_74 + 8);" (assignment_expression "iVar21 = *(int *)(*local_74 + 8)" (identifier "iVar21") (= "=") (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 (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;\n                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;\n                FUN_002446e0();\n              }" ({ "{") (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" (* "*") (cast_expression "(undefined ***)((int)puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar22 + -8)" (( "(") (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_58 + -0x61176" (identifier "local_58") (+ "+") (number_literal "-0x61176"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0xc)" (( "(") (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;" (assignment_expression "*(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93" (pointer_expression "*(int *)((int)puVar22 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x10)" (( "(") (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_58 + -0x1a1d93" (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58")) (+ "+") (number_literal "-0x1a1d93"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x14)" (( "(") (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xf38b7")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));" (assignment_expression "local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd))" (identifier "local_5c") (= "=") (call_expression "CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd))" (identifier "CONCAT31") (argument_list "(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd))" (( "(") (field_expression "local_5c._1_3_" (identifier "local_5c") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(undefined1 *)(iVar21 + 0x2bdd)" (* "*") (cast_expression "(undefined1 *)(iVar21 + 0x2bdd)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x2bdd)" (( "(") (binary_expression "iVar21 + 0x2bdd" (identifier "iVar21") (+ "+") (number_literal "0x2bdd")) () ")")))) () ")")))) (; ";")) (if_statement "if ((char)local_4c[0x27] == '\0') {\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }\n              else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }" (if "if") (parenthesized_expression "((char)local_4c[0x27] == '\0')" (( "(") (binary_expression "(char)local_4c[0x27] == '\0'" (cast_expression "(char)local_4c[0x27]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "local_4c[0x27]" (identifier "local_4c") ([ "[") (number_literal "0x27") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                local_69 = false;\n                local_64 = (uint *)0x0;\n                uVar23 = local_44[6];\n                local_60 = 0;\n                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);\n                bVar26 = false;\n              }" ({ "{") (expression_statement "local_69 = false;" (assignment_expression "local_69 = false" (identifier "local_69") (= "=") (false "false")) (; ";")) (expression_statement "local_64 = (uint *)0x0;" (assignment_expression "local_64 = (uint *)0x0" (identifier "local_64") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar23 = local_44[6];" (assignment_expression "uVar23 = local_44[6]" (identifier "uVar23") (= "=") (subscript_expression "local_44[6]" (identifier "local_44") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);" (assignment_expression "local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10)" (identifier "local_54") (= "=") (cast_expression "(uint *)((uint)(puVar11 + 0x2000) >> 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(puVar11 + 0x2000) >> 0x10)" (( "(") (binary_expression "(uint)(puVar11 + 0x2000) >> 0x10" (call_expression "(uint)(puVar11 + 0x2000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar11 + 0x2000)" (( "(") (binary_expression "puVar11 + 0x2000" (identifier "puVar11") (+ "+") (number_literal "0x2000")) () ")"))) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" (identifier "bVar26") (= "=") (false "false")) (; ";")) (} "}")) (else_clause "else {\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }" (else "else") (compound_statement "{\n                *(undefined4 *)((int)puVar22 + -4) = 0;\n                *(undefined4 *)((int)puVar22 + -8) = 0x18;\n                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);\n                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;\n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;\n                uVar23 = FUN_00442bb0();\n                puVar11 = local_64;\n                uVar24 = local_4c[10];\n                if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }\n                local_90 = 0;\n                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;\n                local_94 = uVar12;\n                if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }\n                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;\n                local_b4 = *(uint *)(uVar24 + 4);\n                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);\n                local_b0 = *(int *)(uVar24 + 8);\n                if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }\n                bVar26 = *(byte *)(param_1 + 0x1c);\n                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);\n                local_69 = (bool)(bVar26 & 1);\n                if ((bVar26 & 1) == 0) goto LAB_000f3135;\n                local_a0 = 0;\n                local_9c = 4;\n                local_98 = 0;\n                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;\n                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);\n                uVar23 = local_44[6];\n                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;\n                local_a4 = uVar23;\n                local_ac = uVar12 * 4;\n                local_a8 = 0;\n                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);\n                if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }\n                local_98 = 0;\n                uVar13 = local_5c & 0xff;\n                local_64 = (uint *)0x0;\n                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }\n                uVar25 = local_b4 + uVar13 * -4;\n                uVar14 = uVar25 - 0x14;\n                uVar15 = uVar14 - local_8c;\n                uVar16 = uVar15 - uVar23;\n                uVar12 = uVar16 + uVar12 * -4;\n                uVar17 = uVar12 + local_94;\n                uVar18 = uVar17 - local_9c;\n                puVar19 = (uint *)(uVar18 - (int)local_64);\n                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);\n                local_64 = puVar19;\n                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);\n                bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);\n              }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar22 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)puVar22 + -4) = 0" (pointer_expression "*(undefined4 *)((int)puVar22 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -4)" (( "(") (binary_expression "(int)puVar22 + -4" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -8) = 0x18;" (assignment_expression "*(undefined4 *)((int)puVar22 + -8) = 0x18" (pointer_expression "*(undefined4 *)((int)puVar22 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -8)" (( "(") (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x18")) (; ";")) (expression_statement "*(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);" (assignment_expression "*(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54)" (pointer_expression "*(uint *)((int)puVar22 + -0xc)" (* "*") (cast_expression "(uint *)((int)puVar22 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0xc)" (( "(") (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "local_50 + -1 + (uint)((uint *)0x17 < local_54)" (binary_expression "local_50 + -1" (identifier "local_50") (+ "+") (number_literal "-1")) (+ "+") (call_expression "(uint)((uint *)0x17 < local_54)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint *)0x17 < local_54)" (( "(") (binary_expression "(uint *)0x17 < local_54" (cast_expression "(uint *)0x17" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x17")) (< "<") (identifier "local_54")) () ")"))))) (; ";")) (expression_statement "*(uint **)((int)puVar22 + -0x10) = local_54 + -6;" (assignment_expression "*(uint **)((int)puVar22 + -0x10) = local_54 + -6" (pointer_expression "*(uint **)((int)puVar22 + -0x10)" (* "*") (cast_expression "(uint **)((int)puVar22 + -0x10)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar22 + -0x10)" (( "(") (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_54 + -6" (identifier "local_54") (+ "+") (number_literal "-6"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x14)" (( "(") (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xf34ca")) (; ";")) (expression_statement "uVar23 = FUN_00442bb0();" (assignment_expression "uVar23 = FUN_00442bb0()" (identifier "uVar23") (= "=") (call_expression "FUN_00442bb0()" (identifier "FUN_00442bb0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar11 = local_64;" (assignment_expression "puVar11 = local_64" (identifier "puVar11") (= "=") (identifier "local_64")) (; ";")) (expression_statement "uVar24 = local_4c[10];" (assignment_expression "uVar24 = local_4c[10]" (identifier "uVar24") (= "=") (subscript_expression "local_4c[10]" (identifier "local_4c") ([ "[") (number_literal "10") (] "]"))) (; ";")) (if_statement "if (uVar24 == 0) {\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }" (if "if") (parenthesized_expression "(uVar24 == 0)" (( "(") (binary_expression "uVar24 == 0" (identifier "uVar24") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;\n                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;\n                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;\n                  FUN_002446e0();\n                }" ({ "{") (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" (* "*") (cast_expression "(undefined ***)((int)puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar22 + -8)" (( "(") (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_58 + -0x61211" (identifier "local_58") (+ "+") (number_literal "-0x61211"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x3a3" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0xc)" (( "(") (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x3a3")) (; ";")) (expression_statement "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;" (assignment_expression "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece" (pointer_expression "*(undefined ***)((int)puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)((int)puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar22 + -0x10)" (( "(") (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_58 + -0x60ece" (identifier "local_58") (+ "+") (number_literal "-0x60ece"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf392f" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x14)" (( "(") (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xf392f")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8;" (assignment_expression "uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8" (identifier "uVar12") (= "=") (binary_expression "(-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40 + uVar23 * 8" (binary_expression "(-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +\n                         0x40" (parenthesized_expression "(-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4)" (( "(") (binary_expression "-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4" (unary_expression "-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0)" (- "-") (call_expression "(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0)" (( "(") (binary_expression "(*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2)" (( "(") (binary_expression "*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2" (pointer_expression "*(uint *)(*(int *)(uVar24 + 0x2c) + 8)" (* "*") (cast_expression "(uint *)(*(int *)(uVar24 + 0x2c) + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(uVar24 + 0x2c) + 8)" (( "(") (binary_expression "*(int *)(uVar24 + 0x2c) + 8" (pointer_expression "*(int *)(uVar24 + 0x2c)" (* "*") (cast_expression "(int *)(uVar24 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar24 + 0x2c)" (( "(") (binary_expression "uVar24 + 0x2c" (identifier "uVar24") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "0xfffffff4")) () ")")) (+ "+") (number_literal "0x40")) (+ "+") (binary_expression "uVar23 * 8" (identifier "uVar23") (* "*") (number_literal "8")))) (; ";")) (expression_statement "local_94 = uVar12;" (assignment_expression "local_94 = uVar12" (identifier "local_94") (= "=") (identifier "uVar12")) (; ";")) (if_statement "if (0x8000 < uVar23) {\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }" (if "if") (parenthesized_expression "(0x8000 < uVar23)" (( "(") (binary_expression "0x8000 < uVar23" (number_literal "0x8000") (< "<") (identifier "uVar23")) () ")")) (compound_statement "{\n                  uVar23 = uVar23 * 4 - 0x20000;\n                  local_94 = uVar12 + uVar23;\n                  local_90 = (uint)CARRY4(uVar12,uVar23);\n                }" ({ "{") (expression_statement "uVar23 = uVar23 * 4 - 0x20000;" (assignment_expression "uVar23 = uVar23 * 4 - 0x20000" (identifier "uVar23") (= "=") (binary_expression "uVar23 * 4 - 0x20000" (binary_expression "uVar23 * 4" (identifier "uVar23") (* "*") (number_literal "4")) (- "-") (number_literal "0x20000"))) (; ";")) (expression_statement "local_94 = uVar12 + uVar23;" (assignment_expression "local_94 = uVar12 + uVar23" (identifier "local_94") (= "=") (binary_expression "uVar12 + uVar23" (identifier "uVar12") (+ "+") (identifier "uVar23"))) (; ";")) (expression_statement "local_90 = (uint)CARRY4(uVar12,uVar23);" (assignment_expression "local_90 = (uint)CARRY4(uVar12,uVar23)" (identifier "local_90") (= "=") (cast_expression "(uint)CARRY4(uVar12,uVar23)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar12,uVar23)" (identifier "CARRY4") (argument_list "(uVar12,uVar23)" (( "(") (identifier "uVar12") (, ",") (identifier "uVar23") () ")"))))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;" (if "if") (parenthesized_expression "((*(byte *)(uVar24 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(uVar24 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(uVar24 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(uVar24 + 0x1c) & 1" (pointer_expression "*(byte *)(uVar24 + 0x1c)" (* "*") (cast_expression "(byte *)(uVar24 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar24 + 0x1c)" (( "(") (binary_expression "uVar24 + 0x1c" (identifier "uVar24") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000f3135;" (goto "goto") (statement_identifier "LAB_000f3135") (; ";"))) (expression_statement "local_b4 = *(uint *)(uVar24 + 4);" (assignment_expression "local_b4 = *(uint *)(uVar24 + 4)" (identifier "local_b4") (= "=") (pointer_expression "*(uint *)(uVar24 + 4)" (* "*") (cast_expression "(uint *)(uVar24 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar24 + 4)" (( "(") (binary_expression "uVar24 + 4" (identifier "uVar24") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);" (assignment_expression "uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f)" (identifier "uVar23") (= "=") (binary_expression "1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f)" (( "(") (binary_expression "(byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f" (binary_expression "(byte)*(undefined4 *)(iVar21 + 0x2b20)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(undefined4 *)(iVar21 + 0x2b20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x2b20)" (( "(") (binary_expression "iVar21 + 0x2b20" (identifier "iVar21") (+ "+") (number_literal "0x2b20")) () ")")))) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "local_b0 = *(int *)(uVar24 + 8);" (assignment_expression "local_b0 = *(int *)(uVar24 + 8)" (identifier "local_b0") (= "=") (pointer_expression "*(int *)(uVar24 + 8)" (* "*") (cast_expression "(int *)(uVar24 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar24 + 8)" (( "(") (binary_expression "uVar24 + 8" (identifier "uVar24") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (uVar23 < 0x20) {\n                  uVar23 = 0x20;\n                }" (if "if") (parenthesized_expression "(uVar23 < 0x20)" (( "(") (binary_expression "uVar23 < 0x20" (identifier "uVar23") (< "<") (number_literal "0x20")) () ")")) (compound_statement "{\n                  uVar23 = 0x20;\n                }" ({ "{") (expression_statement "uVar23 = 0x20;" (assignment_expression "uVar23 = 0x20" (identifier "uVar23") (= "=") (number_literal "0x20")) (; ";")) (} "}"))) (expression_statement "bVar26 = *(byte *)(param_1 + 0x1c);" (assignment_expression "bVar26 = *(byte *)(param_1 + 0x1c)" (identifier "bVar26") (= "=") (pointer_expression "*(byte *)(param_1 + 0x1c)" (* "*") (cast_expression "(byte *)(param_1 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);" (assignment_expression "local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26)" (identifier "local_54") (= "=") (cast_expression "(uint *)CONCAT31(local_54._1_3_,bVar26)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_54._1_3_,bVar26)" (identifier "CONCAT31") (argument_list "(local_54._1_3_,bVar26)" (( "(") (field_expression "local_54._1_3_" (identifier "local_54") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar26") () ")"))))) (; ";")) (expression_statement "local_69 = (bool)(bVar26 & 1);" (assignment_expression "local_69 = (bool)(bVar26 & 1)" (identifier "local_69") (= "=") (cast_expression "(bool)(bVar26 & 1)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar26 & 1)" (( "(") (binary_expression "bVar26 & 1" (identifier "bVar26") (& "&") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((bVar26 & 1) == 0) goto LAB_000f3135;" (if "if") (parenthesized_expression "((bVar26 & 1) == 0)" (( "(") (binary_expression "(bVar26 & 1) == 0" (parenthesized_expression "(bVar26 & 1)" (( "(") (binary_expression "bVar26 & 1" (identifier "bVar26") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000f3135;" (goto "goto") (statement_identifier "LAB_000f3135") (; ";"))) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" (identifier "local_a0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_9c = 4;" (assignment_expression "local_9c = 4" (identifier "local_9c") (= "=") (number_literal "4")) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);" (assignment_expression "uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4)" (identifier "uVar12") (= "=") (binary_expression "(uVar23 - 1) + *(uint *)(param_1 + 4)" (parenthesized_expression "(uVar23 - 1)" (( "(") (binary_expression "uVar23 - 1" (identifier "uVar23") (- "-") (number_literal "1")) () ")")) (+ "+") (pointer_expression "*(uint *)(param_1 + 4)" (* "*") (cast_expression "(uint *)(param_1 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))))) (; ";")) (expression_statement "local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;" (assignment_expression "local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23" (identifier "local_8c") (= "=") (binary_expression "*(uint *)(param_1 + 0x70) + uVar12 & -uVar23" (binary_expression "*(uint *)(param_1 + 0x70) + uVar12" (pointer_expression "*(uint *)(param_1 + 0x70)" (* "*") (cast_expression "(uint *)(param_1 + 0x70)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")")))) (+ "+") (identifier "uVar12")) (& "&") (unary_expression "-uVar23" (- "-") (identifier "uVar23")))) (; ";")) (expression_statement "local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);" (assignment_expression "local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0)" (identifier "local_88") (= "=") (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0)" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12)" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8)" (parenthesized_expression "((uVar23 != 0) - 1)" (( "(") (binary_expression "(uVar23 != 0) - 1" (parenthesized_expression "(uVar23 != 0)" (( "(") (binary_expression "uVar23 != 0" (identifier "uVar23") (!= "!=") (number_literal "0")) () ")")) (- "-") (number_literal "1")) () ")")) (+ "+") (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" (identifier "CARRY4") (argument_list "(uVar23 - 1,*(uint *)(param_1 + 4))" (( "(") (binary_expression "uVar23 - 1" (identifier "uVar23") (- "-") (number_literal "1")) (, ",") (pointer_expression "*(uint *)(param_1 + 4)" (* "*") (cast_expression "(uint *)(param_1 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(*(uint *)(param_1 + 0x70),uVar12)" (identifier "CARRY4") (argument_list "(*(uint *)(param_1 + 0x70),uVar12)" (( "(") (pointer_expression "*(uint *)(param_1 + 0x70)" (* "*") (cast_expression "(uint *)(param_1 + 0x70)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")")))) (, ",") (identifier "uVar12") () ")"))))) (& "&") (unary_expression "-(uint)(uVar23 != 0)" (- "-") (call_expression "(uint)(uVar23 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar23 != 0)" (( "(") (binary_expression "uVar23 != 0" (identifier "uVar23") (!= "!=") (number_literal "0")) () ")")))))) (; ";")) (expression_statement "uVar23 = local_44[6];" (assignment_expression "uVar23 = local_44[6]" (identifier "uVar23") (= "=") (subscript_expression "local_44[6]" (identifier "local_44") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;" (assignment_expression "uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1" (identifier "uVar12") (= "=") (binary_expression "*(byte *)((int)local_44 + 0x1f) >> 6 & 1" (binary_expression "*(byte *)((int)local_44 + 0x1f) >> 6" (pointer_expression "*(byte *)((int)local_44 + 0x1f)" (* "*") (cast_expression "(byte *)((int)local_44 + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_44 + 0x1f)" (( "(") (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (+ "+") (number_literal "0x1f")) () ")")))) (>> ">>") (number_literal "6")) (& "&") (number_literal "1"))) (; ";")) (expression_statement "local_a4 = uVar23;" (assignment_expression "local_a4 = uVar23" (identifier "local_a4") (= "=") (identifier "uVar23")) (; ";")) (expression_statement "local_ac = uVar12 * 4;" (assignment_expression "local_ac = uVar12 * 4" (identifier "local_ac") (= "=") (binary_expression "uVar12 * 4" (identifier "uVar12") (* "*") (number_literal "4"))) (; ";")) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" (identifier "local_a8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);" (assignment_expression "local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10)" (identifier "local_54") (= "=") (cast_expression "(uint *)((uint)(local_64 + 0x2000) >> 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(local_64 + 0x2000) >> 0x10)" (( "(") (binary_expression "(uint)(local_64 + 0x2000) >> 0x10" (call_expression "(uint)(local_64 + 0x2000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_64 + 0x2000)" (( "(") (binary_expression "local_64 + 0x2000" (identifier "local_64") (+ "+") (number_literal "0x2000")) () ")"))) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (if_statement "if (local_54 == (uint *)0x0) {\n                  local_9c = 0;\n                  local_98 = 0;\n                }" (if "if") (parenthesized_expression "(local_54 == (uint *)0x0)" (( "(") (binary_expression "local_54 == (uint *)0x0" (identifier "local_54") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  local_9c = 0;\n                  local_98 = 0;\n                }" ({ "{") (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" (identifier "local_9c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "local_98 = 0;" (assignment_expression "local_98 = 0" (identifier "local_98") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar13 = local_5c & 0xff;" (assignment_expression "uVar13 = local_5c & 0xff" (identifier "uVar13") (= "=") (binary_expression "local_5c & 0xff" (identifier "local_5c") (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "local_64 = (uint *)0x0;" (assignment_expression "local_64 = (uint *)0x0" (identifier "local_64") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {\n                  local_64 = (uint *)0x4;\n                }" (if "if") (parenthesized_expression "(local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10))" (( "(") (binary_expression "local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)" (identifier "local_54") (!= "!=") (cast_expression "(uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)" (( "(") (binary_expression "(uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10" (call_expression "(uint)(puVar11 + uVar13 * 2 + 0x2002)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar11 + uVar13 * 2 + 0x2002)" (( "(") (binary_expression "puVar11 + uVar13 * 2 + 0x2002" (binary_expression "puVar11 + uVar13 * 2" (identifier "puVar11") (+ "+") (binary_expression "uVar13 * 2" (identifier "uVar13") (* "*") (number_literal "2"))) (+ "+") (number_literal "0x2002")) () ")"))) (>> ">>") (number_literal "0x10")) () ")")))) () ")")) (compound_statement "{\n                  local_64 = (uint *)0x4;\n                }" ({ "{") (expression_statement "local_64 = (uint *)0x4;" (assignment_expression "local_64 = (uint *)0x4" (identifier "local_64") (= "=") (cast_expression "(uint *)0x4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4"))) (; ";")) (} "}"))) (expression_statement "uVar25 = local_b4 + uVar13 * -4;" (assignment_expression "uVar25 = local_b4 + uVar13 * -4" (identifier "uVar25") (= "=") (binary_expression "local_b4 + uVar13 * -4" (identifier "local_b4") (+ "+") (binary_expression "uVar13 * -4" (identifier "uVar13") (* "*") (number_literal "-4")))) (; ";")) (expression_statement "uVar14 = uVar25 - 0x14;" (assignment_expression "uVar14 = uVar25 - 0x14" (identifier "uVar14") (= "=") (binary_expression "uVar25 - 0x14" (identifier "uVar25") (- "-") (number_literal "0x14"))) (; ";")) (expression_statement "uVar15 = uVar14 - local_8c;" (assignment_expression "uVar15 = uVar14 - local_8c" (identifier "uVar15") (= "=") (binary_expression "uVar14 - local_8c" (identifier "uVar14") (- "-") (identifier "local_8c"))) (; ";")) (expression_statement "uVar16 = uVar15 - uVar23;" (assignment_expression "uVar16 = uVar15 - uVar23" (identifier "uVar16") (= "=") (binary_expression "uVar15 - uVar23" (identifier "uVar15") (- "-") (identifier "uVar23"))) (; ";")) (expression_statement "uVar12 = uVar16 + uVar12 * -4;" (assignment_expression "uVar12 = uVar16 + uVar12 * -4" (identifier "uVar12") (= "=") (binary_expression "uVar16 + uVar12 * -4" (identifier "uVar16") (+ "+") (binary_expression "uVar12 * -4" (identifier "uVar12") (* "*") (number_literal "-4")))) (; ";")) (expression_statement "uVar17 = uVar12 + local_94;" (assignment_expression "uVar17 = uVar12 + local_94" (identifier "uVar17") (= "=") (binary_expression "uVar12 + local_94" (identifier "uVar12") (+ "+") (identifier "local_94"))) (; ";")) (expression_statement "uVar18 = uVar17 - local_9c;" (assignment_expression "uVar18 = uVar17 - local_9c" (identifier "uVar18") (= "=") (binary_expression "uVar17 - local_9c" (identifier "uVar17") (- "-") (identifier "local_9c"))) (; ";")) (expression_statement "puVar19 = (uint *)(uVar18 - (int)local_64);" (assignment_expression "puVar19 = (uint *)(uVar18 - (int)local_64)" (identifier "puVar19") (= "=") (cast_expression "(uint *)(uVar18 - (int)local_64)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar18 - (int)local_64)" (( "(") (binary_expression "uVar18 - (int)local_64" (identifier "uVar18") (- "-") (cast_expression "(int)local_64" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_64"))) () ")")))) (; ";")) (expression_statement "local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64);" (assignment_expression "local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64)" (identifier "local_60") (= "=") (binary_expression "((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -\n                           (uint)(uVar18 < local_64)" (parenthesized_expression "((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c))" (( "(") (binary_expression "(((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)" (parenthesized_expression "(((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94))" (( "(") (binary_expression "((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +\n                            (uint)CARRY4(uVar12,local_94)" (binary_expression "((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90" (parenthesized_expression "((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac))" (( "(") (binary_expression "(((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)" (parenthesized_expression "(((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23))" (( "(") (binary_expression "((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -\n                              (uint)(uVar15 < uVar23)" (parenthesized_expression "((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c))" (( "(") (binary_expression "(((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)" (parenthesized_expression "(((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88)" (( "(") (binary_expression "((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)) - local_88" (parenthesized_expression "((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25))" (( "(") (binary_expression "(*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +\n                                 (uint)(0x13 < uVar25)" (binary_expression "(*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1" (parenthesized_expression "(*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4))" (( "(") (binary_expression "*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)" (pointer_expression "*(int *)(uVar24 + 8)" (* "*") (cast_expression "(int *)(uVar24 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar24 + 8)" (( "(") (binary_expression "uVar24 + 8" (identifier "uVar24") (+ "+") (number_literal "8")) () ")")))) (- "-") (call_expression "(uint)(local_b4 < uVar13 * 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_b4 < uVar13 * 4)" (( "(") (binary_expression "local_b4 < uVar13 * 4" (identifier "local_b4") (< "<") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")")))) () ")")) (+ "+") (number_literal "-1")) (+ "+") (call_expression "(uint)(0x13 < uVar25)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x13 < uVar25)" (( "(") (binary_expression "0x13 < uVar25" (number_literal "0x13") (< "<") (identifier "uVar25")) () ")")))) () ")")) (- "-") (identifier "local_88")) () ")")) (- "-") (call_expression "(uint)(uVar14 < local_8c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar14 < local_8c)" (( "(") (binary_expression "uVar14 < local_8c" (identifier "uVar14") (< "<") (identifier "local_8c")) () ")")))) () ")")) (- "-") (call_expression "(uint)(uVar15 < uVar23)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar15 < uVar23)" (( "(") (binary_expression "uVar15 < uVar23" (identifier "uVar15") (< "<") (identifier "uVar23")) () ")")))) () ")")) (- "-") (call_expression "(uint)(uVar16 < local_ac)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar16 < local_ac)" (( "(") (binary_expression "uVar16 < local_ac" (identifier "uVar16") (< "<") (identifier "local_ac")) () ")")))) () ")")) (+ "+") (identifier "local_90")) (+ "+") (cast_expression "(uint)CARRY4(uVar12,local_94)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar12,local_94)" (identifier "CARRY4") (argument_list "(uVar12,local_94)" (( "(") (identifier "uVar12") (, ",") (identifier "local_94") () ")"))))) () ")")) (- "-") (call_expression "(uint)(uVar17 < local_9c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar17 < local_9c)" (( "(") (binary_expression "uVar17 < local_9c" (identifier "uVar17") (< "<") (identifier "local_9c")) () ")")))) () ")")) (- "-") (call_expression "(uint)(uVar18 < local_64)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar18 < local_64)" (( "(") (binary_expression "uVar18 < local_64" (identifier "uVar18") (< "<") (identifier "local_64")) () ")"))))) (; ";")) (expression_statement "local_64 = puVar19;" (assignment_expression "local_64 = puVar19" (identifier "local_64") (= "=") (identifier "puVar19")) (; ";")) (expression_statement "iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);" (assignment_expression "iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19)" (identifier "iVar21") (= "=") (binary_expression "local_60 + (uint)((uint *)0xfdffffff < puVar19)" (identifier "local_60") (+ "+") (call_expression "(uint)((uint *)0xfdffffff < puVar19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint *)0xfdffffff < puVar19)" (( "(") (binary_expression "(uint *)0xfdffffff < puVar19" (cast_expression "(uint *)0xfdffffff" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfdffffff")) (< "<") (identifier "puVar19")) () ")"))))) (; ";")) (expression_statement "bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);" (assignment_expression "bVar26 = iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000)" (identifier "bVar26") (= "=") (binary_expression "iVar21 != 0 ||\n                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000)" (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000)" (binary_expression "(uint)-iVar21" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar21")) (< "<") (call_expression "(uint)((uint *)0x3ffffff < puVar19 + 0x800000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint *)0x3ffffff < puVar19 + 0x800000)" (( "(") (binary_expression "(uint *)0x3ffffff < puVar19 + 0x800000" (cast_expression "(uint *)0x3ffffff" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3ffffff")) (< "<") (binary_expression "puVar19 + 0x800000" (identifier "puVar19") (+ "+") (number_literal "0x800000"))) () ")")))))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }" (else "else") (compound_statement "{\n              local_5c = (uint)local_5c._1_3_ << 8;\n              local_69 = false;\n              puVar19 = local_64 + 0x2000;\n              local_64 = (uint *)0x0;\n              uVar23 = local_44[6];\n              local_60 = 0;\n              local_54 = (uint *)((uint)puVar19 >> 0x10);\n              bVar26 = false;\n            }" ({ "{") (expression_statement "local_5c = (uint)local_5c._1_3_ << 8;" (assignment_expression "local_5c = (uint)local_5c._1_3_ << 8" (identifier "local_5c") (= "=") (binary_expression "(uint)local_5c._1_3_ << 8" (cast_expression "(uint)local_5c._1_3_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "local_5c._1_3_" (identifier "local_5c") (. ".") (field_identifier "_1_3_"))) (<< "<<") (number_literal "8"))) (; ";")) (expression_statement "local_69 = false;" (assignment_expression "local_69 = false" (identifier "local_69") (= "=") (false "false")) (; ";")) (expression_statement "puVar19 = local_64 + 0x2000;" (assignment_expression "puVar19 = local_64 + 0x2000" (identifier "puVar19") (= "=") (binary_expression "local_64 + 0x2000" (identifier "local_64") (+ "+") (number_literal "0x2000"))) (; ";")) (expression_statement "local_64 = (uint *)0x0;" (assignment_expression "local_64 = (uint *)0x0" (identifier "local_64") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar23 = local_44[6];" (assignment_expression "uVar23 = local_44[6]" (identifier "uVar23") (= "=") (subscript_expression "local_44[6]" (identifier "local_44") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_54 = (uint *)((uint)puVar19 >> 0x10);" (assignment_expression "local_54 = (uint *)((uint)puVar19 >> 0x10)" (identifier "local_54") (= "=") (cast_expression "(uint *)((uint)puVar19 >> 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar19 >> 0x10)" (( "(") (binary_expression "(uint)puVar19 >> 0x10" (cast_expression "(uint)puVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar19")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" (identifier "bVar26") (= "=") (false "false")) (; ";")) (} "}")))) (expression_statement "piVar7 = (int *)(uVar23 + local_70);" (assignment_expression "piVar7 = (int *)(uVar23 + local_70)" (identifier "piVar7") (= "=") (cast_expression "(int *)(uVar23 + local_70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar23 + local_70)" (( "(") (binary_expression "uVar23 + local_70" (identifier "uVar23") (+ "+") (identifier "local_70")) () ")")))) (; ";")) (expression_statement "uVar23 = local_44[1];" (assignment_expression "uVar23 = local_44[1]" (identifier "uVar23") (= "=") (subscript_expression "local_44[1]" (identifier "local_44") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (local_4c[0x2d] == 0) {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }\n            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" (if "if") (parenthesized_expression "(local_4c[0x2d] == 0)" (( "(") (binary_expression "local_4c[0x2d] == 0" (subscript_expression "local_4c[0x2d]" (identifier "local_4c") ([ "[") (number_literal "0x2d") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" ({ "{") (expression_statement "bVar20 = *(byte *)((int)local_44 + 0x1f);" (assignment_expression "bVar20 = *(byte *)((int)local_44 + 0x1f)" (identifier "bVar20") (= "=") (pointer_expression "*(byte *)((int)local_44 + 0x1f)" (* "*") (cast_expression "(byte *)((int)local_44 + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_44 + 0x1f)" (( "(") (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (+ "+") (number_literal "0x1f")) () ")"))))) (; ";")) (} "}")) (else_clause "else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" (else "else") (if_statement "if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }\n            else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" (if "if") (parenthesized_expression "((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d]))" (( "(") (binary_expression "(local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])" (parenthesized_expression "(local_4c[0x2c] == uVar23)" (( "(") (binary_expression "local_4c[0x2c] == uVar23" (subscript_expression "local_4c[0x2c]" (identifier "local_4c") ([ "[") (number_literal "0x2c") (] "]")) (== "==") (identifier "uVar23")) () ")")) (|| "||") (parenthesized_expression "(uVar23 == local_4c[0x2d])" (( "(") (binary_expression "uVar23 == local_4c[0x2d]" (identifier "uVar23") (== "==") (subscript_expression "local_4c[0x2d]" (identifier "local_4c") ([ "[") (number_literal "0x2d") (] "]"))) () ")"))) () ")")) (compound_statement "{\n              *piVar7 = -0x169d0000;\n              piVar7[1] = -0x167cfff8;\n              piVar7[2] = 0x7c601b78;\n              piVar7[3] = 0x2c2b0000;\n              piVar7[4] = 0x7c6c6a14;\n              piVar7[5] = 0x4d820020;\n              piVar7[6] = 0x7c030378;\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n              bVar26 = local_69;\n              if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }\n            }" ({ "{") (expression_statement "*piVar7 = -0x169d0000;" (assignment_expression "*piVar7 = -0x169d0000" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (= "=") (number_literal "-0x169d0000")) (; ";")) (expression_statement "piVar7[1] = -0x167cfff8;" (assignment_expression "piVar7[1] = -0x167cfff8" (subscript_expression "piVar7[1]" (identifier "piVar7") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "-0x167cfff8")) (; ";")) (expression_statement "piVar7[2] = 0x7c601b78;" (assignment_expression "piVar7[2] = 0x7c601b78" (subscript_expression "piVar7[2]" (identifier "piVar7") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x7c601b78")) (; ";")) (expression_statement "piVar7[3] = 0x2c2b0000;" (assignment_expression "piVar7[3] = 0x2c2b0000" (subscript_expression "piVar7[3]" (identifier "piVar7") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0x2c2b0000")) (; ";")) (expression_statement "piVar7[4] = 0x7c6c6a14;" (assignment_expression "piVar7[4] = 0x7c6c6a14" (subscript_expression "piVar7[4]" (identifier "piVar7") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x7c6c6a14")) (; ";")) (expression_statement "piVar7[5] = 0x4d820020;" (assignment_expression "piVar7[5] = 0x4d820020" (subscript_expression "piVar7[5]" (identifier "piVar7") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0x4d820020")) (; ";")) (expression_statement "piVar7[6] = 0x7c030378;" (assignment_expression "piVar7[6] = 0x7c030378" (subscript_expression "piVar7[6]" (identifier "piVar7") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0x7c030378")) (; ";")) (expression_statement "bVar20 = *(byte *)((int)local_44 + 0x1f);" (assignment_expression "bVar20 = *(byte *)((int)local_44 + 0x1f)" (identifier "bVar20") (= "=") (pointer_expression "*(byte *)((int)local_44 + 0x1f)" (* "*") (cast_expression "(byte *)((int)local_44 + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_44 + 0x1f)" (( "(") (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (+ "+") (number_literal "0x1f")) () ")"))))) (; ";")) (expression_statement "bVar26 = local_69;" (assignment_expression "bVar26 = local_69" (identifier "bVar26") (= "=") (identifier "local_69")) (; ";")) (if_statement "if ((char)bVar20 < '\0') {\n                piVar7 = piVar7 + 7;\n              }\n              else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }" (if "if") (parenthesized_expression "((char)bVar20 < '\0')" (( "(") (binary_expression "(char)bVar20 < '\0'" (cast_expression "(char)bVar20" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar20")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                piVar7 = piVar7 + 7;\n              }" ({ "{") (expression_statement "piVar7 = piVar7 + 7;" (assignment_expression "piVar7 = piVar7 + 7" (identifier "piVar7") (= "=") (binary_expression "piVar7 + 7" (identifier "piVar7") (+ "+") (number_literal "7"))) (; ";")) (} "}")) (else_clause "else {\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }" (else "else") (compound_statement "{\n                piVar7[7] = 0x7d6802a6;\n                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;\n                bVar20 = *(byte *)((int)local_44 + 0x1f);\n                piVar7 = piVar7 + 9;\n              }" ({ "{") (expression_statement "piVar7[7] = 0x7d6802a6;" (assignment_expression "piVar7[7] = 0x7d6802a6" (subscript_expression "piVar7[7]" (identifier "piVar7") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x7d6802a6")) (; ";")) (expression_statement "piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008;" (assignment_expression "piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008" (subscript_expression "piVar7[8]" (identifier "piVar7") ([ "[") (number_literal "8") (] "]")) (= "=") (binary_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +\n                            0xf9610008" (parenthesized_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18)" (( "(") (binary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18" (unary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (- "-") (call_expression "(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (( "(") (binary_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2)" (( "(") (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8)" (* "*") (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x34) + 8)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) + 8" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "0x18")) () ")")) (+ "+") (number_literal "0xf9610008"))) (; ";")) (expression_statement "bVar20 = *(byte *)((int)local_44 + 0x1f);" (assignment_expression "bVar20 = *(byte *)((int)local_44 + 0x1f)" (identifier "bVar20") (= "=") (pointer_expression "*(byte *)((int)local_44 + 0x1f)" (* "*") (cast_expression "(byte *)((int)local_44 + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_44 + 0x1f)" (( "(") (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (+ "+") (number_literal "0x1f")) () ")"))))) (; ";")) (expression_statement "piVar7 = piVar7 + 9;" (assignment_expression "piVar7 = piVar7 + 9" (identifier "piVar7") (= "=") (binary_expression "piVar7 + 9" (identifier "piVar7") (+ "+") (number_literal "9"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" (else "else") (compound_statement "{\n              bVar20 = *(byte *)((int)local_44 + 0x1f);\n            }" ({ "{") (expression_statement "bVar20 = *(byte *)((int)local_44 + 0x1f);" (assignment_expression "bVar20 = *(byte *)((int)local_44 + 0x1f)" (identifier "bVar20") (= "=") (pointer_expression "*(byte *)((int)local_44 + 0x1f)" (* "*") (cast_expression "(byte *)((int)local_44 + 0x1f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_44 + 0x1f)" (( "(") (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (+ "+") (number_literal "0x1f")) () ")"))))) (; ";")) (} "}")))))) (if_statement "if (local_54 == (uint *)0x0) {\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }\n            else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }" (if "if") (parenthesized_expression "(local_54 == (uint *)0x0)" (( "(") (binary_expression "local_54 == (uint *)0x0" (identifier "local_54") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              piVar10 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;\n              if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }\n            }" ({ "{") (expression_statement "piVar10 = piVar7;" (assignment_expression "piVar10 = piVar7" (identifier "piVar10") (= "=") (identifier "piVar7")) (; ";")) (if_statement "if ((bVar20 & 0x40) != 0) {\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }" (if "if") (parenthesized_expression "((bVar20 & 0x40) != 0)" (( "(") (binary_expression "(bVar20 & 0x40) != 0" (parenthesized_expression "(bVar20 & 0x40)" (( "(") (binary_expression "bVar20 & 0x40" (identifier "bVar20") (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                piVar10 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }" ({ "{") (expression_statement "piVar10 = piVar7 + 1;" (assignment_expression "piVar10 = piVar7 + 1" (identifier "piVar10") (= "=") (binary_expression "piVar7 + 1" (identifier "piVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;" (assignment_expression "*piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (= "=") (binary_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018" (parenthesized_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10)" (( "(") (binary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10" (unary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (- "-") (call_expression "(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (( "(") (binary_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2)" (( "(") (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8)" (* "*") (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x34) + 8)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) + 8" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (+ "+") (number_literal "0xf8410018"))) (; ";")) (} "}"))) (expression_statement "*piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;" (assignment_expression "*piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (= "=") (binary_expression "((uint)puVar11 & 0xffff) + 0xe9820000" (parenthesized_expression "((uint)puVar11 & 0xffff)" (( "(") (binary_expression "(uint)puVar11 & 0xffff" (cast_expression "(uint)puVar11" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar11")) (& "&") (number_literal "0xffff")) () ")")) (+ "+") (number_literal "0xe9820000"))) (; ";")) (if_statement "if (local_68 == 0) {\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }\n              else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }" (if "if") (parenthesized_expression "(local_68 == 0)" (( "(") (binary_expression "local_68 == 0" (identifier "local_68") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                piVar8 = piVar7 + 1;\n                if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }\n                piVar10 = piVar8 + 1;\n                if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }\n                *piVar8 = iVar21;\n              }" ({ "{") (if_statement "if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }\n                else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }" (if "if") (parenthesized_expression "((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0)" (( "(") (binary_expression "(uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0" (binary_expression "(uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10" (call_expression "(uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar11 + (local_5c & 0xff) * 2 + 0x2002)" (( "(") (binary_expression "puVar11 + (local_5c & 0xff) * 2 + 0x2002" (binary_expression "puVar11 + (local_5c & 0xff) * 2" (identifier "puVar11") (+ "+") (binary_expression "(local_5c & 0xff) * 2" (parenthesized_expression "(local_5c & 0xff)" (( "(") (binary_expression "local_5c & 0xff" (identifier "local_5c") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "2"))) (+ "+") (number_literal "0x2002")) () ")"))) (>> ">>") (number_literal "0x10")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  piVar7 = piVar10 + 1;\n                  local_54 = puVar11;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;\n                }" ({ "{") (expression_statement "piVar7 = piVar10 + 1;" (assignment_expression "piVar7 = piVar10 + 1" (identifier "piVar7") (= "=") (binary_expression "piVar10 + 1" (identifier "piVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_54 = puVar11;" (assignment_expression "local_54 = puVar11" (identifier "local_54") (= "=") (identifier "puVar11")) (; ";")) (expression_statement "iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;" (assignment_expression "iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000" (identifier "iVar21") (= "=") (binary_expression "((uint)(puVar11 + 2) & 0xffff) + 0xe8420000" (parenthesized_expression "((uint)(puVar11 + 2) & 0xffff)" (( "(") (binary_expression "(uint)(puVar11 + 2) & 0xffff" (call_expression "(uint)(puVar11 + 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar11 + 2)" (( "(") (binary_expression "puVar11 + 2" (identifier "puVar11") (+ "+") (number_literal "2")) () ")"))) (& "&") (number_literal "0xffff")) () ")")) (+ "+") (number_literal "0xe8420000"))) (; ";")) (} "}")) (else_clause "else {\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }" (else "else") (compound_statement "{\n                  piVar7 = piVar10 + 2;\n                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;\n                  iVar21 = -0x17bdfff8;\n                }" ({ "{") (expression_statement "piVar7 = piVar10 + 2;" (assignment_expression "piVar7 = piVar10 + 2" (identifier "piVar7") (= "=") (binary_expression "piVar10 + 2" (identifier "piVar10") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;" (assignment_expression "piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000" (subscript_expression "piVar10[1]" (identifier "piVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "((uint)puVar11 & 0xffff) + 0x38420000" (parenthesized_expression "((uint)puVar11 & 0xffff)" (( "(") (binary_expression "(uint)puVar11 & 0xffff" (cast_expression "(uint)puVar11" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar11")) (& "&") (number_literal "0xffff")) () ")")) (+ "+") (number_literal "0x38420000"))) (; ";")) (expression_statement "iVar21 = -0x17bdfff8;" (assignment_expression "iVar21 = -0x17bdfff8" (identifier "iVar21") (= "=") (number_literal "-0x17bdfff8")) (; ";")) (} "}")))) (expression_statement "*piVar7 = 0x7d8903a6;" (assignment_expression "*piVar7 = 0x7d8903a6" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (= "=") (number_literal "0x7d8903a6")) (; ";")) (expression_statement "piVar8 = piVar7 + 1;" (assignment_expression "piVar8 = piVar7 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar7 + 1" (identifier "piVar7") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((bool)bVar26 != false) {\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }" (if "if") (parenthesized_expression "((bool)bVar26 != false)" (( "(") (binary_expression "(bool)bVar26 != false" (cast_expression "(bool)bVar26" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar26")) (!= "!=") (false "false")) () ")")) (compound_statement "{\n                  piVar7[1] = 0x7d8b6278;\n                  piVar8 = piVar7 + 3;\n                  piVar7[2] = 0x7c425a14;\n                }" ({ "{") (expression_statement "piVar7[1] = 0x7d8b6278;" (assignment_expression "piVar7[1] = 0x7d8b6278" (subscript_expression "piVar7[1]" (identifier "piVar7") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x7d8b6278")) (; ";")) (expression_statement "piVar8 = piVar7 + 3;" (assignment_expression "piVar8 = piVar7 + 3" (identifier "piVar8") (= "=") (binary_expression "piVar7 + 3" (identifier "piVar7") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "piVar7[2] = 0x7c425a14;" (assignment_expression "piVar7[2] = 0x7c425a14" (subscript_expression "piVar7[2]" (identifier "piVar7") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x7c425a14")) (; ";")) (} "}"))) (expression_statement "piVar10 = piVar8 + 1;" (assignment_expression "piVar10 = piVar8 + 1" (identifier "piVar10") (= "=") (binary_expression "piVar8 + 1" (identifier "piVar8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((char)local_5c != '\0') {\n                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\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                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;\n                  piVar10 = piVar8 + 2;\n                  piVar8 = piVar8 + 1;\n                }" ({ "{") (expression_statement "*piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;" (assignment_expression "*piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (binary_expression "((uint)(local_54 + 4) & 0xffff) + 0xe9620000" (parenthesized_expression "((uint)(local_54 + 4) & 0xffff)" (( "(") (binary_expression "(uint)(local_54 + 4) & 0xffff" (call_expression "(uint)(local_54 + 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_54 + 4)" (( "(") (binary_expression "local_54 + 4" (identifier "local_54") (+ "+") (number_literal "4")) () ")"))) (& "&") (number_literal "0xffff")) () ")")) (+ "+") (number_literal "0xe9620000"))) (; ";")) (expression_statement "piVar10 = piVar8 + 2;" (assignment_expression "piVar10 = piVar8 + 2" (identifier "piVar10") (= "=") (binary_expression "piVar8 + 2" (identifier "piVar8") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar8 + 1" (identifier "piVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "*piVar8 = iVar21;" (assignment_expression "*piVar8 = iVar21" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (identifier "iVar21")) (; ";")) (} "}")) (else_clause "else {\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }" (else "else") (compound_statement "{\n                piVar10[1] = 0x7d8903a6;\n                piVar10 = piVar10 + 2;\n              }" ({ "{") (expression_statement "piVar10[1] = 0x7d8903a6;" (assignment_expression "piVar10[1] = 0x7d8903a6" (subscript_expression "piVar10[1]" (identifier "piVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x7d8903a6")) (; ";")) (expression_statement "piVar10 = piVar10 + 2;" (assignment_expression "piVar10 = piVar10 + 2" (identifier "piVar10") (= "=") (binary_expression "piVar10 + 2" (identifier "piVar10") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }" (else "else") (compound_statement "{\n              piVar8 = piVar7;\n              if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }\n              uVar24 = (uint)puVar11 & 0xffff;\n              if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }\n            }" ({ "{") (expression_statement "piVar8 = piVar7;" (assignment_expression "piVar8 = piVar7" (identifier "piVar8") (= "=") (identifier "piVar7")) (; ";")) (if_statement "if ((bVar20 & 0x40) != 0) {\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }" (if "if") (parenthesized_expression "((bVar20 & 0x40) != 0)" (( "(") (binary_expression "(bVar20 & 0x40) != 0" (parenthesized_expression "(bVar20 & 0x40)" (( "(") (binary_expression "bVar20 & 0x40" (identifier "bVar20") (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                piVar8 = piVar7 + 1;\n                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;\n              }" ({ "{") (expression_statement "piVar8 = piVar7 + 1;" (assignment_expression "piVar8 = piVar7 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar7 + 1" (identifier "piVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018;" (assignment_expression "*piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (= "=") (binary_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                          0xf8410018" (parenthesized_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10)" (( "(") (binary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10" (unary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (- "-") (call_expression "(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (( "(") (binary_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2)" (( "(") (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8)" (* "*") (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x34) + 8)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) + 8" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (+ "+") (number_literal "0xf8410018"))) (; ";")) (} "}"))) (expression_statement "uVar24 = (uint)puVar11 & 0xffff;" (assignment_expression "uVar24 = (uint)puVar11 & 0xffff" (identifier "uVar24") (= "=") (binary_expression "(uint)puVar11 & 0xffff" (cast_expression "(uint)puVar11" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar11")) (& "&") (number_literal "0xffff"))) (; ";")) (if_statement "if (local_68 == 0) {\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }\n              else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }" (if "if") (parenthesized_expression "(local_68 == 0)" (( "(") (binary_expression "local_68 == 0" (identifier "local_68") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *piVar8 = (int)(local_54 + 0xf588000);\n                piVar8[1] = uVar24 + 0xe98b0000;\n                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }\n                *piVar7 = 0x7d8903a6;\n                if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }\n                uVar27 = CONCAT44(puVar11,piVar10);\n                *piVar10 = iVar21;\n                if ((char)local_5c != '\0') goto LAB_000f37c0;\n                piVar10 = piVar10 + 1;\n              }" ({ "{") (expression_statement "*piVar8 = (int)(local_54 + 0xf588000);" (assignment_expression "*piVar8 = (int)(local_54 + 0xf588000)" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (cast_expression "(int)(local_54 + 0xf588000)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_54 + 0xf588000)" (( "(") (binary_expression "local_54 + 0xf588000" (identifier "local_54") (+ "+") (number_literal "0xf588000")) () ")")))) (; ";")) (expression_statement "piVar8[1] = uVar24 + 0xe98b0000;" (assignment_expression "piVar8[1] = uVar24 + 0xe98b0000" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar24 + 0xe98b0000" (identifier "uVar24") (+ "+") (number_literal "0xe98b0000"))) (; ";")) (if_statement "if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))\n                {\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }\n                else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }" (if "if") (parenthesized_expression "(local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))" (( "(") (binary_expression "local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10)" (identifier "local_54") (== "==") (cast_expression "(uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10)" (( "(") (binary_expression "(uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10" (call_expression "(uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar11 + (local_5c & 0xff) * 2 + 0x2002)" (( "(") (binary_expression "puVar11 + (local_5c & 0xff) * 2 + 0x2002" (binary_expression "puVar11 + (local_5c & 0xff) * 2" (identifier "puVar11") (+ "+") (binary_expression "(local_5c & 0xff) * 2" (parenthesized_expression "(local_5c & 0xff)" (( "(") (binary_expression "local_5c & 0xff" (identifier "local_5c") (& "&") (number_literal "0xff")) () ")")) (* "*") (number_literal "2"))) (+ "+") (number_literal "0x2002")) () ")"))) (>> ">>") (number_literal "0x10")) () ")")))) () ")")) (compound_statement "{\n                  piVar7 = piVar8 + 2;\n                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;\n                }" ({ "{") (expression_statement "piVar7 = piVar8 + 2;" (assignment_expression "piVar7 = piVar8 + 2" (identifier "piVar7") (= "=") (binary_expression "piVar8 + 2" (identifier "piVar8") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;" (assignment_expression "iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000" (identifier "iVar21") (= "=") (binary_expression "((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000" (parenthesized_expression "((uint)(puVar11 + 2) & 0xffff)" (( "(") (binary_expression "(uint)(puVar11 + 2) & 0xffff" (call_expression "(uint)(puVar11 + 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar11 + 2)" (( "(") (binary_expression "puVar11 + 2" (identifier "puVar11") (+ "+") (number_literal "2")) () ")"))) (& "&") (number_literal "0xffff")) () ")")) (+ "+") (number_literal "0xe84b0000"))) (; ";")) (} "}")) (else_clause "else {\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }" (else "else") (compound_statement "{\n                  piVar7 = piVar8 + 3;\n                  puVar11 = (uint *)0x0;\n                  piVar8[2] = uVar24 + 0x396b0000;\n                  iVar21 = -0x17b4fff8;\n                }" ({ "{") (expression_statement "piVar7 = piVar8 + 3;" (assignment_expression "piVar7 = piVar8 + 3" (identifier "piVar7") (= "=") (binary_expression "piVar8 + 3" (identifier "piVar8") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "puVar11 = (uint *)0x0;" (assignment_expression "puVar11 = (uint *)0x0" (identifier "puVar11") (= "=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar8[2] = uVar24 + 0x396b0000;" (assignment_expression "piVar8[2] = uVar24 + 0x396b0000" (subscript_expression "piVar8[2]" (identifier "piVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar24 + 0x396b0000" (identifier "uVar24") (+ "+") (number_literal "0x396b0000"))) (; ";")) (expression_statement "iVar21 = -0x17b4fff8;" (assignment_expression "iVar21 = -0x17b4fff8" (identifier "iVar21") (= "=") (number_literal "-0x17b4fff8")) (; ";")) (} "}")))) (expression_statement "*piVar7 = 0x7d8903a6;" (assignment_expression "*piVar7 = 0x7d8903a6" (pointer_expression "*piVar7" (* "*") (identifier "piVar7")) (= "=") (number_literal "0x7d8903a6")) (; ";")) (if_statement "if ((bool)bVar26 == false) {\n                  piVar10 = piVar7 + 1;\n                }\n                else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }" (if "if") (parenthesized_expression "((bool)bVar26 == false)" (( "(") (binary_expression "(bool)bVar26 == false" (cast_expression "(bool)bVar26" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar26")) (== "==") (false "false")) () ")")) (compound_statement "{\n                  piVar10 = piVar7 + 1;\n                }" ({ "{") (expression_statement "piVar10 = piVar7 + 1;" (assignment_expression "piVar10 = piVar7 + 1" (identifier "piVar10") (= "=") (binary_expression "piVar7 + 1" (identifier "piVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }" (else "else") (compound_statement "{\n                  piVar7[1] = 0x7d826278;\n                  piVar10 = piVar7 + 3;\n                  piVar7[2] = 0x7d6b1214;\n                }" ({ "{") (expression_statement "piVar7[1] = 0x7d826278;" (assignment_expression "piVar7[1] = 0x7d826278" (subscript_expression "piVar7[1]" (identifier "piVar7") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x7d826278")) (; ";")) (expression_statement "piVar10 = piVar7 + 3;" (assignment_expression "piVar10 = piVar7 + 3" (identifier "piVar10") (= "=") (binary_expression "piVar7 + 3" (identifier "piVar7") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "piVar7[2] = 0x7d6b1214;" (assignment_expression "piVar7[2] = 0x7d6b1214" (subscript_expression "piVar7[2]" (identifier "piVar7") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x7d6b1214")) (; ";")) (} "}")))) (expression_statement "uVar27 = CONCAT44(puVar11,piVar10);" (assignment_expression "uVar27 = CONCAT44(puVar11,piVar10)" (identifier "uVar27") (= "=") (call_expression "CONCAT44(puVar11,piVar10)" (identifier "CONCAT44") (argument_list "(puVar11,piVar10)" (( "(") (identifier "puVar11") (, ",") (identifier "piVar10") () ")")))) (; ";")) (expression_statement "*piVar10 = iVar21;" (assignment_expression "*piVar10 = iVar21" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (= "=") (identifier "iVar21")) (; ";")) (if_statement "if ((char)local_5c != '\0') goto LAB_000f37c0;" (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") (' "'"))) () ")")) (goto_statement "goto LAB_000f37c0;" (goto "goto") (statement_identifier "LAB_000f37c0") (; ";"))) (expression_statement "piVar10 = piVar10 + 1;" (assignment_expression "piVar10 = piVar10 + 1" (identifier "piVar10") (= "=") (binary_expression "piVar10 + 1" (identifier "piVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }" (else "else") (compound_statement "{\n                piVar8[2] = 0x7d8903a6;\n                piVar10 = piVar8 + 3;\n                piVar8[1] = uVar24 + 0xe98c0000;\n                *piVar8 = (int)(local_54 + 0xf608000);\n              }" ({ "{") (expression_statement "piVar8[2] = 0x7d8903a6;" (assignment_expression "piVar8[2] = 0x7d8903a6" (subscript_expression "piVar8[2]" (identifier "piVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x7d8903a6")) (; ";")) (expression_statement "piVar10 = piVar8 + 3;" (assignment_expression "piVar10 = piVar8 + 3" (identifier "piVar10") (= "=") (binary_expression "piVar8 + 3" (identifier "piVar8") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "piVar8[1] = uVar24 + 0xe98c0000;" (assignment_expression "piVar8[1] = uVar24 + 0xe98c0000" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar24 + 0xe98c0000" (identifier "uVar24") (+ "+") (number_literal "0xe98c0000"))) (; ";")) (expression_statement "*piVar8 = (int)(local_54 + 0xf608000);" (assignment_expression "*piVar8 = (int)(local_54 + 0xf608000)" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (cast_expression "(int)(local_54 + 0xf608000)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_54 + 0xf608000)" (( "(") (binary_expression "local_54 + 0xf608000" (identifier "local_54") (+ "+") (number_literal "0xf608000")) () ")")))) (; ";")) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }" (else "else") (compound_statement "{\n            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }\n            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;\nLAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;\n            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;\n            cVar6 = FUN_00071a80();\n            if (cVar6 != '\0') goto LAB_000f2f9a;\n            iVar21 = *(int *)(iVar21 + 0x1c);\n            if (iVar21 != 0) goto LAB_000f2fa5;\n            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;\n            uVar27 = FUN_000af2f0();\n            bVar26 = extraout_CL;\nLAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);\n            *(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;\n          }" ({ "{") (if_statement "if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }" (if "if") (parenthesized_expression "((*(byte *)(iVar1 + 0x28) & 0xf) != 10)" (( "(") (binary_expression "(*(byte *)(iVar1 + 0x28) & 0xf) != 10" (parenthesized_expression "(*(byte *)(iVar1 + 0x28) & 0xf)" (( "(") (binary_expression "*(byte *)(iVar1 + 0x28) & 0xf" (pointer_expression "*(byte *)(iVar1 + 0x28)" (* "*") (cast_expression "(byte *)(iVar1 + 0x28)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x28)" (( "(") (binary_expression "iVar1 + 0x28" (identifier "iVar1") (+ "+") (number_literal "0x28")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (!= "!=") (number_literal "10")) () ")")) (compound_statement "{\nLAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);\n              if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }\nLAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }\n              local_50 = 0;\n              local_54 = *(uint **)(iVar1 + 0x18);\n              goto LAB_000f2fbb;\n            }" ({ "{") (labeled_statement "LAB_000f2f9a:\n              iVar21 = *(int *)(iVar21 + 0x18);" (statement_identifier "LAB_000f2f9a") (: ":") (expression_statement "iVar21 = *(int *)(iVar21 + 0x18);" (assignment_expression "iVar21 = *(int *)(iVar21 + 0x18)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(iVar21 + 0x18)" (* "*") (cast_expression "(int *)(iVar21 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x18)" (( "(") (binary_expression "iVar21 + 0x18" (identifier "iVar21") (+ "+") (number_literal "0x18")) () ")"))))) (; ";"))) (if_statement "if (iVar21 == 0) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }" (if "if") (parenthesized_expression "(iVar21 == 0)" (( "(") (binary_expression "iVar21 == 0" (identifier "iVar21") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;\n                FUN_002446e0();\n              }" ({ "{") (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" (* "*") (cast_expression "(undefined ***)((int)puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar22 + -8)" (( "(") (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_58 + -0x6121e" (identifier "local_58") (+ "+") (number_literal "-0x6121e"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x36a;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x36a" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0xc)" (( "(") (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x36a")) (; ";")) (expression_statement "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;" (assignment_expression "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece" (pointer_expression "*(undefined ***)((int)puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)((int)puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar22 + -0x10)" (( "(") (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_58 + -0x60ece" (identifier "local_58") (+ "+") (number_literal "-0x60ece"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x14)" (( "(") (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xf38d5")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_000f2fa5:\n              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }" (statement_identifier "LAB_000f2fa5") (: ":") (if_statement "if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }" (if "if") (parenthesized_expression "(*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff)" (( "(") (binary_expression "*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff" (pointer_expression "*(uint **)(iVar1 + 0x18)" (* "*") (cast_expression "(uint **)(iVar1 + 0x18)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x18)" (( "(") (binary_expression "iVar1 + 0x18" (identifier "iVar1") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (cast_expression "(uint *)0xffffffff" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;\n                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;\n                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;\n                    \n                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;\n                FUN_002446e0();\n              }" ({ "{") (expression_statement "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;" (assignment_expression "*(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221" (pointer_expression "*(undefined ***)((int)puVar22 + -8)" (* "*") (cast_expression "(undefined ***)((int)puVar22 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar22 + -8)" (( "(") (binary_expression "(int)puVar22 + -8" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_58 + -0x61221" (identifier "local_58") (+ "+") (number_literal "-0x61221"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0xc) = 0x1ce" (pointer_expression "*(undefined4 *)((int)puVar22 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0xc)" (( "(") (binary_expression "(int)puVar22 + -0xc" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x1ce")) (; ";")) (expression_statement "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;" (assignment_expression "*(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308" (pointer_expression "*(undefined ***)((int)puVar22 + -0x10)" (* "*") (cast_expression "(undefined ***)((int)puVar22 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar22 + -0x10)" (( "(") (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_58 + -0x67308" (identifier "local_58") (+ "+") (number_literal "-0x67308"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf389c" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x14)" (( "(") (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xf389c")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_54 = *(uint **)(iVar1 + 0x18);" (assignment_expression "local_54 = *(uint **)(iVar1 + 0x18)" (identifier "local_54") (= "=") (pointer_expression "*(uint **)(iVar1 + 0x18)" (* "*") (cast_expression "(uint **)(iVar1 + 0x18)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x18)" (( "(") (binary_expression "iVar1 + 0x18" (identifier "iVar1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (goto_statement "goto LAB_000f2fbb;" (goto "goto") (statement_identifier "LAB_000f2fbb") (; ";")) (} "}"))) (if_statement "if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }" (if "if") (parenthesized_expression "((*(byte *)(iVar1 + 0x2a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)(iVar1 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)(iVar1 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)(iVar1 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar1 + 0x2a)" (* "*") (cast_expression "(byte *)(iVar1 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x2a)" (( "(") (binary_expression "iVar1 + 0x2a" (identifier "iVar1") (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;\n              goto LAB_000f2f9a;\n            }" ({ "{") (if_statement "if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;" (if "if") (parenthesized_expression "(((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0))))" (( "(") (binary_expression "((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&\n                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))" (parenthesized_expression "((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1)" (( "(") (binary_expression "*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1" (pointer_expression "*(byte *)(*(int *)(iVar1 + 8) + 0x2c)" (* "*") (cast_expression "(byte *)(*(int *)(iVar1 + 8) + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar1 + 8) + 0x2c)" (( "(") (binary_expression "*(int *)(iVar1 + 8) + 0x2c" (pointer_expression "*(int *)(iVar1 + 8)" (* "*") (cast_expression "(int *)(iVar1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 8)" (( "(") (binary_expression "iVar1 + 8" (identifier "iVar1") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x2c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))" (( "(") (parenthesized_expression "(uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0))" (( "(") (comma_expression "uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)" (assignment_expression "uVar23 = *(uint *)(iVar1 + 0xc)" (identifier "uVar23") (= "=") (pointer_expression "*(uint *)(iVar1 + 0xc)" (* "*") (cast_expression "(uint *)(iVar1 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0xc)" (( "(") (binary_expression "iVar1 + 0xc" (identifier "iVar1") (+ "+") (number_literal "0xc")) () ")"))))) (, ",") (binary_expression "uVar23 != 0 ||\n                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)" (binary_expression "uVar23 != 0" (identifier "uVar23") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(iVar1 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(iVar1 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)(iVar1 + 0x2b) & 0x20" (pointer_expression "*(byte *)(iVar1 + 0x2b)" (* "*") (cast_expression "(byte *)(iVar1 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x2b)" (( "(") (binary_expression "iVar1 + 0x2b" (identifier "iVar1") (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000f3795;" (goto "goto") (statement_identifier "LAB_000f3795") (; ";"))) (goto_statement "goto LAB_000f2f9a;" (goto "goto") (statement_identifier "LAB_000f2f9a") (; ";")) (} "}"))) (if_statement "if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;" (if "if") (parenthesized_expression "((*(byte *)(iVar1 + 0x2a) & 7) == 4)" (( "(") (binary_expression "(*(byte *)(iVar1 + 0x2a) & 7) == 4" (parenthesized_expression "(*(byte *)(iVar1 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)(iVar1 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar1 + 0x2a)" (* "*") (cast_expression "(byte *)(iVar1 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x2a)" (( "(") (binary_expression "iVar1 + 0x2a" (identifier "iVar1") (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_000f2f9a;" (goto "goto") (statement_identifier "LAB_000f2f9a") (; ";"))) (labeled_statement "LAB_000f3795:\n            *(int *)((int)puVar22 + -0x10) = iVar1;" (statement_identifier "LAB_000f3795") (: ":") (expression_statement "*(int *)((int)puVar22 + -0x10) = iVar1;" (assignment_expression "*(int *)((int)puVar22 + -0x10) = iVar1" (pointer_expression "*(int *)((int)puVar22 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar22 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x10)" (( "(") (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar1")) (; ";"))) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0xf379e" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -0x14)" (( "(") (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xf379e")) (; ";")) (expression_statement "cVar6 = FUN_00071a80();" (assignment_expression "cVar6 = FUN_00071a80()" (identifier "cVar6") (= "=") (call_expression "FUN_00071a80()" (identifier "FUN_00071a80") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar6 != '\0') goto LAB_000f2f9a;" (if "if") (parenthesized_expression "(cVar6 != '\0')" (( "(") (binary_expression "cVar6 != '\0'" (identifier "cVar6") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000f2f9a;" (goto "goto") (statement_identifier "LAB_000f2f9a") (; ";"))) (expression_statement "iVar21 = *(int *)(iVar21 + 0x1c);" (assignment_expression "iVar21 = *(int *)(iVar21 + 0x1c)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(iVar21 + 0x1c)" (* "*") (cast_expression "(int *)(iVar21 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x1c)" (( "(") (binary_expression "iVar21 + 0x1c" (identifier "iVar21") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar21 != 0) goto LAB_000f2fa5;" (if "if") (parenthesized_expression "(iVar21 != 0)" (( "(") (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000f2fa5;" (goto "goto") (statement_identifier "LAB_000f2fa5") (; ";"))) (expression_statement "*(undefined4 *)((int)puVar22 + -4) = 0xf37b9;" (assignment_expression "*(undefined4 *)((int)puVar22 + -4) = 0xf37b9" (pointer_expression "*(undefined4 *)((int)puVar22 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar22 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar22 + -4)" (( "(") (binary_expression "(int)puVar22 + -4" (cast_expression "(int)puVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar22")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0xf37b9")) (; ";")) (expression_statement "uVar27 = FUN_000af2f0();" (assignment_expression "uVar27 = FUN_000af2f0()" (identifier "uVar27") (= "=") (call_expression "FUN_000af2f0()" (identifier "FUN_000af2f0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar26 = extraout_CL;" (assignment_expression "bVar26 = extraout_CL" (identifier "bVar26") (= "=") (identifier "extraout_CL")) (; ";")) (labeled_statement "LAB_000f37c0:\n            piVar10 = (int *)((int)uVar27 + 8);" (statement_identifier "LAB_000f37c0") (: ":") (expression_statement "piVar10 = (int *)((int)uVar27 + 8);" (assignment_expression "piVar10 = (int *)((int)uVar27 + 8)" (identifier "piVar10") (= "=") (cast_expression "(int *)((int)uVar27 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)uVar27 + 8)" (( "(") (binary_expression "(int)uVar27 + 8" (cast_expression "(int)uVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar27")) (+ "+") (number_literal "8")) () ")")))) (; ";"))) (expression_statement "*(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;" (assignment_expression "*(uint *)((int)uVar27 + 4) =\n                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000" (pointer_expression "*(uint *)((int)uVar27 + 4)" (* "*") (cast_expression "(uint *)((int)uVar27 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)uVar27 + 4)" (( "(") (binary_expression "(int)uVar27 + 4" (cast_expression "(int)uVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar27")) (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000" (parenthesized_expression "((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff)" (( "(") (binary_expression "(int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff" (binary_expression "(int)((ulonglong)uVar27 >> 0x20) + 0x10U" (cast_expression "(int)((ulonglong)uVar27 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar27 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar27 >> 0x20" (cast_expression "(ulonglong)uVar27" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar27")) (>> ">>") (number_literal "0x20")) () ")"))) (+ "+") (number_literal "0x10U")) (& "&") (number_literal "0xffff")) () ")")) (+ "+") (number_literal "0xe96b0000"))) (; ";")) (} "}")))) (if_statement "if (*(char *)((int)local_44 + 0x1f) < '\0') {\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }\n          else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }" (if "if") (parenthesized_expression "(*(char *)((int)local_44 + 0x1f) < '\0')" (( "(") (binary_expression "*(char *)((int)local_44 + 0x1f) < '\0'" (pointer_expression "*(char *)((int)local_44 + 0x1f)" (* "*") (cast_expression "(char *)((int)local_44 + 0x1f)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_44 + 0x1f)" (( "(") (binary_expression "(int)local_44 + 0x1f" (cast_expression "(int)local_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_44")) (+ "+") (number_literal "0x1f")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }\n          }" ({ "{") (labeled_statement "LAB_000f2f35:\n            if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }" (statement_identifier "LAB_000f2f35") (: ":") (if_statement "if ((bVar26 == 1) || (local_69 == false)) {\n              *piVar10 = 0x4e800420;\n            }\n            else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }" (if "if") (parenthesized_expression "((bVar26 == 1) || (local_69 == false))" (( "(") (binary_expression "(bVar26 == 1) || (local_69 == false)" (parenthesized_expression "(bVar26 == 1)" (( "(") (binary_expression "bVar26 == 1" (identifier "bVar26") (== "==") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(local_69 == false)" (( "(") (binary_expression "local_69 == false" (identifier "local_69") (== "==") (false "false")) () ")"))) () ")")) (compound_statement "{\n              *piVar10 = 0x4e800420;\n            }" ({ "{") (expression_statement "*piVar10 = 0x4e800420;" (assignment_expression "*piVar10 = 0x4e800420" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (= "=") (number_literal "0x4e800420")) (; ";")) (} "}")) (else_clause "else {\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }" (else "else") (compound_statement "{\n              *piVar10 = 0x28220000;\n              piVar10[1] = 0x4ce20420;\n              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;\n            }" ({ "{") (expression_statement "*piVar10 = 0x28220000;" (assignment_expression "*piVar10 = 0x28220000" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (= "=") (number_literal "0x28220000")) (; ";")) (expression_statement "piVar10[1] = 0x4ce20420;" (assignment_expression "piVar10[1] = 0x4ce20420" (subscript_expression "piVar10[1]" (identifier "piVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x4ce20420")) (; ";")) (expression_statement "piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;" (assignment_expression "piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000" (subscript_expression "piVar10[2]" (identifier "piVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "(uint)local_64 & 0x3fffffc | 0x48000000" (binary_expression "(uint)local_64 & 0x3fffffc" (cast_expression "(uint)local_64" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_64")) (& "&") (number_literal "0x3fffffc")) (| "|") (number_literal "0x48000000"))) (; ";")) (} "}"))))) (} "}")) (else_clause "else {\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }" (else "else") (compound_statement "{\n            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);\n            if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;\n            *piVar10 = 0x4e800421;\n            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;\n            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);\n            piVar10[3] = 0x7d6803a6;\n            piVar10[4] = 0x4e800020;\n            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;\n            uVar23 = param_1;\n          }" ({ "{") (expression_statement "uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);" (assignment_expression "uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4)" (identifier "uVar24") (= "=") (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 0xb4)" (* "*") (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 0xb4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xb4)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) + 0xb4" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "0xb4")) () ")"))))) (; ";")) (if_statement "if ((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))\n            goto LAB_000f2f35;" (if "if") (parenthesized_expression "((uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))" (( "(") (binary_expression "(uVar24 == 0) ||\n               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24)))" (parenthesized_expression "(uVar24 == 0)" (( "(") (binary_expression "uVar24 == 0" (identifier "uVar24") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24)))" (( "(") (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))" (( "(") (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24)" (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 0xb0)" (* "*") (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 0xb0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xb0)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) + 0xb0" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "0xb0")) () ")")))) (!= "!=") (identifier "uVar23")) (&& "&&") (parenthesized_expression "(uVar23 != uVar24)" (( "(") (binary_expression "uVar23 != uVar24" (identifier "uVar23") (!= "!=") (identifier "uVar24")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000f2f35;" (goto "goto") (statement_identifier "LAB_000f2f35") (; ";"))) (expression_statement "*piVar10 = 0x4e800421;" (assignment_expression "*piVar10 = 0x4e800421" (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) (= "=") (number_literal "0x4e800421")) (; ";")) (expression_statement "piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018;" (assignment_expression "piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018" (subscript_expression "piVar10[1]" (identifier "piVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +\n                         0xe8410018" (parenthesized_expression "(-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10)" (( "(") (binary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10" (unary_expression "-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (- "-") (call_expression "(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0)" (( "(") (binary_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2)" (( "(") (binary_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8)" (* "*") (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x34) + 8)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) + 8" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (+ "+") (number_literal "0xe8410018"))) (; ";")) (expression_statement "uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);" (assignment_expression "uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8)" (identifier "uVar23") (= "=") (pointer_expression "*(uint *)(*(int *)(param_1 + 0x34) + 8)" (* "*") (cast_expression "(uint *)(*(int *)(param_1 + 0x34) + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x34) + 8)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) + 8" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "piVar10[3] = 0x7d6803a6;" (assignment_expression "piVar10[3] = 0x7d6803a6" (subscript_expression "piVar10[3]" (identifier "piVar10") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0x7d6803a6")) (; ";")) (expression_statement "piVar10[4] = 0x4e800020;" (assignment_expression "piVar10[4] = 0x4e800020" (subscript_expression "piVar10[4]" (identifier "piVar10") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0x4e800020")) (; ";")) (expression_statement "piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;" (assignment_expression "piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008" (subscript_expression "piVar10[2]" (identifier "piVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "(-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008" (parenthesized_expression "(-(uint)((uVar23 & 2) == 0) & 0x18)" (( "(") (binary_expression "-(uint)((uVar23 & 2) == 0) & 0x18" (unary_expression "-(uint)((uVar23 & 2) == 0)" (- "-") (call_expression "(uint)((uVar23 & 2) == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uVar23 & 2) == 0)" (( "(") (binary_expression "(uVar23 & 2) == 0" (parenthesized_expression "(uVar23 & 2)" (( "(") (binary_expression "uVar23 & 2" (identifier "uVar23") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "0x18")) () ")")) (+ "+") (number_literal "0xe9610008"))) (; ";")) (expression_statement "uVar23 = param_1;" (assignment_expression "uVar23 = param_1" (identifier "uVar23") (= "=") (identifier "param_1")) (; ";")) (} "}")))) (expression_statement "local_44 = (int *)*local_44;" (assignment_expression "local_44 = (int *)*local_44" (identifier "local_44") (= "=") (cast_expression "(int *)*local_44" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_44" (* "*") (identifier "local_44")))) (; ";")) (if_statement "if (local_44 == (int *)0x0) break;" (if "if") (parenthesized_expression "(local_44 == (int *)0x0)" (( "(") (binary_expression "local_44 == (int *)0x0" (identifier "local_44") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar21 = *(int *)(param_1 + 0x34);" (assignment_expression "iVar21 = *(int *)(param_1 + 0x34)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "puVar11 = puVar22;" (assignment_expression "puVar11 = puVar22" (identifier "puVar11") (= "=") (identifier "puVar22")) (; ";")) (expression_statement "piVar7 = local_44;" (assignment_expression "piVar7 = local_44" (identifier "piVar7") (= "=") (identifier "local_44")) (; ";")) (expression_statement "local_44 = *(int **)(param_1 + 0x5c);" (assignment_expression "local_44 = *(int **)(param_1 + 0x5c)" (identifier "local_44") (= "=") (pointer_expression "*(int **)(param_1 + 0x5c)" (* "*") (cast_expression "(int **)(param_1 + 0x5c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x5c)" (( "(") (binary_expression "param_1 + 0x5c" (identifier "param_1") (+ "+") (number_literal "0x5c")) () ")"))))) (; ";")) (labeled_statement "joined_r0x000f30c8:\n      puVar19 = puVar11;" (statement_identifier "joined_r0x000f30c8") (: ":") (expression_statement "puVar19 = puVar11;" (assignment_expression "puVar19 = puVar11" (identifier "puVar19") (= "=") (identifier "puVar11")) (; ";"))) (if_statement "if (local_44 != (int *)0x0) {\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }" (if "if") (parenthesized_expression "(local_44 != (int *)0x0)" (( "(") (binary_expression "local_44 != (int *)0x0" (identifier "local_44") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );\n      }" ({ "{") (do_statement "do {\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        } while( true );" (do "do") (compound_statement "{\n          puVar11 = puVar19;\n          if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }\n          local_44 = (int *)*local_44;\n          puVar19 = puVar11;\n          piVar7 = local_44;\n          if (local_44 == (int *)0x0) break;\n        }" ({ "{") (expression_statement "puVar11 = puVar19;" (assignment_expression "puVar11 = puVar19" (identifier "puVar11") (= "=") (identifier "puVar19")) (; ";")) (if_statement "if ((char)local_44[4] == '\0') {\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }" (if "if") (parenthesized_expression "((char)local_44[4] == '\0')" (( "(") (binary_expression "(char)local_44[4] == '\0'" (cast_expression "(char)local_44[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "local_44[4]" (identifier "local_44") ([ "[") (number_literal "4") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            local_5c = local_44[5];\n            local_4c = *(uint **)(param_1 + 0x74);\n            local_64 = (uint *)((int)local_4c + local_70 + local_5c);\n            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;\n            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);\n            if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }\n            puVar22 = puVar19;\n            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            local_50 = local_44[2];\n            local_54 = (uint *)local_44[1];\n            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);\n            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;\n            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);\n            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);\n            uVar23 = uVar24 - local_5c;\n            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);\n            local_4c = (uint *)(uVar23 + 0x2000000);\n            if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;\n            local_4c = *(uint **)(param_1 + 0x34);\n            *(uint ***)((int)puVar19 + -8) = &local_34;\n            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;\n            *(int **)((int)puVar19 + -0x10) = local_40;\n            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;\n            local_34 = local_54;\n            local_30 = local_50;\n            FUN_00109180();\n            puVar22 = (uint *)((int)puVar19 + -4);\n            puVar11 = (uint *)((int)puVar19 + -4);\n            if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }\n            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);\n            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;\n            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;\n            uVar24 = uVar23 & 0xffff;\n            uVar23 = uVar23 + 0x8000 >> 0x10;\n            if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }\n            *puVar19 = 0x7d8903a6;\n            puVar19[1] = 0x4e800420;\n          }" ({ "{") (expression_statement "local_5c = local_44[5];" (assignment_expression "local_5c = local_44[5]" (identifier "local_5c") (= "=") (subscript_expression "local_44[5]" (identifier "local_44") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "local_4c = *(uint **)(param_1 + 0x74);" (assignment_expression "local_4c = *(uint **)(param_1 + 0x74)" (identifier "local_4c") (= "=") (pointer_expression "*(uint **)(param_1 + 0x74)" (* "*") (cast_expression "(uint **)(param_1 + 0x74)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x74)" (( "(") (binary_expression "param_1 + 0x74" (identifier "param_1") (+ "+") (number_literal "0x74")) () ")"))))) (; ";")) (expression_statement "local_64 = (uint *)((int)local_4c + local_70 + local_5c);" (assignment_expression "local_64 = (uint *)((int)local_4c + local_70 + local_5c)" (identifier "local_64") (= "=") (cast_expression "(uint *)((int)local_4c + local_70 + local_5c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_4c + local_70 + local_5c)" (( "(") (binary_expression "(int)local_4c + local_70 + local_5c" (binary_expression "(int)local_4c + local_70" (cast_expression "(int)local_4c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_4c")) (+ "+") (identifier "local_70")) (+ "+") (identifier "local_5c")) () ")")))) (; ";")) (if_statement "if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;" (if "if") (parenthesized_expression "(*(int *)(*local_74 + 8) == 0)" (( "(") (binary_expression "*(int *)(*local_74 + 8) == 0" (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")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000f392f;" (goto "goto") (statement_identifier "LAB_000f392f") (; ";"))) (expression_statement "uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);" (assignment_expression "uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f)" (identifier "uVar23") (= "=") (binary_expression "1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f)" (( "(") (binary_expression "(byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f" (binary_expression "(byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (cast_expression "(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*local_74 + 8) + 0x2b20)" (( "(") (binary_expression "*(int *)(*local_74 + 8) + 0x2b20" (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")) () ")")))) (+ "+") (number_literal "0x2b20")) () ")")))) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (uVar23 < 0x20) {\n              uVar23 = 0x20;\n            }" (if "if") (parenthesized_expression "(uVar23 < 0x20)" (( "(") (binary_expression "uVar23 < 0x20" (identifier "uVar23") (< "<") (number_literal "0x20")) () ")")) (compound_statement "{\n              uVar23 = 0x20;\n            }" ({ "{") (expression_statement "uVar23 = 0x20;" (assignment_expression "uVar23 = 0x20" (identifier "uVar23") (= "=") (number_literal "0x20")) (; ";")) (} "}"))) (expression_statement "puVar22 = puVar19;" (assignment_expression "puVar22 = puVar19" (identifier "puVar22") (= "=") (identifier "puVar19")) (; ";")) (if_statement "if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(param_1 + 0x1c) & 1" (pointer_expression "*(byte *)(param_1 + 0x1c)" (* "*") (cast_expression "(byte *)(param_1 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000f3135;" (goto "goto") (statement_identifier "LAB_000f3135") (; ";"))) (expression_statement "local_50 = local_44[2];" (assignment_expression "local_50 = local_44[2]" (identifier "local_50") (= "=") (subscript_expression "local_44[2]" (identifier "local_44") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_54 = (uint *)local_44[1];" (assignment_expression "local_54 = (uint *)local_44[1]" (identifier "local_54") (= "=") (cast_expression "(uint *)local_44[1]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_44[1]" (identifier "local_44") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);" (assignment_expression "uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4)" (identifier "uVar24") (= "=") (binary_expression "(uVar23 - 1) + *(uint *)(param_1 + 4)" (parenthesized_expression "(uVar23 - 1)" (( "(") (binary_expression "uVar23 - 1" (identifier "uVar23") (- "-") (number_literal "1")) () ")")) (+ "+") (pointer_expression "*(uint *)(param_1 + 4)" (* "*") (cast_expression "(uint *)(param_1 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))))) (; ";")) (expression_statement "local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;" (assignment_expression "local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23" (identifier "local_84") (= "=") (binary_expression "*(uint *)(param_1 + 0x70) + uVar24 & -uVar23" (binary_expression "*(uint *)(param_1 + 0x70) + uVar24" (pointer_expression "*(uint *)(param_1 + 0x70)" (* "*") (cast_expression "(uint *)(param_1 + 0x70)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")")))) (+ "+") (identifier "uVar24")) (& "&") (unary_expression "-uVar23" (- "-") (identifier "uVar23")))) (; ";")) (expression_statement "local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);" (assignment_expression "local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0)" (identifier "local_80") (= "=") (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0)" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +\n                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24)" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +\n                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" (binary_expression "((uVar23 != 0) - 1) + *(int *)(param_1 + 8)" (parenthesized_expression "((uVar23 != 0) - 1)" (( "(") (binary_expression "(uVar23 != 0) - 1" (parenthesized_expression "(uVar23 != 0)" (( "(") (binary_expression "uVar23 != 0" (identifier "uVar23") (!= "!=") (number_literal "0")) () ")")) (- "-") (number_literal "1")) () ")")) (+ "+") (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(uVar23 - 1,*(uint *)(param_1 + 4))" (identifier "CARRY4") (argument_list "(uVar23 - 1,*(uint *)(param_1 + 4))" (( "(") (binary_expression "uVar23 - 1" (identifier "uVar23") (- "-") (number_literal "1")) (, ",") (pointer_expression "*(uint *)(param_1 + 4)" (* "*") (cast_expression "(uint *)(param_1 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) () ")"))))) (+ "+") (cast_expression "(uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24)" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(*(uint *)(param_1 + 0x70),uVar24)" (identifier "CARRY4") (argument_list "(*(uint *)(param_1 + 0x70),uVar24)" (( "(") (pointer_expression "*(uint *)(param_1 + 0x70)" (* "*") (cast_expression "(uint *)(param_1 + 0x70)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")")))) (, ",") (identifier "uVar24") () ")"))))) (& "&") (unary_expression "-(uint)(uVar23 != 0)" (- "-") (call_expression "(uint)(uVar23 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar23 != 0)" (( "(") (binary_expression "uVar23 != 0" (identifier "uVar23") (!= "!=") (number_literal "0")) () ")")))))) (; ";")) (expression_statement "uVar24 = (int)local_54 - (int)((int)local_4c + local_84);" (assignment_expression "uVar24 = (int)local_54 - (int)((int)local_4c + local_84)" (identifier "uVar24") (= "=") (binary_expression "(int)local_54 - (int)((int)local_4c + local_84)" (cast_expression "(int)local_54" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_54")) (- "-") (cast_expression "(int)((int)local_4c + local_84)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)local_4c + local_84)" (( "(") (binary_expression "(int)local_4c + local_84" (cast_expression "(int)local_4c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_4c")) (+ "+") (identifier "local_84")) () ")"))))) (; ";")) (expression_statement "uVar23 = uVar24 - local_5c;" (assignment_expression "uVar23 = uVar24 - local_5c" (identifier "uVar23") (= "=") (binary_expression "uVar24 - local_5c" (identifier "uVar24") (- "-") (identifier "local_5c"))) (; ";")) (expression_statement "local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);" (assignment_expression "local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23)" (identifier "local_48") (= "=") (binary_expression "(((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23)" (parenthesized_expression "(((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c))" (( "(") (binary_expression "((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -\n                       (uint)(uVar24 < local_5c)" (parenthesized_expression "((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84)))" (( "(") (binary_expression "(local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -\n                        (uint)(local_54 < (uint *)((int)local_4c + local_84))" (parenthesized_expression "(local_50 - (local_80 + CARRY4((uint)local_4c,local_84)))" (( "(") (binary_expression "local_50 - (local_80 + CARRY4((uint)local_4c,local_84))" (identifier "local_50") (- "-") (parenthesized_expression "(local_80 + CARRY4((uint)local_4c,local_84))" (( "(") (binary_expression "local_80 + CARRY4((uint)local_4c,local_84)" (identifier "local_80") (+ "+") (call_expression "CARRY4((uint)local_4c,local_84)" (identifier "CARRY4") (argument_list "((uint)local_4c,local_84)" (( "(") (cast_expression "(uint)local_4c" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_4c")) (, ",") (identifier "local_84") () ")")))) () ")"))) () ")")) (- "-") (call_expression "(uint)(local_54 < (uint *)((int)local_4c + local_84))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_54 < (uint *)((int)local_4c + local_84))" (( "(") (binary_expression "local_54 < (uint *)((int)local_4c + local_84)" (identifier "local_54") (< "<") (cast_expression "(uint *)((int)local_4c + local_84)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_4c + local_84)" (( "(") (binary_expression "(int)local_4c + local_84" (cast_expression "(int)local_4c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_4c")) (+ "+") (identifier "local_84")) () ")")))) () ")")))) () ")")) (- "-") (call_expression "(uint)(uVar24 < local_5c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar24 < local_5c)" (( "(") (binary_expression "uVar24 < local_5c" (identifier "uVar24") (< "<") (identifier "local_5c")) () ")")))) () ")")) (+ "+") (call_expression "(uint)(0xfdffffff < uVar23)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xfdffffff < uVar23)" (( "(") (binary_expression "0xfdffffff < uVar23" (number_literal "0xfdffffff") (< "<") (identifier "uVar23")) () ")"))))) (; ";")) (expression_statement "local_4c = (uint *)(uVar23 + 0x2000000);" (assignment_expression "local_4c = (uint *)(uVar23 + 0x2000000)" (identifier "local_4c") (= "=") (cast_expression "(uint *)(uVar23 + 0x2000000)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar23 + 0x2000000)" (( "(") (binary_expression "uVar23 + 0x2000000" (identifier "uVar23") (+ "+") (number_literal "0x2000000")) () ")")))) (; ";")) (if_statement "if (local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)\n            goto code_r0x000f32c9;" (if "if") (parenthesized_expression "(local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)" (( "(") (binary_expression "local_48 == 0 &&\n                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48" (binary_expression "local_48 == 0" (identifier "local_48") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48" (call_expression "(uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000))" (( "(") (binary_expression "(uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)" (cast_expression "(uint *)0x3ffffff" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3ffffff")) (< "<") (cast_expression "(uint *)(uVar23 + 0x2000000)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar23 + 0x2000000)" (( "(") (binary_expression "uVar23 + 0x2000000" (identifier "uVar23") (+ "+") (number_literal "0x2000000")) () ")")))) () ")"))) (<= "<=") (unary_expression "-local_48" (- "-") (identifier "local_48")))) () ")")) (goto_statement "goto code_r0x000f32c9;" (goto "goto") (statement_identifier "code_r0x000f32c9") (; ";"))) (expression_statement "local_4c = *(uint **)(param_1 + 0x34);" (assignment_expression "local_4c = *(uint **)(param_1 + 0x34)" (identifier "local_4c") (= "=") (pointer_expression "*(uint **)(param_1 + 0x34)" (* "*") (cast_expression "(uint **)(param_1 + 0x34)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(uint ***)((int)puVar19 + -8) = &local_34;" (assignment_expression "*(uint ***)((int)puVar19 + -8) = &local_34" (pointer_expression "*(uint ***)((int)puVar19 + -8)" (* "*") (cast_expression "(uint ***)((int)puVar19 + -8)" (( "(") (type_descriptor "uint ***" (type_identifier "uint") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar19 + -8)" (( "(") (binary_expression "(int)puVar19 + -8" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (; ";")) (expression_statement "*(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;" (assignment_expression "*(uint **)((int)puVar19 + -0xc) = local_4c + 0x16" (pointer_expression "*(uint **)((int)puVar19 + -0xc)" (* "*") (cast_expression "(uint **)((int)puVar19 + -0xc)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar19 + -0xc)" (( "(") (binary_expression "(int)puVar19 + -0xc" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "local_4c + 0x16" (identifier "local_4c") (+ "+") (number_literal "0x16"))) (; ";")) (expression_statement "*(int **)((int)puVar19 + -0x10) = local_40;" (assignment_expression "*(int **)((int)puVar19 + -0x10) = local_40" (pointer_expression "*(int **)((int)puVar19 + -0x10)" (* "*") (cast_expression "(int **)((int)puVar19 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar19 + -0x10)" (( "(") (binary_expression "(int)puVar19 + -0x10" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_40")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;" (assignment_expression "*(undefined4 *)((int)puVar19 + -0x14) = 0xf3184" (pointer_expression "*(undefined4 *)((int)puVar19 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar19 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + -0x14)" (( "(") (binary_expression "(int)puVar19 + -0x14" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xf3184")) (; ";")) (expression_statement "local_34 = local_54;" (assignment_expression "local_34 = local_54" (identifier "local_34") (= "=") (identifier "local_54")) (; ";")) (expression_statement "local_30 = local_50;" (assignment_expression "local_30 = local_50" (identifier "local_30") (= "=") (identifier "local_50")) (; ";")) (expression_statement "FUN_00109180();" (call_expression "FUN_00109180()" (identifier "FUN_00109180") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar22 = (uint *)((int)puVar19 + -4);" (assignment_expression "puVar22 = (uint *)((int)puVar19 + -4)" (identifier "puVar22") (= "=") (cast_expression "(uint *)((int)puVar19 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + -4)" (( "(") (binary_expression "(int)puVar19 + -4" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (expression_statement "puVar11 = (uint *)((int)puVar19 + -4);" (assignment_expression "puVar11 = (uint *)((int)puVar19 + -4)" (identifier "puVar11") (= "=") (cast_expression "(uint *)((int)puVar19 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + -4)" (( "(") (binary_expression "(int)puVar19 + -4" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (if_statement "if (local_40[0] == 0) {\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }" (if "if") (parenthesized_expression "(local_40[0] == 0)" (( "(") (binary_expression "local_40[0] == 0" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;\n              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;\n              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;\n                    \n              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;\n              FUN_002446e0();\n            }" ({ "{") (expression_statement "*(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;" (assignment_expression "*(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333" (pointer_expression "*(undefined ***)((int)puVar19 + -0xc)" (* "*") (cast_expression "(undefined ***)((int)puVar19 + -0xc)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar19 + -0xc)" (( "(") (binary_expression "(int)puVar19 + -0xc" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "local_58 + -0x61333" (identifier "local_58") (+ "+") (number_literal "-0x61333"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;" (assignment_expression "*(undefined4 *)((int)puVar19 + -0x10) = 0x15f1" (pointer_expression "*(undefined4 *)((int)puVar19 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar19 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + -0x10)" (( "(") (binary_expression "(int)puVar19 + -0x10" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x15f1")) (; ";")) (expression_statement "*(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;" (assignment_expression "*(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece" (pointer_expression "*(undefined ***)((int)puVar19 + -0x14)" (* "*") (cast_expression "(undefined ***)((int)puVar19 + -0x14)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)puVar19 + -0x14)" (( "(") (binary_expression "(int)puVar19 + -0x14" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "local_58 + -0x60ece" (identifier "local_58") (+ "+") (number_literal "-0x60ece"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;" (assignment_expression "*(undefined4 *)((int)puVar19 + -0x18) = 0xf387e" (pointer_expression "*(undefined4 *)((int)puVar19 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar19 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar19 + -0x18)" (( "(") (binary_expression "(int)puVar19 + -0x18" (cast_expression "(int)puVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar19")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0xf387e")) (; ";")) (expression_statement "FUN_002446e0();" (call_expression "FUN_002446e0()" (identifier "FUN_002446e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);" (assignment_expression "iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0x24)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0x24)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) + 0x24" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;" (if "if") (parenthesized_expression "((*(byte *)(iVar21 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(iVar21 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(iVar21 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(iVar21 + 0x1c) & 1" (pointer_expression "*(byte *)(iVar21 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar21 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x1c)" (( "(") (binary_expression "iVar21 + 0x1c" (identifier "iVar21") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000f3135;" (goto "goto") (statement_identifier "LAB_000f3135") (; ";"))) (expression_statement "uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]\n            ;" (assignment_expression "uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]" (identifier "uVar23") (= "=") (binary_expression "((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]" (parenthesized_expression "((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc)" (( "(") (binary_expression "(*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc" (parenthesized_expression "(*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4))" (( "(") (binary_expression "*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)" (pointer_expression "*(int *)(local_40[0] + 0xc)" (* "*") (cast_expression "(int *)(local_40[0] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40[0] + 0xc)" (( "(") (binary_expression "local_40[0] + 0xc" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar21 + 4)" (* "*") (cast_expression "(int *)(iVar21 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 4)" (( "(") (binary_expression "iVar21 + 4" (identifier "iVar21") (+ "+") (number_literal "4")) () ")"))))) () ")")) (- "-") (identifier "local_bc")) () ")")) (- "-") (subscript_expression "local_44[3]" (identifier "local_44") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "uVar24 = uVar23 & 0xffff;" (assignment_expression "uVar24 = uVar23 & 0xffff" (identifier "uVar24") (= "=") (binary_expression "uVar23 & 0xffff" (identifier "uVar23") (& "&") (number_literal "0xffff"))) (; ";")) (expression_statement "uVar23 = uVar23 + 0x8000 >> 0x10;" (assignment_expression "uVar23 = uVar23 + 0x8000 >> 0x10" (identifier "uVar23") (= "=") (binary_expression "uVar23 + 0x8000 >> 0x10" (binary_expression "uVar23 + 0x8000" (identifier "uVar23") (+ "+") (number_literal "0x8000")) (>> ">>") (number_literal "0x10"))) (; ";")) (if_statement "if (uVar23 == 0) {\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }\n            else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }" (if "if") (parenthesized_expression "(uVar23 == 0)" (( "(") (binary_expression "uVar23 == 0" (identifier "uVar23") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              *local_64 = uVar24 + 0xe9820000;\n              puVar19 = local_64 + 1;\n            }" ({ "{") (expression_statement "*local_64 = uVar24 + 0xe9820000;" (assignment_expression "*local_64 = uVar24 + 0xe9820000" (pointer_expression "*local_64" (* "*") (identifier "local_64")) (= "=") (binary_expression "uVar24 + 0xe9820000" (identifier "uVar24") (+ "+") (number_literal "0xe9820000"))) (; ";")) (expression_statement "puVar19 = local_64 + 1;" (assignment_expression "puVar19 = local_64 + 1" (identifier "puVar19") (= "=") (binary_expression "local_64 + 1" (identifier "local_64") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }" (else "else") (compound_statement "{\n              local_64[1] = uVar24 + 0xe98c0000;\n              puVar19 = local_64 + 2;\n              *local_64 = uVar23 + 0x3d820000;\n            }" ({ "{") (expression_statement "local_64[1] = uVar24 + 0xe98c0000;" (assignment_expression "local_64[1] = uVar24 + 0xe98c0000" (subscript_expression "local_64[1]" (identifier "local_64") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar24 + 0xe98c0000" (identifier "uVar24") (+ "+") (number_literal "0xe98c0000"))) (; ";")) (expression_statement "puVar19 = local_64 + 2;" (assignment_expression "puVar19 = local_64 + 2" (identifier "puVar19") (= "=") (binary_expression "local_64 + 2" (identifier "local_64") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*local_64 = uVar23 + 0x3d820000;" (assignment_expression "*local_64 = uVar23 + 0x3d820000" (pointer_expression "*local_64" (* "*") (identifier "local_64")) (= "=") (binary_expression "uVar23 + 0x3d820000" (identifier "uVar23") (+ "+") (number_literal "0x3d820000"))) (; ";")) (} "}")))) (expression_statement "*puVar19 = 0x7d8903a6;" (assignment_expression "*puVar19 = 0x7d8903a6" (pointer_expression "*puVar19" (* "*") (identifier "puVar19")) (= "=") (number_literal "0x7d8903a6")) (; ";")) (expression_statement "puVar19[1] = 0x4e800420;" (assignment_expression "puVar19[1] = 0x4e800420" (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0x4e800420")) (; ";")) (} "}"))) (expression_statement "local_44 = (int *)*local_44;" (assignment_expression "local_44 = (int *)*local_44" (identifier "local_44") (= "=") (cast_expression "(int *)*local_44" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_44" (* "*") (identifier "local_44")))) (; ";")) (expression_statement "puVar19 = puVar11;" (assignment_expression "puVar19 = puVar11" (identifier "puVar19") (= "=") (identifier "puVar11")) (; ";")) (expression_statement "piVar7 = local_44;" (assignment_expression "piVar7 = local_44" (identifier "piVar7") (= "=") (identifier "local_44")) (; ";")) (if_statement "if (local_44 == (int *)0x0) break;" (if "if") (parenthesized_expression "(local_44 == (int *)0x0)" (( "(") (binary_expression "local_44 == (int *)0x0" (identifier "local_44") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "local_44 = piVar7;" (assignment_expression "local_44 = piVar7" (identifier "local_44") (= "=") (identifier "piVar7")) (; ";")) (if_statement "if (*(char *)(param_1 + 0x8c) == '\0') {\n        return;\n      }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x8c) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x8c) == '\0'" (pointer_expression "*(char *)(param_1 + 0x8c)" (* "*") (cast_expression "(char *)(param_1 + 0x8c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x8c)" (( "(") (binary_expression "param_1 + 0x8c" (identifier "param_1") (+ "+") (number_literal "0x8c")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);" (assignment_expression "uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74)" (identifier "uVar23") (= "=") (binary_expression "local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74)" (binary_expression "local_70 + *(int *)(param_1 + 0x7c)" (identifier "local_70") (+ "+") (pointer_expression "*(int *)(param_1 + 0x7c)" (* "*") (cast_expression "(int *)(param_1 + 0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x7c)" (( "(") (binary_expression "param_1 + 0x7c" (identifier "param_1") (+ "+") (number_literal "0x7c")) () ")"))))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x74)" (* "*") (cast_expression "(int *)(param_1 + 0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x74)" (( "(") (binary_expression "param_1 + 0x74" (identifier "param_1") (+ "+") (number_literal "0x74")) () ")")))))) (; ";")) (expression_statement "iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);" (assignment_expression "iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(*(int *)(param_1 + 0x34) + 0xac)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x34) + 0xac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x34) + 0xac)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) + 0xac" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (+ "+") (number_literal "0xac")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }" (if "if") (parenthesized_expression "((*(byte *)(iVar21 + 0x1c) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(iVar21 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar21 + 0x1c) & 2)" (( "(") (binary_expression "*(byte *)(iVar21 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar21 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar21 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x1c)" (( "(") (binary_expression "iVar21 + 0x1c" (identifier "iVar21") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar2 = *(undefined4 *)(iVar21 + 0x2c);\n        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);\n        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;\n        *(uint *)((int)puVar11 + -0x10) = uVar23;\n        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;\n        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));\n        return;\n      }" ({ "{") (expression_statement "uVar2 = *(undefined4 *)(iVar21 + 0x2c);" (assignment_expression "uVar2 = *(undefined4 *)(iVar21 + 0x2c)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar21 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(iVar21 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0x2c)" (( "(") (binary_expression "iVar21 + 0x2c" (identifier "iVar21") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar11 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar11 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar11 + -8)" (( "(") (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar21 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar21 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar21 + 0xc)" (( "(") (binary_expression "iVar21 + 0xc" (identifier "iVar21") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar11 + -0xc) = uVar2;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0xc) = uVar2" (pointer_expression "*(undefined4 *)((int)puVar11 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar11 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar11 + -0xc)" (( "(") (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "*(uint *)((int)puVar11 + -0x10) = uVar23;" (assignment_expression "*(uint *)((int)puVar11 + -0x10) = uVar23" (pointer_expression "*(uint *)((int)puVar11 + -0x10)" (* "*") (cast_expression "(uint *)((int)puVar11 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar11 + -0x10)" (( "(") (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar23")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;" (assignment_expression "*(undefined4 *)((int)puVar11 + -0x14) = 0xf322d" (pointer_expression "*(undefined4 *)((int)puVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar11 + -0x14)" (( "(") (binary_expression "(int)puVar11 + -0x14" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0xf322d")) (; ";")) (expression_statement "memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8));" (call_expression "memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8))" (identifier "memcpy") (argument_list "(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),\n               *(size_t *)((int)puVar11 + -8))" (( "(") (pointer_expression "*(void **)((int)puVar11 + -0x10)" (* "*") (cast_expression "(void **)((int)puVar11 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar11 + -0x10)" (( "(") (binary_expression "(int)puVar11 + -0x10" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(void **)((int)puVar11 + -0xc)" (* "*") (cast_expression "(void **)((int)puVar11 + -0xc)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar11 + -0xc)" (( "(") (binary_expression "(int)puVar11 + -0xc" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)((int)puVar11 + -8)" (* "*") (cast_expression "(size_t *)((int)puVar11 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar11 + -8)" (( "(") (binary_expression "(int)puVar11 + -8" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "-8")) () ")")))) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (goto_statement "goto LAB_000f398a;" (goto "goto") (statement_identifier "LAB_000f398a") (; ";")) (} "}"))) (expression_statement "uVar23 = FUN_000af350();" (assignment_expression "uVar23 = FUN_000af350()" (identifier "uVar23") (= "=") (call_expression "FUN_000af350()" (identifier "FUN_000af350") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (expression_statement "FUN_002446e0((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23);" (call_expression "FUN_002446e0((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23)" (identifier "FUN_002446e0") (argument_list "((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23)" (( "(") (binary_expression "(int)local_58 + -0x19cca3" (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58")) (+ "+") (number_literal "-0x19cca3")) (, ",") (number_literal "0x6f") (, ",") (binary_expression "local_58 + -0x612b6" (identifier "local_58") (+ "+") (number_literal "-0x612b6")) (, ",") (identifier "uVar23") () ")"))) (; ";")) (labeled_statement "code_r0x000f32c9:\n  *local_64 = uVar23 & 0x3fffffc | 0x48000000;" (statement_identifier "code_r0x000f32c9") (: ":") (expression_statement "*local_64 = uVar23 & 0x3fffffc | 0x48000000;" (assignment_expression "*local_64 = uVar23 & 0x3fffffc | 0x48000000" (pointer_expression "*local_64" (* "*") (identifier "local_64")) (= "=") (binary_expression "uVar23 & 0x3fffffc | 0x48000000" (binary_expression "uVar23 & 0x3fffffc" (identifier "uVar23") (& "&") (number_literal "0x3fffffc")) (| "|") (number_literal "0x48000000"))) (; ";"))) (expression_statement "local_44 = (int *)*local_44;" (assignment_expression "local_44 = (int *)*local_44" (identifier "local_44") (= "=") (cast_expression "(int *)*local_44" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_44" (* "*") (identifier "local_44")))) (; ";")) (expression_statement "piVar7 = local_44;" (assignment_expression "piVar7 = local_44" (identifier "piVar7") (= "=") (identifier "local_44")) (; ";")) (goto_statement "goto joined_r0x000f30c8;" (goto "goto") (statement_identifier "joined_r0x000f30c8") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void do_write(Stub_table<64,_false> * this, Output_file * of) */

void __thiscall
anon_unknown.dwarf_6462d4::Stub_table<64,_false>::do_write
          (Stub_table<64,_false> *this,Output_file *of)

{
  byte bVar1;
  size_type sVar2;
  Output_section *pOVar3;
  Stub_table<64,_false> *pSVar4;
  Symbol *this_00;
  General_options *pGVar5;
  Output_data_brlt_powerpc<64,_false> *pOVar6;
  Output_data_save_res<64,_false> *pOVar7;
  Output_data_glink<64,_false> *pOVar8;
  int iVar9;
  uint uVar10;
  uchar *puVar11;
  _Hash_node_base *p_Var12;
  int *piVar13;
  char *format;
  uint *puVar14;
  uint *puVar15;
  _Hash_node_base *p_Var16;
  int *piVar17;
  uint64_t *puVar18;
  Output_data_plt_powerpc<64,_false> *pOVar19;
  byte extraout_CL;
  uint uVar20;
  uint uVar21;
  _Hash_node_base *p_Var22;
  uint uVar23;
  _Hash_node_base *p_Var24;
  uint uVar25;
  uint uVar26;
  uint uVar27;
  uint uVar28;
  uint64_t *puVar29;
  uint uVar30;
  uint extraout_EDX;
  byte bVar31;
  _func_int_varargs **pp_Var32;
  Target_powerpc<64,_false> *pTVar33;
  uint uVar34;
  int iVar35;
  int iVar36;
  uint uVar37;
  uint uVar38;
  uint uVar39;
  uint uVar40;
  Stub_table<64,_false> *pSVar41;
  bool bVar42;
  bool bVar43;
  byte bVar44;
  Target_powerpc<64,_false> *in_stack_ffffff44;
  Stub_table<64,_false> *pSVar45;
  uint local_9c;
  uint local_94;
  uint local_90;
  bool local_69;
  uint local_64;
  uint local_54;
  _Hash_node_base *local_44;
  int local_40;
  _Hash_node_base *local_34;
  _Hash_node_base *local_30;
  _Hash_node_base local_2c [7];
  
  sVar2 = (this->plt_call_stubs_)._M_h._M_element_count;
  if ((sVar2 == 0) && ((this->long_branch_stubs_)._M_h._M_element_count == 0)) {
    return;
  }
  if ((this->field_0x1c & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");
  }
  if (gold::parameters->options_ == (General_options *)0x0) {
LAB_000f392f:
                    /* WARNING: Subroutine does not return */
    stub_align((Stub_table<64,_false> *)in_stack_ffffff44);
  }
  uVar37 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
  if (uVar37 < 0x20) {
    uVar37 = 0x20;
  }
  uVar37 = (uVar37 - 1) + this->orig_data_size_ + *(int *)&this->field_0x14 & -uVar37;
  if ((this->field_0x1c & 2) == 0) {
LAB_000f398a:
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
  }
  uVar20 = uVar37 - *(int *)&this->field_0x14;
  uVar38 = *(uint *)&this->field_0xc - uVar20;
  if (*(uint *)&this->field_0x10 != (uint)(*(uint *)&this->field_0xc < uVar20)) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");
  }
  uVar20 = (uint)CARRY4(uVar37,uVar38);
  iVar35 = *(int *)((int)&of->file_size_ + 4);
  uVar38 = (uint)((uint)of->file_size_ < uVar37 + uVar38);
  iVar9 = iVar35 - uVar20;
  if ((SBORROW4(iVar35,uVar20) != SBORROW4(iVar9,uVar38)) != (int)(iVar9 - uVar38) < 0) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0x6f,"get_output_view");
  }
  puVar11 = of->base_ + uVar37;
  pTVar33 = this->targ_;
  if (pTVar33->got_ == (Output_data_got_powerpc<64,_false> *)0x0) {
                    /* WARNING: Subroutine does not return */
    Target_powerpc<64,_false>::got_section(in_stack_ffffff44);
  }
  pOVar3 = (pTVar33->got_->super_Output_data_got<64,_false>).super_Output_data_got_base.
           super_Output_section_data_build.super_Output_section_data.output_section_;
  if (((pOVar3->super_Output_data).field_0x1c & 1) == 0) {
LAB_000f3135:
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");
  }
  in_stack_ffffff44 = *(Target_powerpc<64,_false> **)&(pOVar3->super_Output_data).address_;
  pSVar41 = *(Stub_table<64,_false> **)((int)&(pOVar3->super_Output_data).address_ + 4);
  if ((sVar2 != 0) &&
     (local_44 = (this->plt_call_stubs_)._M_h._M_before_begin._M_nxt,
     local_44 != (_Hash_node_base *)0x0)) {
    bVar42 = (Target_powerpc<64,_false> *)0xffff8000 < in_stack_ffffff44;
    iVar9 = -(int)in_stack_ffffff44;
    iVar35 = -1 - (int)pSVar41;
    pSVar45 = pSVar41;
    do {
      this_00 = (Symbol *)local_44[1]._M_nxt;
      if (this_00 == (Symbol *)0x0) {
        p_Var12 = local_44[2]._M_nxt;
        p_Var24 = local_44[5]._M_nxt;
        if ((_Hash_node_base *)
            (((int)p_Var12[0x38]._M_nxt - (int)p_Var12[0x37]._M_nxt >> 2) * -0x33333333) <= p_Var24)
        {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");
        }
        if (((uint)p_Var12[0x37]._M_nxt[(int)p_Var24 * 5 + 2]._M_nxt & 0x40000000) == 0) {
          pOVar19 = pTVar33->lplt_;
        }
        else {
          pOVar19 = pTVar33->iplt_;
          if (pOVar19 == (Output_data_plt_powerpc<64,_false> *)0x0) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/powerpc.cc",0x372,"iplt_section");
          }
        }
        local_54 = (*(code *)p_Var12->_M_nxt[0x2a]._M_nxt)(p_Var12,p_Var24);
LAB_000f2fbb:
        if (((pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.
             field_0x1c & 1) == 0) goto LAB_000f3135;
        uVar20 = (iVar9 - 0x8000U) + local_54;
        puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.
                   super_Output_data.address_;
        uVar37 = uVar20 + (int)*puVar18;
        if (((iVar35 - (uint)bVar42) + (uint)CARRY4(iVar9 - 0x8000U,local_54) +
             *(int *)((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.
                            super_Output_data.address_ + 4) + (uint)CARRY4(uVar20,(uint)*puVar18) +
             (uint)(0x7fff7fff < uVar37) != 0) || ((uVar37 & 7) != 0)) {
          gold::Symbol::demangled_name((Symbol *)local_44[1]._M_nxt);
          p_Var24 = local_34;
          p_Var12 = local_44[2]._M_nxt[1]._M_nxt;
          format = (char *)gettext("%s: linkage table error against `%s\'");
                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */
          gold::gold_error(format,p_Var12,p_Var24);
          if (local_34 != local_2c) {
            operator_delete(local_34);
          }
        }
        pTVar33 = this->targ_;
        uVar20 = *(uint *)&pTVar33->field_0x8 & 2;
        if (uVar20 == 0) {
          pGVar5 = gold::parameters->options_;
          if (pGVar5 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
          }
          bVar1 = (pGVar5->plt_static_chain_).value;
          if (pTVar33->plt_thread_safe_ == false) {
            local_69 = false;
            local_64 = 0;
            p_Var12 = local_44[6]._M_nxt;
            local_54 = uVar37 + 0x8000 >> 0x10;
            bVar44 = false;
          }
          else {
            uVar38 = __udivdi3(local_54 - 0x18,(0x17 < local_54) - 1,0x18,0,in_stack_ffffff44,
                               pSVar45);
            pOVar8 = pTVar33->glink_;
            if (pOVar8 == (Output_data_glink<64,_false> *)0x0) {
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable("../../gold/powerpc.cc",0x3a3,"glink_section");
            }
            local_90 = 0;
            local_94 = (-(uint)((*(uint *)&pOVar8->targ_->field_0x8 & 2) == 0) & 0xfffffff4) + 0x40
                       + uVar38 * 8;
            if (0x8000 < uVar38) {
              uVar38 = uVar38 * 4 - 0x20000;
              bVar43 = CARRY4(local_94,uVar38);
              local_94 = local_94 + uVar38;
              local_90 = (uint)bVar43;
            }
            if ((pOVar8->field_0x1c & 1) == 0) goto LAB_000f3135;
            uVar38 = *(uint *)((int)&pOVar8->invalid_address + 4);
            uVar21 = 1 << ((byte)(pGVar5->plt_align_).value & 0x1f);
            if (uVar21 < 0x20) {
              uVar21 = 0x20;
            }
            local_69 = (bool)(this->field_0x1c & 1);
            if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;
            local_9c = 4;
            puVar14 = (uint *)((int)&this->invalid_address + 4);
            uVar34 = (uVar21 - 1) + *puVar14;
            uVar40 = this->orig_data_size_ + uVar34 & -uVar21;
            p_Var12 = local_44[6]._M_nxt;
            uVar30 = *(byte *)((int)&local_44[7]._M_nxt + 3) >> 6 & 1;
            local_54 = uVar37 + 0x8000 >> 0x10;
            if (local_54 == 0) {
              local_9c = 0;
            }
            uVar10 = (uint)bVar1;
            local_64 = 0;
            if (local_54 != uVar37 + 0x8008 + uVar10 * 8 >> 0x10) {
              local_64 = 4;
            }
            uVar39 = uVar38 + uVar10 * -4;
            uVar23 = uVar39 - 0x14;
            p_Var24 = (_Hash_node_base *)(uVar23 - uVar40);
            uVar25 = (int)p_Var24 - (int)p_Var12;
            uVar26 = uVar25 + uVar30 * -4;
            uVar27 = uVar26 + local_94;
            uVar28 = uVar27 - local_9c;
            bVar43 = uVar28 < local_64;
            local_64 = uVar28 - local_64;
            iVar36 = (((((((((*(int *)&pOVar8->field_0x8 - (uint)(uVar38 < uVar10 * 4)) + -1 +
                            (uint)(0x13 < uVar39)) -
                           (((uVar21 != 0) - 1) + *(int *)&this->field_0x8 +
                            (uint)CARRY4(uVar21 - 1,*puVar14) +
                            (uint)CARRY4(this->orig_data_size_,uVar34) & -(uint)(uVar21 != 0))) -
                          (uint)(uVar23 < uVar40)) - (uint)(p_Var24 < p_Var12)) -
                        (uint)(uVar25 < uVar30 * 4)) + local_90 + (uint)CARRY4(uVar26,local_94)) -
                      (uint)(uVar27 < local_9c)) - (uint)bVar43) + (uint)(0xfdffffff < local_64);
            bVar44 = iVar36 != 0 || (uint)-iVar36 < (uint)(0x3ffffff < local_64 + 0x2000000);
          }
        }
        else {
          bVar1 = 0;
          local_69 = false;
          local_64 = 0;
          p_Var12 = local_44[6]._M_nxt;
          local_54 = uVar37 + 0x8000 >> 0x10;
          bVar44 = false;
        }
        piVar13 = (int *)(puVar11 + (int)&p_Var12->_M_nxt);
        pSVar41 = (Stub_table<64,_false> *)local_44[1]._M_nxt;
        if ((Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_ == (Stub_table<64,_false> *)0x0) {
          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);
        }
        else if (((Stub_table<64,_false> *)pTVar33->tls_get_addr_ == pSVar41) ||
                (pSVar41 == (Stub_table<64,_false> *)pTVar33->tls_get_addr_opt_)) {
          *piVar13 = -0x169d0000;
          piVar13[1] = -0x167cfff8;
          piVar13[2] = 0x7c601b78;
          piVar13[3] = 0x2c2b0000;
          piVar13[4] = 0x7c6c6a14;
          piVar13[5] = 0x4d820020;
          piVar13[6] = 0x7c030378;
          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);
          bVar44 = local_69;
          if ((char)bVar31 < '\0') {
            piVar13 = piVar13 + 7;
          }
          else {
            piVar13[7] = 0x7d6802a6;
            piVar13[8] = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x18) + 0xf9610008;
            bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);
            piVar13 = piVar13 + 9;
          }
        }
        else {
          bVar31 = *(byte *)((int)&local_44[7]._M_nxt + 3);
        }
        if (local_54 == 0) {
          piVar17 = piVar13;
          if ((bVar31 & 0x40) != 0) {
            piVar17 = piVar13 + 1;
            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;
          }
          *piVar17 = (uVar37 & 0xffff) + 0xe9820000;
          if (uVar20 == 0) {
            if (uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10 == 0) {
              piVar13 = piVar17 + 1;
              iVar36 = (uVar37 + 8 & 0xffff) + 0xe8420000;
              local_54 = uVar37;
            }
            else {
              piVar13 = piVar17 + 2;
              piVar17[1] = (uVar37 & 0xffff) + 0x38420000;
              iVar36 = -0x17bdfff8;
            }
            *piVar13 = 0x7d8903a6;
            puVar29 = (uint64_t *)(piVar13 + 1);
            if ((bool)bVar44 != false) {
              piVar13[1] = 0x7d8b6278;
              puVar29 = (uint64_t *)(piVar13 + 3);
              piVar13[2] = 0x7c425a14;
            }
            puVar18 = (uint64_t *)((int)puVar29 + 4);
            if (bVar1 != 0) {
              *(uint *)puVar29 = (local_54 + 0x10 & 0xffff) + 0xe9620000;
              puVar18 = puVar29 + 1;
              puVar29 = (uint64_t *)((int)puVar29 + 4);
            }
            *(int *)puVar29 = iVar36;
          }
          else {
            piVar17[1] = 0x7d8903a6;
            puVar18 = (uint64_t *)(piVar17 + 2);
          }
        }
        else {
          piVar17 = piVar13;
          if ((bVar31 & 0x40) != 0) {
            piVar17 = piVar13 + 1;
            *piVar13 = (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xf8410018;
          }
          uVar38 = uVar37 & 0xffff;
          if (uVar20 == 0) {
            *piVar17 = local_54 + 0x3d620000;
            piVar17[1] = uVar38 + 0xe98b0000;
            if (local_54 == uVar37 + 0x8008 + (uint)bVar1 * 8 >> 0x10) {
              piVar13 = piVar17 + 2;
              pp_Var32 = (_func_int_varargs **)((uVar37 + 8 & 0xffff) + 0xe84b0000);
            }
            else {
              piVar13 = piVar17 + 3;
              uVar37 = 0;
              piVar17[2] = uVar38 + 0x396b0000;
              pp_Var32 = (_func_int_varargs **)0xe84b0008;
            }
            *piVar13 = 0x7d8903a6;
            if ((bool)bVar44 == false) {
              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 1);
            }
            else {
              piVar13[1] = 0x7d826278;
              pOVar19 = (Output_data_plt_powerpc<64,_false> *)(piVar13 + 3);
              piVar13[2] = 0x7d6b1214;
            }
            (pOVar19->super_Output_section_data_build).super_Output_section_data.super_Output_data.
            _vptr_Output_data = pp_Var32;
            if (bVar1 != 0) goto LAB_000f37c0;
            puVar18 = &(pOVar19->super_Output_section_data_build).super_Output_section_data.
                       super_Output_data.address_;
          }
          else {
            piVar17[2] = 0x7d8903a6;
            puVar18 = (uint64_t *)(piVar17 + 3);
            piVar17[1] = uVar38 + 0xe98c0000;
            *piVar17 = local_54 + 0x3d820000;
          }
        }
      }
      else {
        if ((this_00->field_0x28 & 0xf) != 10) {
LAB_000f2f9a:
          pOVar19 = pTVar33->plt_;
          if (pOVar19 == (Output_data_plt_powerpc<64,_false> *)0x0) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/powerpc.cc",0x36a,"plt_section");
          }
LAB_000f2fa5:
          local_54 = this_00->plt_offset_;
          if (local_54 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/symtab.h",0x1ce,"plt_offset");
          }
          goto LAB_000f2fbb;
        }
        if ((this_00->field_0x2a & 7) == 0) {
          if ((((uint)((this_00->u1_).output_segment)->output_lists_[3].
                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                      _M_impl._M_end_of_storage & 1) == 0) &&
             ((pSVar41 = (Stub_table<64,_false> *)(this_00->u2_).shndx,
              pSVar41 != (Stub_table<64,_false> *)0x0 || ((this_00->field_0x2b & 0x20) == 0))))
          goto LAB_000f3795;
          goto LAB_000f2f9a;
        }
        if ((this_00->field_0x2a & 7) == 4) goto LAB_000f2f9a;
LAB_000f3795:
        bVar43 = gold::Symbol::is_preemptible(this_00);
        if (bVar43) goto LAB_000f2f9a;
        pOVar19 = pTVar33->iplt_;
        if (pOVar19 != (Output_data_plt_powerpc<64,_false> *)0x0) goto LAB_000f2fa5;
        pOVar19 = Target_powerpc<64,_false>::iplt_section(in_stack_ffffff44);
        uVar37 = extraout_EDX;
        bVar44 = extraout_CL;
LAB_000f37c0:
        puVar18 = (uint64_t *)
                  ((int)&(pOVar19->super_Output_section_data_build).super_Output_section_data.
                         super_Output_data.address_ + 4);
        *(uint *)&(pOVar19->super_Output_section_data_build).super_Output_section_data.
                  super_Output_data.address_ = (uVar37 + 0x10 & 0xffff) + 0xe96b0000;
      }
      if (*(char *)((int)&local_44[7]._M_nxt + 3) < '\0') {
LAB_000f2f35:
        if ((bVar44 == 1) || (local_69 == false)) {
          *(int *)puVar18 = 0x4e800420;
        }
        else {
          *(int *)puVar18 = 0x28220000;
          *(int *)((int)puVar18 + 4) = 0x4ce20420;
          *(uint *)(puVar18 + 1) = local_64 & 0x3fffffc | 0x48000000;
        }
      }
      else {
        pSVar4 = (Stub_table<64,_false> *)this->targ_->tls_get_addr_opt_;
        if ((pSVar4 == (Stub_table<64,_false> *)0x0) ||
           (((Stub_table<64,_false> *)this->targ_->tls_get_addr_ != pSVar41 && (pSVar41 != pSVar4)))
           ) goto LAB_000f2f35;
        *(int *)puVar18 = 0x4e800421;
        *(uint *)((int)puVar18 + 4) =
             (-(uint)((*(uint *)&this->targ_->field_0x8 & 2) == 0) & 0x10) + 0xe8410018;
        uVar37 = *(uint *)&this->targ_->field_0x8;
        *(int *)((int)puVar18 + 0xc) = 0x7d6803a6;
        *(int *)(puVar18 + 2) = 0x4e800020;
        *(uint *)(puVar18 + 1) = (-(uint)((uVar37 & 2) == 0) & 0x18) + 0xe9610008;
        pSVar41 = this;
      }
      local_44 = local_44->_M_nxt;
      if (local_44 == (_Hash_node_base *)0x0) break;
      pTVar33 = this->targ_;
    } while( true );
  }
  local_44 = (this->long_branch_stubs_)._M_h._M_before_begin._M_nxt;
joined_r0x000f30c8:
  if (local_44 != (_Hash_node_base *)0x0) {
    do {
      if (*(char *)&local_44[4]._M_nxt == '\0') {
        p_Var12 = local_44[5]._M_nxt;
        uVar37 = this->plt_size_;
        puVar14 = (uint *)(puVar11 + (int)&p_Var12->_M_nxt + uVar37);
        if (gold::parameters->options_ == (General_options *)0x0) goto LAB_000f392f;
        uVar20 = 1 << ((byte)(gold::parameters->options_->plt_align_).value & 0x1f);
        if (uVar20 < 0x20) {
          uVar20 = 0x20;
        }
        if ((this->field_0x1c & 1) == 0) goto LAB_000f3135;
        p_Var24 = local_44[1]._M_nxt;
        puVar15 = (uint *)((int)&this->invalid_address + 4);
        uVar21 = (uVar20 - 1) + *puVar15;
        uVar34 = this->orig_data_size_ + uVar21 & -uVar20;
        p_Var16 = (_Hash_node_base *)(uVar37 + uVar34);
        p_Var22 = (_Hash_node_base *)((int)p_Var24 - (int)p_Var16);
        uVar38 = (int)p_Var22 - (int)p_Var12;
        iVar35 = (int)local_44[2]._M_nxt +
                 (uint)(0xfdffffff < uVar38) +
                 ((-(uint)(p_Var24 < p_Var16) -
                  ((((uVar20 != 0) - 1) + *(int *)&this->field_0x8 +
                    (uint)CARRY4(uVar20 - 1,*puVar15) + (uint)CARRY4(this->orig_data_size_,uVar21) &
                   -(uint)(uVar20 != 0)) + (uint)CARRY4(uVar37,uVar34))) - (uint)(p_Var22 < p_Var12)
                 );
        if (iVar35 == 0 && (uint)(0x3ffffff < uVar38 + 0x2000000) <= (uint)-iVar35)
        goto code_r0x000f32c9;
        local_34 = p_Var24;
        local_30 = local_44[2]._M_nxt;
        std::
        _Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
        ::find((_Hashtable<long_long_unsigned_int,_std::pair<long_long_unsigned_int_const,_unsigned_int>,_std::allocator<std::pair<long_long_unsigned_int_const,_unsigned_int>_>,_std::__detail::_Select1st,_std::equal_to<long_long_unsigned_int>,_std::hash<long_long_unsigned_int>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<false,_false,_true>_>
                *)&this->targ_->branch_lookup_table_,(key_type_conflict1 *)&local_34);
        if (local_40 == 0) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/powerpc.cc",0x15f1,"do_write");
        }
        pOVar6 = this->targ_->brlt_section_;
        if (((pOVar6->super_Output_section_data_build).super_Output_section_data.super_Output_data.
             field_0x1c & 1) == 0) goto LAB_000f3135;
        uVar37 = ((*(int *)(local_40 + 0xc) +
                  (int)(pOVar6->super_Output_section_data_build).super_Output_section_data.
                       super_Output_data.address_) - (int)in_stack_ffffff44) -
                 (int)local_44[3]._M_nxt;
        uVar20 = uVar37 & 0xffff;
        uVar37 = uVar37 + 0x8000 >> 0x10;
        if (uVar37 == 0) {
          *puVar14 = uVar20 + 0xe9820000;
          puVar15 = puVar14 + 1;
        }
        else {
          puVar14[1] = uVar20 + 0xe98c0000;
          puVar15 = puVar14 + 2;
          *puVar14 = uVar37 + 0x3d820000;
        }
        *puVar15 = 0x7d8903a6;
        puVar15[1] = 0x4e800420;
      }
      local_44 = local_44->_M_nxt;
      if (local_44 == (_Hash_node_base *)0x0) break;
    } while( true );
  }
  if (this->need_save_res_ == false) {
    return;
  }
  pOVar7 = this->targ_->savres_section_;
  if ((pOVar7->field_0x1c & 2) != 0) {
    memcpy(puVar11 + this->plt_size_ + this->branch_size_,pOVar7->contents_,
           *(size_t *)&pOVar7->field_0xc);
    return;
  }
  goto LAB_000f398a;
code_r0x000f32c9:
  *puVar14 = uVar38 & 0x3fffffc | 0x48000000;
  local_44 = local_44->_M_nxt;
  goto joined_r0x000f30c8;
}


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

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

void MASKED(uint param_1,int param_2)

{
  int iVar1;
  undefined4 uVar2;
  code *pcVar3;
  undefined **ppuVar4;
  undefined1 *puVar5;
  char cVar6;
  int *piVar7;
  int *piVar8;
  undefined4 uVar9;
  int *piVar10;
  byte extraout_CL;
  uint *puVar11;
  uint uVar12;
  uint uVar13;
  uint uVar14;
  uint uVar15;
  uint uVar16;
  uint uVar17;
  uint uVar18;
  uint *puVar19;
  byte bVar20;
  int iVar21;
  uint *puVar22;
  uint uVar23;
  uint uVar24;
  uint uVar25;
  byte bVar26;
  undefined8 uVar27;
  uint auStackY_d4 [2];
  uint local_bc;
  uint local_b8;
  uint local_b4;
  int local_b0;
  uint local_ac;
  undefined4 local_a8;
  uint local_a4;
  undefined4 local_a0;
  uint local_9c;
  undefined4 local_98;
  uint local_94;
  uint local_90;
  uint local_8c;
  uint local_88;
  uint local_84;
  uint local_80;
  uint local_7c;
  int local_78;
  int *local_74;
  int local_70;
  bool local_69;
  uint local_68;
  uint *local_64;
  int local_60;
  uint local_5c;
  undefined **local_58;
  uint *local_54;
  int local_50;
  uint *local_4c;
  uint local_48;
  int *local_44;
  int local_40 [3];
  uint *local_34;
  int local_30;
  uint local_2c [7];
  
  puVar19 = &local_bc;
  puVar11 = &local_bc;
  local_58 = &__DT_PLTGOT;
  local_44 = *(int **)(param_1 + 0x44);
  if ((local_44 == (int *)0x0) && (*(int *)(param_1 + 0x60) == 0)) {
    return;
  }
  bVar26 = *(byte *)(param_1 + 0x1c);
  local_5c = CONCAT31(local_5c._1_3_,bVar26);
  if ((bVar26 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/output.h",0xe3,"offset",bVar26);
  }
  local_4c = *(uint **)(param_1 + 0x14);
  local_54 = local_4c;
  local_50 = *(int *)(param_1 + 0x18);
  local_74 = &DAT_005ea7c8;
  if (*(int *)(DAT_005ea7c8 + 8) == 0) {
LAB_000f392f:
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)puVar19 + -4) = 0xf3934;
    FUN_000afd50();
  }
  uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(DAT_005ea7c8 + 8) + 0x2b20) & 0x1f);
  if (uVar23 < 0x20) {
    uVar23 = 0x20;
  }
  uVar23 = (int)local_4c + (uVar23 - 1) + *(int *)(param_1 + 0x70) & -uVar23;
  if ((bVar26 & 2) == 0) {
LAB_000f398a:
    ppuVar4 = local_58;
    *(uint *)((int)puVar11 + -4) = uVar23;
    *(undefined ***)((int)puVar11 + -8) = ppuVar4 + -0x61161;
    *(undefined4 *)((int)puVar11 + -0xc) = 0xcf;
    *(int *)((int)puVar11 + -0x10) = (int)ppuVar4 + -0x19cca3;
                    /* WARNING: Subroutine does not return */
    *(undefined1 **)((int)puVar11 + -0x14) = &LAB_000f39a6;
    FUN_002446e0();
  }
  puVar11 = (uint *)(uVar23 - (int)local_4c);
  local_4c = *(uint **)(param_1 + 0xc);
  uVar24 = (int)local_4c - (int)puVar11;
  local_48 = *(uint *)(param_1 + 0x10);
  if (*(uint *)(param_1 + 0x10) != (uint)(local_4c < puVar11)) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/gold.h",0xc0,"convert_types",uVar23);
  }
  uVar12 = (uint)CARRY4(uVar23,uVar24);
  uVar24 = (uint)(*(uint *)(param_2 + 8) < uVar23 + uVar24);
  iVar21 = *(int *)(param_2 + 0xc) - uVar12;
  if ((SBORROW4(*(int *)(param_2 + 0xc),uVar12) != SBORROW4(iVar21,uVar24)) ==
      (int)(iVar21 - uVar24) < 0) {
    local_70 = uVar23 + *(int *)(param_2 + 0x10);
    iVar21 = *(int *)(param_1 + 0x34);
    if (*(int *)(iVar21 + 0x14) != 0) {
      iVar1 = *(int *)(*(int *)(iVar21 + 0x14) + 0x20);
      puVar22 = &local_bc;
      if ((*(byte *)(iVar1 + 0x1c) & 1) == 0) {
LAB_000f3135:
        ppuVar4 = local_58;
        *(undefined ***)((int)puVar22 + -8) = local_58 + -0x611a3;
        *(undefined4 *)((int)puVar22 + -0xc) = 0xc5;
        *(int *)((int)puVar22 + -0x10) = (int)ppuVar4 + -0x19cca3;
                    /* WARNING: Subroutine does not return */
        *(undefined **)((int)puVar22 + -0x14) = &UNK_000f3153;
        FUN_002446e0();
      }
      local_bc = *(uint *)(iVar1 + 4);
      uVar23 = *(uint *)(iVar1 + 8);
      local_b8 = uVar23;
      puVar22 = &local_bc;
      if ((local_44 != (int *)0x0) &&
         (local_44 = *(int **)(param_1 + 0x40), puVar22 = &local_bc,
         *(int **)(param_1 + 0x40) != (int *)0x0)) {
        local_7c = -local_bc - 0x8000;
        local_78 = (-1 - uVar23) - (uint)(0xffff8000 < local_bc);
        puVar22 = &local_bc;
        do {
          iVar1 = local_44[1];
          if (iVar1 == 0) {
            piVar7 = (int *)local_44[2];
            uVar23 = local_44[5];
            if ((uint)((piVar7[0x38] - piVar7[0x37] >> 2) * -0x33333333) <= uVar23) {
              *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6119f;
              *(undefined4 *)((int)puVar22 + -0xc) = 0x8c1;
              *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x19cc7b;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)((int)puVar22 + -0x14) = 0xf38f3;
              FUN_002446e0();
            }
            if ((*(byte *)(piVar7[0x37] + 0xb + uVar23 * 0x14) & 0x40) == 0) {
              iVar21 = *(int *)(iVar21 + 0x20);
            }
            else {
              iVar21 = *(int *)(iVar21 + 0x1c);
              if (iVar21 == 0) {
                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121b;
                *(undefined4 *)((int)puVar22 + -0xc) = 0x372;
                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)((int)puVar22 + -0x14) = 0xf3911;
                FUN_002446e0();
              }
            }
            iVar1 = *piVar7;
            *(uint *)((int)puVar22 + -0xc) = uVar23;
            *(int **)((int)puVar22 + -0x10) = piVar7;
            pcVar3 = *(code **)(iVar1 + 0xa8);
            *(undefined4 *)((int)puVar22 + -0x14) = 0xf348e;
            local_54 = (uint *)(*pcVar3)();
            local_50 = 0;
LAB_000f2fbb:
            piVar7 = local_44;
            local_50 = 0;
            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;
            local_64 = (uint *)(local_7c + (int)local_54 + *(uint *)(iVar21 + 4));
            local_60 = local_78 + (uint)CARRY4(local_7c,(uint)local_54) + *(int *)(iVar21 + 8) +
                       (uint)CARRY4(local_7c + (int)local_54,*(uint *)(iVar21 + 4));
            if ((local_60 + (uint)((uint *)0x7fff7fff < local_64) != 0) ||
               (puVar5 = (undefined1 *)puVar22, ((uint)local_64 & 7) != 0)) {
              *(int *)((int)puVar22 + -0xc) = local_44[1];
              *(uint ***)((int)puVar22 + -0x10) = &local_34;
              *(undefined4 *)((int)puVar22 + -0x14) = 0xf3008;
              FUN_0034dd40();
              puVar11 = local_34;
              uVar2 = *(undefined4 *)(piVar7[2] + 4);
              *(undefined ***)((int)puVar22 + -0x14) = local_58 + -0x60d52;
              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3022;
              uVar9 = gettext();
              *(uint **)((int)puVar22 + -0xc) = puVar11;
              *(undefined4 *)((int)puVar22 + -0x10) = uVar2;
              *(undefined4 *)((int)puVar22 + -0x14) = uVar9;
                    /* try { // try from 000f302d to 000f3031 has its CatchHandler @ 000f39a6 */
              *(undefined4 *)((int)puVar22 + -0x18) = 0xf3032;
              FUN_0023b810();
              puVar5 = (undefined1 *)((int)puVar22 + -4);
              if (local_34 != local_2c) {
                *(uint **)((int)puVar22 + -0x14) = local_34;
                *(undefined4 *)((int)puVar22 + -0x18) = 0xf3048;
                FUN_003ae080();
                puVar5 = (undefined1 *)((int)puVar22 + -4);
              }
            }
            puVar22 = (uint *)puVar5;
            puVar11 = local_64;
            local_4c = *(uint **)(param_1 + 0x34);
            local_68 = local_4c[2] & 2;
            if ((local_4c[2] & 2) == 0) {
              iVar21 = *(int *)(*local_74 + 8);
              if (iVar21 == 0) {
                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61176;
                *(undefined4 *)((int)puVar22 + -0xc) = 0x5c;
                *(int *)((int)puVar22 + -0x10) = (int)local_58 + -0x1a1d93;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38b7;
                FUN_002446e0();
              }
              local_5c = CONCAT31(local_5c._1_3_,*(undefined1 *)(iVar21 + 0x2bdd));
              if ((char)local_4c[0x27] == '\0') {
                local_69 = false;
                local_64 = (uint *)0x0;
                uVar23 = local_44[6];
                local_60 = 0;
                local_54 = (uint *)((uint)(puVar11 + 0x2000) >> 0x10);
                bVar26 = false;
              }
              else {
                *(undefined4 *)((int)puVar22 + -4) = 0;
                *(undefined4 *)((int)puVar22 + -8) = 0x18;
                *(uint *)((int)puVar22 + -0xc) = local_50 + -1 + (uint)((uint *)0x17 < local_54);
                *(uint **)((int)puVar22 + -0x10) = local_54 + -6;
                *(undefined4 *)((int)puVar22 + -0x14) = 0xf34ca;
                uVar23 = FUN_00442bb0();
                puVar11 = local_64;
                uVar24 = local_4c[10];
                if (uVar24 == 0) {
                  *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61211;
                  *(undefined4 *)((int)puVar22 + -0xc) = 0x3a3;
                  *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)((int)puVar22 + -0x14) = 0xf392f;
                  FUN_002446e0();
                }
                local_90 = 0;
                uVar12 = (-(uint)((*(uint *)(*(int *)(uVar24 + 0x2c) + 8) & 2) == 0) & 0xfffffff4) +
                         0x40 + uVar23 * 8;
                local_94 = uVar12;
                if (0x8000 < uVar23) {
                  uVar23 = uVar23 * 4 - 0x20000;
                  local_94 = uVar12 + uVar23;
                  local_90 = (uint)CARRY4(uVar12,uVar23);
                }
                if ((*(byte *)(uVar24 + 0x1c) & 1) == 0) goto LAB_000f3135;
                local_b4 = *(uint *)(uVar24 + 4);
                uVar23 = 1 << ((byte)*(undefined4 *)(iVar21 + 0x2b20) & 0x1f);
                local_b0 = *(int *)(uVar24 + 8);
                if (uVar23 < 0x20) {
                  uVar23 = 0x20;
                }
                bVar26 = *(byte *)(param_1 + 0x1c);
                local_54 = (uint *)CONCAT31(local_54._1_3_,bVar26);
                local_69 = (bool)(bVar26 & 1);
                if ((bVar26 & 1) == 0) goto LAB_000f3135;
                local_a0 = 0;
                local_9c = 4;
                local_98 = 0;
                uVar12 = (uVar23 - 1) + *(uint *)(param_1 + 4);
                local_8c = *(uint *)(param_1 + 0x70) + uVar12 & -uVar23;
                local_88 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +
                           (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +
                           (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar12) & -(uint)(uVar23 != 0);
                uVar23 = local_44[6];
                uVar12 = *(byte *)((int)local_44 + 0x1f) >> 6 & 1;
                local_a4 = uVar23;
                local_ac = uVar12 * 4;
                local_a8 = 0;
                local_54 = (uint *)((uint)(local_64 + 0x2000) >> 0x10);
                if (local_54 == (uint *)0x0) {
                  local_9c = 0;
                  local_98 = 0;
                }
                local_98 = 0;
                uVar13 = local_5c & 0xff;
                local_64 = (uint *)0x0;
                if (local_54 != (uint *)((uint)(puVar11 + uVar13 * 2 + 0x2002) >> 0x10)) {
                  local_64 = (uint *)0x4;
                }
                uVar25 = local_b4 + uVar13 * -4;
                uVar14 = uVar25 - 0x14;
                uVar15 = uVar14 - local_8c;
                uVar16 = uVar15 - uVar23;
                uVar12 = uVar16 + uVar12 * -4;
                uVar17 = uVar12 + local_94;
                uVar18 = uVar17 - local_9c;
                puVar19 = (uint *)(uVar18 - (int)local_64);
                local_60 = ((((((((*(int *)(uVar24 + 8) - (uint)(local_b4 < uVar13 * 4)) + -1 +
                                 (uint)(0x13 < uVar25)) - local_88) - (uint)(uVar14 < local_8c)) -
                              (uint)(uVar15 < uVar23)) - (uint)(uVar16 < local_ac)) + local_90 +
                            (uint)CARRY4(uVar12,local_94)) - (uint)(uVar17 < local_9c)) -
                           (uint)(uVar18 < local_64);
                local_64 = puVar19;
                iVar21 = local_60 + (uint)((uint *)0xfdffffff < puVar19);
                bVar26 = iVar21 != 0 ||
                         (uint)-iVar21 < (uint)((uint *)0x3ffffff < puVar19 + 0x800000);
              }
            }
            else {
              local_5c = (uint)local_5c._1_3_ << 8;
              local_69 = false;
              puVar19 = local_64 + 0x2000;
              local_64 = (uint *)0x0;
              uVar23 = local_44[6];
              local_60 = 0;
              local_54 = (uint *)((uint)puVar19 >> 0x10);
              bVar26 = false;
            }
            piVar7 = (int *)(uVar23 + local_70);
            uVar23 = local_44[1];
            if (local_4c[0x2d] == 0) {
              bVar20 = *(byte *)((int)local_44 + 0x1f);
            }
            else if ((local_4c[0x2c] == uVar23) || (uVar23 == local_4c[0x2d])) {
              *piVar7 = -0x169d0000;
              piVar7[1] = -0x167cfff8;
              piVar7[2] = 0x7c601b78;
              piVar7[3] = 0x2c2b0000;
              piVar7[4] = 0x7c6c6a14;
              piVar7[5] = 0x4d820020;
              piVar7[6] = 0x7c030378;
              bVar20 = *(byte *)((int)local_44 + 0x1f);
              bVar26 = local_69;
              if ((char)bVar20 < '\0') {
                piVar7 = piVar7 + 7;
              }
              else {
                piVar7[7] = 0x7d6802a6;
                piVar7[8] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x18) +
                            0xf9610008;
                bVar20 = *(byte *)((int)local_44 + 0x1f);
                piVar7 = piVar7 + 9;
              }
            }
            else {
              bVar20 = *(byte *)((int)local_44 + 0x1f);
            }
            if (local_54 == (uint *)0x0) {
              piVar10 = piVar7;
              if ((bVar20 & 0x40) != 0) {
                piVar10 = piVar7 + 1;
                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +
                          0xf8410018;
              }
              *piVar10 = ((uint)puVar11 & 0xffff) + 0xe9820000;
              if (local_68 == 0) {
                if ((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10 == 0) {
                  piVar7 = piVar10 + 1;
                  local_54 = puVar11;
                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe8420000;
                }
                else {
                  piVar7 = piVar10 + 2;
                  piVar10[1] = ((uint)puVar11 & 0xffff) + 0x38420000;
                  iVar21 = -0x17bdfff8;
                }
                *piVar7 = 0x7d8903a6;
                piVar8 = piVar7 + 1;
                if ((bool)bVar26 != false) {
                  piVar7[1] = 0x7d8b6278;
                  piVar8 = piVar7 + 3;
                  piVar7[2] = 0x7c425a14;
                }
                piVar10 = piVar8 + 1;
                if ((char)local_5c != '\0') {
                  *piVar8 = ((uint)(local_54 + 4) & 0xffff) + 0xe9620000;
                  piVar10 = piVar8 + 2;
                  piVar8 = piVar8 + 1;
                }
                *piVar8 = iVar21;
              }
              else {
                piVar10[1] = 0x7d8903a6;
                piVar10 = piVar10 + 2;
              }
            }
            else {
              piVar8 = piVar7;
              if ((bVar20 & 0x40) != 0) {
                piVar8 = piVar7 + 1;
                *piVar7 = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +
                          0xf8410018;
              }
              uVar24 = (uint)puVar11 & 0xffff;
              if (local_68 == 0) {
                *piVar8 = (int)(local_54 + 0xf588000);
                piVar8[1] = uVar24 + 0xe98b0000;
                if (local_54 == (uint *)((uint)(puVar11 + (local_5c & 0xff) * 2 + 0x2002) >> 0x10))
                {
                  piVar7 = piVar8 + 2;
                  iVar21 = ((uint)(puVar11 + 2) & 0xffff) + 0xe84b0000;
                }
                else {
                  piVar7 = piVar8 + 3;
                  puVar11 = (uint *)0x0;
                  piVar8[2] = uVar24 + 0x396b0000;
                  iVar21 = -0x17b4fff8;
                }
                *piVar7 = 0x7d8903a6;
                if ((bool)bVar26 == false) {
                  piVar10 = piVar7 + 1;
                }
                else {
                  piVar7[1] = 0x7d826278;
                  piVar10 = piVar7 + 3;
                  piVar7[2] = 0x7d6b1214;
                }
                uVar27 = CONCAT44(puVar11,piVar10);
                *piVar10 = iVar21;
                if ((char)local_5c != '\0') goto LAB_000f37c0;
                piVar10 = piVar10 + 1;
              }
              else {
                piVar8[2] = 0x7d8903a6;
                piVar10 = piVar8 + 3;
                piVar8[1] = uVar24 + 0xe98c0000;
                *piVar8 = (int)(local_54 + 0xf608000);
              }
            }
          }
          else {
            if ((*(byte *)(iVar1 + 0x28) & 0xf) != 10) {
LAB_000f2f9a:
              iVar21 = *(int *)(iVar21 + 0x18);
              if (iVar21 == 0) {
                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x6121e;
                *(undefined4 *)((int)puVar22 + -0xc) = 0x36a;
                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x60ece;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)((int)puVar22 + -0x14) = 0xf38d5;
                FUN_002446e0();
              }
LAB_000f2fa5:
              if (*(uint **)(iVar1 + 0x18) == (uint *)0xffffffff) {
                *(undefined ***)((int)puVar22 + -8) = local_58 + -0x61221;
                *(undefined4 *)((int)puVar22 + -0xc) = 0x1ce;
                *(undefined ***)((int)puVar22 + -0x10) = local_58 + -0x67308;
                    /* WARNING: Subroutine does not return */
                *(undefined4 *)((int)puVar22 + -0x14) = 0xf389c;
                FUN_002446e0();
              }
              local_50 = 0;
              local_54 = *(uint **)(iVar1 + 0x18);
              goto LAB_000f2fbb;
            }
            if ((*(byte *)(iVar1 + 0x2a) & 7) == 0) {
              if (((*(byte *)(*(int *)(iVar1 + 8) + 0x2c) & 1) == 0) &&
                 ((uVar23 = *(uint *)(iVar1 + 0xc), uVar23 != 0 ||
                  ((*(byte *)(iVar1 + 0x2b) & 0x20) == 0)))) goto LAB_000f3795;
              goto LAB_000f2f9a;
            }
            if ((*(byte *)(iVar1 + 0x2a) & 7) == 4) goto LAB_000f2f9a;
LAB_000f3795:
            *(int *)((int)puVar22 + -0x10) = iVar1;
            *(undefined4 *)((int)puVar22 + -0x14) = 0xf379e;
            cVar6 = FUN_00071a80();
            if (cVar6 != '\0') goto LAB_000f2f9a;
            iVar21 = *(int *)(iVar21 + 0x1c);
            if (iVar21 != 0) goto LAB_000f2fa5;
            *(undefined4 *)((int)puVar22 + -4) = 0xf37b9;
            uVar27 = FUN_000af2f0();
            bVar26 = extraout_CL;
LAB_000f37c0:
            piVar10 = (int *)((int)uVar27 + 8);
            *(uint *)((int)uVar27 + 4) =
                 ((int)((ulonglong)uVar27 >> 0x20) + 0x10U & 0xffff) + 0xe96b0000;
          }
          if (*(char *)((int)local_44 + 0x1f) < '\0') {
LAB_000f2f35:
            if ((bVar26 == 1) || (local_69 == false)) {
              *piVar10 = 0x4e800420;
            }
            else {
              *piVar10 = 0x28220000;
              piVar10[1] = 0x4ce20420;
              piVar10[2] = (uint)local_64 & 0x3fffffc | 0x48000000;
            }
          }
          else {
            uVar24 = *(uint *)(*(int *)(param_1 + 0x34) + 0xb4);
            if ((uVar24 == 0) ||
               ((*(uint *)(*(int *)(param_1 + 0x34) + 0xb0) != uVar23 && (uVar23 != uVar24))))
            goto LAB_000f2f35;
            *piVar10 = 0x4e800421;
            piVar10[1] = (-(uint)((*(uint *)(*(int *)(param_1 + 0x34) + 8) & 2) == 0) & 0x10) +
                         0xe8410018;
            uVar23 = *(uint *)(*(int *)(param_1 + 0x34) + 8);
            piVar10[3] = 0x7d6803a6;
            piVar10[4] = 0x4e800020;
            piVar10[2] = (-(uint)((uVar23 & 2) == 0) & 0x18) + 0xe9610008;
            uVar23 = param_1;
          }
          local_44 = (int *)*local_44;
          if (local_44 == (int *)0x0) break;
          iVar21 = *(int *)(param_1 + 0x34);
        } while( true );
      }
      puVar11 = puVar22;
      piVar7 = local_44;
      local_44 = *(int **)(param_1 + 0x5c);
joined_r0x000f30c8:
      puVar19 = puVar11;
      if (local_44 != (int *)0x0) {
        do {
          puVar11 = puVar19;
          if ((char)local_44[4] == '\0') {
            local_5c = local_44[5];
            local_4c = *(uint **)(param_1 + 0x74);
            local_64 = (uint *)((int)local_4c + local_70 + local_5c);
            if (*(int *)(*local_74 + 8) == 0) goto LAB_000f392f;
            uVar23 = 1 << ((byte)*(undefined4 *)(*(int *)(*local_74 + 8) + 0x2b20) & 0x1f);
            if (uVar23 < 0x20) {
              uVar23 = 0x20;
            }
            puVar22 = puVar19;
            if ((*(byte *)(param_1 + 0x1c) & 1) == 0) goto LAB_000f3135;
            local_50 = local_44[2];
            local_54 = (uint *)local_44[1];
            uVar24 = (uVar23 - 1) + *(uint *)(param_1 + 4);
            local_84 = *(uint *)(param_1 + 0x70) + uVar24 & -uVar23;
            local_80 = ((uVar23 != 0) - 1) + *(int *)(param_1 + 8) +
                       (uint)CARRY4(uVar23 - 1,*(uint *)(param_1 + 4)) +
                       (uint)CARRY4(*(uint *)(param_1 + 0x70),uVar24) & -(uint)(uVar23 != 0);
            uVar24 = (int)local_54 - (int)((int)local_4c + local_84);
            uVar23 = uVar24 - local_5c;
            local_48 = (((local_50 - (local_80 + CARRY4((uint)local_4c,local_84))) -
                        (uint)(local_54 < (uint *)((int)local_4c + local_84))) -
                       (uint)(uVar24 < local_5c)) + (uint)(0xfdffffff < uVar23);
            local_4c = (uint *)(uVar23 + 0x2000000);
            if (local_48 == 0 &&
                (uint)((uint *)0x3ffffff < (uint *)(uVar23 + 0x2000000)) <= -local_48)
            goto code_r0x000f32c9;
            local_4c = *(uint **)(param_1 + 0x34);
            *(uint ***)((int)puVar19 + -8) = &local_34;
            *(uint **)((int)puVar19 + -0xc) = local_4c + 0x16;
            *(int **)((int)puVar19 + -0x10) = local_40;
            *(undefined4 *)((int)puVar19 + -0x14) = 0xf3184;
            local_34 = local_54;
            local_30 = local_50;
            FUN_00109180();
            puVar22 = (uint *)((int)puVar19 + -4);
            puVar11 = (uint *)((int)puVar19 + -4);
            if (local_40[0] == 0) {
              *(undefined ***)((int)puVar19 + -0xc) = local_58 + -0x61333;
              *(undefined4 *)((int)puVar19 + -0x10) = 0x15f1;
              *(undefined ***)((int)puVar19 + -0x14) = local_58 + -0x60ece;
                    /* WARNING: Subroutine does not return */
              *(undefined4 *)((int)puVar19 + -0x18) = 0xf387e;
              FUN_002446e0();
            }
            iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0x24);
            if ((*(byte *)(iVar21 + 0x1c) & 1) == 0) goto LAB_000f3135;
            uVar23 = ((*(int *)(local_40[0] + 0xc) + *(int *)(iVar21 + 4)) - local_bc) - local_44[3]
            ;
            uVar24 = uVar23 & 0xffff;
            uVar23 = uVar23 + 0x8000 >> 0x10;
            if (uVar23 == 0) {
              *local_64 = uVar24 + 0xe9820000;
              puVar19 = local_64 + 1;
            }
            else {
              local_64[1] = uVar24 + 0xe98c0000;
              puVar19 = local_64 + 2;
              *local_64 = uVar23 + 0x3d820000;
            }
            *puVar19 = 0x7d8903a6;
            puVar19[1] = 0x4e800420;
          }
          local_44 = (int *)*local_44;
          puVar19 = puVar11;
          piVar7 = local_44;
          if (local_44 == (int *)0x0) break;
        } while( true );
      }
      local_44 = piVar7;
      if (*(char *)(param_1 + 0x8c) == '\0') {
        return;
      }
      uVar23 = local_70 + *(int *)(param_1 + 0x7c) + *(int *)(param_1 + 0x74);
      iVar21 = *(int *)(*(int *)(param_1 + 0x34) + 0xac);
      if ((*(byte *)(iVar21 + 0x1c) & 2) != 0) {
        uVar2 = *(undefined4 *)(iVar21 + 0x2c);
        *(undefined4 *)((int)puVar11 + -8) = *(undefined4 *)(iVar21 + 0xc);
        *(undefined4 *)((int)puVar11 + -0xc) = uVar2;
        *(uint *)((int)puVar11 + -0x10) = uVar23;
        *(undefined4 *)((int)puVar11 + -0x14) = 0xf322d;
        memcpy(*(void **)((int)puVar11 + -0x10),*(void **)((int)puVar11 + -0xc),
               *(size_t *)((int)puVar11 + -8));
        return;
      }
      goto LAB_000f398a;
    }
    uVar23 = FUN_000af350();
  }
                    /* WARNING: Subroutine does not return */
  FUN_002446e0((int)local_58 + -0x19cca3,0x6f,local_58 + -0x612b6,uVar23);
code_r0x000f32c9:
  *local_64 = uVar23 & 0x3fffffc | 0x48000000;
  local_44 = (int *)*local_44;
  piVar7 = local_44;
  goto joined_r0x000f30c8;
}

