
/* WARNING: Removing unreachable block (ram,0x00198a7b) */
/* WARNING: Removing unreachable block (ram,0x001995c0) */
/* WARNING: Removing unreachable block (ram,0x001996ee) */
/* WARNING: Removing unreachable block (ram,0x001995dd) */
/* WARNING: Removing unreachable block (ram,0x001995e7) */
/* WARNING: Removing unreachable block (ram,0x001995f4) */
/* WARNING: Removing unreachable block (ram,0x0019970b) */
/* WARNING: Removing unreachable block (ram,0x00199717) */
/* WARNING: Removing unreachable block (ram,0x001995fb) */
/* WARNING: Removing unreachable block (ram,0x00199612) */
/* WARNING: Removing unreachable block (ram,0x00199726) */
/* WARNING: Removing unreachable block (ram,0x00199646) */
/* WARNING: Removing unreachable block (ram,0x00199650) */
/* WARNING: Removing unreachable block (ram,0x00199683) */
/* WARNING: Removing unreachable block (ram,0x001996a5) */
/* WARNING: Removing unreachable block (ram,0x001996ac) */
/* WARNING: Removing unreachable block (ram,0x001996c1) */
/* WARNING: Removing unreachable block (ram,0x00198a95) */
/* WARNING: Removing unreachable block (ram,0x001987ea) */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void global(Scan * this, Symbol_table * symtab, Layout * layout,
   Target_mips<64,_false> * target, Sized_relobj_file<64,_false> * object, uint data_shndx,
   Output_section * output_section, Relatype * rela, Reltype * rel, uint rel_type, uint r_type,
   Symbol * gsym) */

void __thiscall
anon_unknown.dwarf_d7d43e::Target_mips<64,_false>::Scan::global
          (Scan *this,Symbol_table *symtab,Layout *layout,Target_mips<64,_false> *target,
          Sized_relobj_file<64,_false> *object,uint data_shndx,Output_section *output_section,
          Relatype *rela,Reltype *rel,uint rel_type,uint r_type,Symbol *gsym)

{
  Scan *pSVar1;
  byte *pbVar2;
  char cVar3;
  byte bVar4;
  _func_int_varargs **pp_Var5;
  Mips64_rela_data *pMVar6;
  undefined4 uVar7;
  undefined4 *puVar8;
  Output_data *od;
  int iVar9;
  Scan *pSVar10;
  bool bVar11;
  undefined1 *puVar12;
  char *pcVar13;
  int iVar14;
  anon_union_4_2_238bdeaa_for_u2_ aVar15;
  int iVar16;
  Reloc_section *reloc_section;
  Sized_symbol<64> *sym;
  Output_section_data *pOVar17;
  Output_data_reloc_generic *this_00;
  Output_section *extraout_ECX;
  Scan *pSVar18;
  Scan *pSVar19;
  Layout *this_01;
  Layout *__args_0;
  _func_int_varargs *p_Var20;
  uint uVar21;
  int unaff_EDI;
  undefined8 uVar22;
  Mips_relobj<64,_false> *in_stack_ffffff84;
  iterator in_stack_ffffff88;
  Layout *layout_00;
  _func_int_varargs *local_68;
  _func_int_varargs *local_64;
  section_size_type view_size;
  anon_union_4_2_238bdeaa_for_u2_ local_34;
  
  uVar22 = __x86_get_pc_thunk_di();
  this_01 = (Layout *)((ulonglong)uVar22 >> 0x20);
  if (data_shndx == 4) {
    puVar8 = (undefined4 *)target->MIPS_GP_OFFSET;
    p_Var20 = (_func_int_varargs *)*puVar8;
    local_68 = (_func_int_varargs *)puVar8[1];
    local_64 = (_func_int_varargs *)puVar8[2];
    layout_00 = (Layout *)puVar8[4];
  }
  else {
    layout_00 = (Layout *)0x0;
    pp_Var5 = (object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object;
    p_Var20 = *pp_Var5;
    local_68 = pp_Var5[1];
    local_64 = pp_Var5[2];
  }
  if ((Symbol_table *)
      ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +
      (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8) <= symtab) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);
  }
  uVar21 = (uint)symtab >> 5;
  __args_0 = (Layout *)(1 << ((byte)symtab & 0x1f));
  if ((*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0) == 0) {
    if ((Symbol_table *)
        ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +
        (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);
    }
    if ((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) != 0) goto LAB_0019859c;
    if ((Symbol_table *)
        ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +
        (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);
    }
    if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) != 0) goto LAB_0019859c;
LAB_001986ca:
    if (output_section == (Output_section *)0x0) {
      return;
    }
  }
  else {
LAB_0019859c:
    pSVar10 = *(Scan **)(this + 0x170);
    pSVar18 = this + 0x16c;
    if (*(Scan **)(this + 0x170) == (Scan *)0x0) {
LAB_00198b60:
      aVar15.relobj = (Sized_relobj<64,_false> *)operator_new(0x14);
      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;
      ((aVar15.relobj)->super_Relobj).super_Object._vptr_Object = (_func_int_varargs **)this;
      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity = 0;
      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_dataplus._M_p = (pointer)symtab;
      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\0';
      if ((Symbol_table *)
          ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +
          (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8) <= symtab) {
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);
      }
      if ((*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0) == 0) {
        if ((Symbol_table *)
            ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +
            (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);
        }
        if ((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) == 0) {
          if ((Symbol_table *)
              ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +
              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */
            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);
          }
          if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */
            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI);
          }
        }
      }
      view_size = (section_size_type)symtab;
      local_34.relobj = aVar15.relobj;
      std::
      _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>
      ::
      _M_emplace_unique<std::pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>
                ((_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>
                  *)in_stack_ffffff84,
                 (pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*> *)
                 __args_0);
    }
    else {
      do {
        while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {
          pSVar1 = pSVar19 + 0xc;
          pSVar10 = *(Scan **)pSVar1;
          pSVar19 = pSVar18;
          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;
        }
        pSVar10 = *(Scan **)(pSVar19 + 8);
        pSVar18 = pSVar19;
      } while (*(Scan **)(pSVar19 + 8) != (Scan *)0x0);
LAB_001985d5:
      if ((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))
      goto LAB_00198b60;
      aVar15 = (anon_union_4_2_238bdeaa_for_u2_)
               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj;
      __args_0 = (Layout *)in_stack_ffffff88._M_current;
    }
    in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;
    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')
    goto LAB_001986ca;
    if (output_section == (Output_section *)0x0) {
      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;
      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';
      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =
           (size_type)rela;
      return;
    }
    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&
       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {
      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =
           (size_type)rela;
    }
  }
  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&
      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section
                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&
     (symtab != *(Symbol_table **)(this + 0x22c))) {
    *(undefined1 *)&rela[0x10].p_ = 1;
  }
  if (output_section < (Output_section *)0xfa) {
                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (*(code *)(&UNK_00451af7 +
              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();
    return;
  }
  *(undefined1 *)&rela[0x14].p_ = 1;
  *(undefined1 *)&rela[0x12].p_ = 1;
  if (output_section == (Output_section *)0x67) goto LAB_0019878c;
  if (output_section < (Output_section *)0x68) {
    if (output_section < (Output_section *)0x20) {
      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))
      goto LAB_0019878c;
    }
    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;
LAB_001988ea:
    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;
    if ((extraout_ECX->out_shndx_ != 0) &&
       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {
      std::
      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
      ::_M_erase();
      *(undefined1 *)(view_size + 0x5d) = 0;
    }
  }
  else {
    if (output_section < (Output_section *)0x9b) {
      if ((Output_section *)0x98 < output_section) goto LAB_0019878c;
      if (output_section != (Output_section *)0x8e) goto LAB_001988ea;
      cVar3 = *(char *)((int)&rela[0x12].p_ + 1);
    }
    else {
      if (output_section != (Output_section *)0x9c) goto LAB_001988ea;
LAB_0019878c:
      cVar3 = *(char *)((int)&rela[0x12].p_ + 1);
    }
    if (cVar3 == '\0') {
      bVar11 = gold::Symbol::needs_plt_entry((Symbol *)rela);
      bVar4 = *(byte *)((int)&rela[10].p_ + 2);
      in_stack_ffffff88._M_current =
           (Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4);
      if (bVar11) {
        if ((bVar4 & 7) != 0) {
LAB_00198ff9:
          if ((bVar4 & 7) != 4) goto LAB_001987a0;
          goto LAB_00199001;
        }
        if ((rela[2].p_[1].r_addend & 0x100000000) == 0) goto LAB_00199108;
      }
      else {
        if ((bVar4 & 7) != 0) goto LAB_00198ff9;
LAB_00199108:
        if ((rela[3].p_ != (Mips64_rela_data *)0x0) || (((uint)rela[10].p_ & 0x20000000) == 0))
        goto LAB_001987a0;
LAB_00199001:
        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;
        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')
        goto LAB_001987a0;
      }
      if (extraout_ECX->out_shndx_ == 0) {
        pOVar17 = (Output_section_data *)operator_new(0x54);
        puVar12 = &(pOVar17->super_Output_data).field_0x1c;
        *puVar12 = *puVar12 & 0xe0;
        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;
        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;
        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;
        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;
        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;
        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;
        pOVar17->output_section_ = (Output_section *)0x0;
        *(undefined4 *)&pOVar17->addralign_ = 8;
        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;
        (pOVar17->super_Output_data)._vptr_Output_data =
             (_func_int_varargs **)
             ("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);
        uVar21 = 0;
        do {
          *(undefined4 *)((int)&pOVar17[1].super_Output_data._vptr_Output_data + uVar21) = 0;
          uVar21 = uVar21 + 4;
        } while (uVar21 < 0x1c);
        pOVar17[1].super_Output_data._vptr_Output_data =
             (_func_int_varargs **)((int)&pOVar17[1].super_Output_data.offset_ + 4);
        *(Output_section **)&pOVar17[1].addralign_ = extraout_ECX;
        extraout_ECX->out_shndx_ = (uint)pOVar17;
        *(undefined4 *)&pOVar17[1].super_Output_data.address_ = 1;
        *(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;
        *(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;
        *(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0x3f800000;
        *(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;
        *(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;
        *(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0xffffffff;
        *(undefined1 *)&pOVar17[1].output_section_ = 0;
        gold::Layout::add_output_section_data
                  (this_01,&UNK_002d8d0c + unaff_EDI,1,6,pOVar17,ORDER_PLT,false);
      }
      view_size = (section_size_type)rela;
      if ((*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&
         (rela[6].p_ == (Mips64_rela_data *)0xffffffff)) {
        std::
        _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
        ::
        _M_insert<(anonymous_namespace)::Mips_symbol<64>*_const&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<(anonymous_namespace)::Mips_symbol<64>*,_true>_>_>_>
                  ();
        *(undefined1 *)(view_size + 0x5d) = 1;
      }
    }
  }
LAB_001987a0:
  if (((byte)this[0x1e8] & 1) == 0) {
    if (output_section == (Output_section *)0x64) {
      bVar4 = *(byte *)((int)&rela[10].p_ + 1);
      in_stack_ffffff88._M_current =
           (Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4);
      if ((bVar4 >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;
    }
    else if (output_section < (Output_section *)0x65) {
      if (output_section == (Output_section *)0xa) {
LAB_00198a07:
        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;
      }
      else if (output_section < (Output_section *)0xb) {
        if (output_section == (Output_section *)0x4) goto LAB_00198a07;
      }
      else if (&output_section[-1].checkpoint_ < (Checkpoint_output_section **)0x2)
      goto LAB_00198a07;
    }
    else if (output_section < (Output_section *)0x8e) {
      if ((Output_section *)0x8a < output_section) goto LAB_00198a07;
      if (output_section == (Output_section *)0x85) {
        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;
      }
    }
    else if (output_section == (Output_section *)0xad) {
      *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;
    }
  }
  bVar11 = gold::Symbol::needs_plt_entry((Symbol *)rela);
  if (bVar11) {
    if ((*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&
       (rela[6].p_ == (Mips64_rela_data *)0xffffffff)) {
      iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;
      if (iVar14 == 0) {
        Target_mips<64,_false>::got_section
                  ((Target_mips<64,_false> *)in_stack_ffffff84,
                   (Symbol_table *)in_stack_ffffff88._M_current,layout_00);
        pOVar17 = (Output_section_data *)operator_new(0x30);
        (pOVar17->super_Output_data)._vptr_Output_data =
             (_func_int_varargs **)(unaff_EDI + 0x4439c7);
        extraout_ECX->name_ = (char *)pOVar17;
        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;
        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;
        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;
        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;
        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;
        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;
        puVar12 = &(pOVar17->super_Output_data).field_0x1c;
        *puVar12 = *puVar12 & 0xe0;
        pOVar17->output_section_ = (Output_section *)0x0;
        *(undefined4 *)&pOVar17->addralign_ = 4;
        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;
        pOVar17[1].super_Output_data._vptr_Output_data =
             (_func_int_varargs **)(&UNK_002b4e97 + unaff_EDI);
        gold::Layout::add_output_section_data
                  (this_01,(char *)(unaff_EDI + 0x2b4f02),1,3,pOVar17,ORDER_DATA,false);
        pcVar13 = extraout_ECX->name_;
        if ((pcVar13[0x1c] & 2U) != 0) goto LAB_001997f3;
        pcVar13[0xc] = '\x10';
        pcVar13[0xd] = '\0';
        pcVar13[0xe] = '\0';
        pcVar13[0xf] = '\0';
        pcVar13[0x10] = '\0';
        pcVar13[0x11] = '\0';
        pcVar13[0x12] = '\0';
        pcVar13[0x13] = '\0';
        pOVar17 = (Output_section_data *)operator_new(0x50);
        pcVar13 = extraout_ECX->name_;
        puVar12 = &(pOVar17->super_Output_data).field_0x1c;
        *puVar12 = *puVar12 & 0xe0;
        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;
        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;
        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;
        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;
        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;
        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;
        pOVar17->output_section_ = (Output_section *)0x0;
        *(undefined4 *)&pOVar17->addralign_ = 8;
        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;
        (pOVar17->super_Output_data)._vptr_Output_data =
             (_func_int_varargs **)
             ("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);
        *(char **)&pOVar17[1].super_Output_data.address_ = pcVar13;
        *(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;
        *(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;
        *(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0;
        *(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;
        *(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;
        *(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0;
        pOVar17[1].output_section_ = extraout_ECX;
                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */
        this_00 = (Output_data_reloc_generic *)operator_new(0x40);
        in_stack_ffffff88._M_current = (Mips_symbol<64> **)this_00;
                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */
        gold::Output_data_reloc_generic::Output_data_reloc_generic(this_00,0x40,false);
        this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.
        _vptr_Output_data = (_func_int_varargs **)0x0;
        *(undefined4 *)
         &this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.
          address_ = 0;
        *(undefined4 *)
         ((int)&this_00[1].super_Output_section_data_build.super_Output_section_data.
                super_Output_data.address_ + 4) = 0;
        pOVar17[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)this_00;
        (this_00->super_Output_section_data_build).super_Output_section_data.super_Output_data.
        _vptr_Output_data = (_func_int_varargs **)(&UNK_0044971f + unaff_EDI);
                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */
        gold::Layout::add_output_section_data
                  (this_01,(char *)(unaff_EDI + 0x2b4f79),9,2,(Output_section_data *)this_00,
                   ORDER_DYNAMIC_PLT_RELOCS,false);
        *(Output_section_data **)&(extraout_ECX->super_Output_data).field_0x1c = pOVar17;
        gold::Layout::add_output_section_data
                  (this_01,(char *)(unaff_EDI + 0x2b7b9f),1,6,pOVar17,ORDER_PLT,false);
        iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;
        gold::Output_section::set_info_section
                  (*(Output_section **)(*(int *)(iVar14 + 0x2c) + 0x20),
                   *(Output_section **)(iVar14 + 0x20));
        iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;
        if (rela[6].p_ != (Mips64_rela_data *)0xffffffff) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x1cf4,(char *)(unaff_EDI + 0x2e1fd7))
          ;
        }
      }
      puVar8 = *(undefined4 **)(iVar14 + 0x38);
      rela[6].p_ = (Mips64_rela_data *)((((int)puVar8 - *(int *)(iVar14 + 0x34) >> 2) + 2) * 0x10);
      if (puVar8 == *(undefined4 **)(iVar14 + 0x3c)) {
        std::
        vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>
        ::_M_realloc_insert<(anonymous_namespace)::Mips_symbol<64>*_const&>
                  ((vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>
                    *)in_stack_ffffff84,in_stack_ffffff88,(Mips_symbol<64> **)layout_00);
      }
      else {
        *puVar8 = rela;
        *(undefined4 **)(iVar14 + 0x38) = puVar8 + 1;
      }
      if ((output_section == (Output_section *)0x64 || output_section == (Output_section *)0x4) ||
         (output_section == (Output_section *)0x85)) {
        if (output_section == (Output_section *)0x4) {
          *(undefined1 *)((int)&rela[0x17].p_ + 2) = 1;
        }
        else {
          *(undefined1 *)((int)&rela[0x17].p_ + 3) = 1;
        }
      }
      od = *(Output_data **)(iVar14 + 0x30);
      iVar9 = (int)od->data_size_;
      iVar16 = iVar9 + 8;
      if ((od->field_0x1c & 2) != 0) {
LAB_001997f3:
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable
                  ((char *)(gold::General_options::parse_EL + unaff_EDI + 4),0x231,
                   &UNK_002e21d7 + unaff_EDI);
      }
      *(int *)&od->data_size_ = iVar16;
      *(int *)((int)&od->data_size_ + 4) = iVar16 >> 0x1f;
      pbVar2 = (byte *)((int)&rela[10].p_ + 2);
      *pbVar2 = *pbVar2 | 0x40;
      in_stack_ffffff88._M_current = *(Mips_symbol<64> ***)(iVar14 + 0x2c);
      gold::Output_reloc<9,_true,_64,_false>::Output_reloc
                ((Output_reloc<9,_true,_64,_false> *)&view_size,(Symbol *)rela,0x7f,od,
                 (longlong)iVar9,false,false,false);
      gold::Output_data_reloc_base<9,_true,_64,_false>::add
                ((Output_data_reloc_base<9,_true,_64,_false> *)in_stack_ffffff88._M_current,od,
                 (Output_reloc<9,_true,_64,_false> *)&view_size);
    }
    if ((((uint)rela[10].p_ & 0x70000) == 0) && ((rela[2].p_[1].r_addend & 0x100000000) != 0)) {
      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;
      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&
         (gold::Symbol::set_needs_dynsym_value((Symbol *)rela), *(char *)&rela[0x14].p_ != '\0')) {
        bVar4 = *(byte *)((int)&rela[10].p_ + 1);
        if ((bVar4 >> 2 & 0x3c) == 0x3c) {
          *(byte *)((int)&rela[10].p_ + 1) = bVar4 & 3 | 0xf8;
        }
        else {
          *(byte *)((int)&rela[10].p_ + 1) = (byte)((bVar4 >> 2 & 0x30 | 2) << 2) | bVar4 & 3;
        }
      }
    }
  }
  iVar14 = 0;
  if ((undefined1 *)((int)&output_section[-1].reloc_section_ + 3U) < (undefined1 *)0xf9) {
    iVar14 = (int)*(char *)((int)&output_section[0x32c6].addralign_ + unaff_EDI + 2);
  }
  bVar11 = gold::Symbol::needs_dynamic_reloc((Symbol *)rela,iVar14);
  if (bVar11) {
    bVar11 = gold::Symbol::may_need_copy_reloc((Symbol *)rela);
    if (bVar11) {
      reloc_section =
           rel_dyn_section((Target_mips<64,_false> *)in_stack_ffffff84,
                           (Layout *)in_stack_ffffff88._M_current);
      sym = gold::Symbol_table::get_sized_symbol<64>
                      ((Symbol_table *)in_stack_ffffff84,(Symbol *)in_stack_ffffff88._M_current);
      gold::Copy_relocs<9,_64,_false>::copy_reloc
                ((Copy_relocs<9,_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01
                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,
                 (uint)output_section,CONCAT44(local_68,p_Var20),0,
                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);
    }
    else {
      pMVar6 = rela->p_;
      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);
      gold::gold_error(pcVar13,pMVar6);
    }
  }
  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);
  if (puVar12 < (undefined1 *)0xf1) {
                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))
              ();
    return;
  }
  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {
LAB_0019972d:
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);
  }
  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {
    return;
  }
  if (output_section != (Output_section *)0x64) {
    if (output_section < (Output_section *)0x65) {
      if (output_section != (Output_section *)0x5) {
        if (output_section < (Output_section *)0x6) {
          if (output_section != (Output_section *)0x4) {
            return;
          }
          goto LAB_0019889d;
        }
        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {
          return;
        }
      }
    }
    else if (output_section != (Output_section *)0x86) {
      if (output_section < (Output_section *)0x87) {
        if (output_section != (Output_section *)0x68) {
          if (output_section != (Output_section *)0x85) {
            return;
          }
          goto LAB_0019889d;
        }
      }
      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {
        return;
      }
    }
    if (local_64 == (_func_int_varargs *)0x0) {
      return;
    }
  }
LAB_0019889d:
  pMVar6 = rela->p_;
  uVar7 = *(undefined4 *)(this + 4);
  pcVar13 = (char *)gettext(unaff_EDI + 0x2d9187);
  gold::gold_error(pcVar13,uVar7,output_section,pMVar6);
  return;
}



/* WARNING: Removing unreachable block (ram,0x00198a7b) */
/* WARNING: Removing unreachable block (ram,0x001995c0) */
/* WARNING: Removing unreachable block (ram,0x001996ee) */
/* WARNING: Removing unreachable block (ram,0x001995dd) */
/* WARNING: Removing unreachable block (ram,0x001995e7) */
/* WARNING: Removing unreachable block (ram,0x001995f4) */
/* WARNING: Removing unreachable block (ram,0x0019970b) */
/* WARNING: Removing unreachable block (ram,0x00199717) */
/* WARNING: Removing unreachable block (ram,0x001995fb) */
/* WARNING: Removing unreachable block (ram,0x00199612) */
/* WARNING: Removing unreachable block (ram,0x00199726) */
/* WARNING: Removing unreachable block (ram,0x00199646) */
/* WARNING: Removing unreachable block (ram,0x00199650) */
/* WARNING: Removing unreachable block (ram,0x00199683) */
/* WARNING: Removing unreachable block (ram,0x001996a5) */
/* WARNING: Removing unreachable block (ram,0x001996ac) */
/* WARNING: Removing unreachable block (ram,0x001996c1) */
/* WARNING: Removing unreachable block (ram,0x00198a95) */
/* WARNING: Removing unreachable block (ram,0x001987ea) */

void FUN_00198500(int param_1,undefined4 *param_2,undefined4 param_3,int *param_4,int *param_5,
                 int param_6,uint param_7,undefined4 *param_8)

{
  byte bVar1;
  int iVar2;
  char cVar3;
  undefined4 uVar4;
  int iVar5;
  int iVar6;
  undefined4 uVar7;
  undefined4 uVar8;
  int *piVar9;
  undefined4 *puVar10;
  int extraout_ECX;
  int iVar11;
  undefined4 extraout_ECX_00;
  undefined4 extraout_ECX_01;
  undefined4 extraout_ECX_02;
  undefined4 extraout_ECX_03;
  undefined4 extraout_ECX_04;
  undefined4 extraout_ECX_05;
  undefined4 extraout_ECX_06;
  uint uVar12;
  uint uVar13;
  int unaff_EDI;
  undefined8 uVar14;
  undefined4 local_68;
  int local_64;
  undefined4 *local_38;
  int *local_34;
  
  uVar14 = FUN_00074f0a();
  uVar8 = (undefined4)((ulonglong)uVar14 >> 0x20);
  if (param_6 == 4) {
    puVar10 = (undefined4 *)*param_4;
    uVar7 = *puVar10;
    local_68 = puVar10[1];
    local_64 = puVar10[2];
  }
  else {
    puVar10 = (undefined4 *)*param_5;
    uVar7 = *puVar10;
    local_68 = puVar10[1];
    local_64 = puVar10[2];
  }
  if ((undefined4 *)
      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +
      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);
  }
  uVar13 = (uint)param_2 >> 5;
  uVar12 = 1 << ((byte)param_2 & 0x1f);
  if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {
    iVar5 = *(int *)(param_1 + 0x204);
    if ((undefined4 *)
        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +
        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {
                    /* WARNING: Subroutine does not return */
      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);
    }
    if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;
    iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);
    if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=
        param_2) {
                    /* WARNING: Subroutine does not return */
      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);
    }
    if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;
LAB_001986ca:
    if (param_7 == 0) {
      return;
    }
  }
  else {
LAB_0019859c:
    iVar5 = *(int *)(param_1 + 0x170);
    iVar6 = param_1 + 0x16c;
    if (*(int *)(param_1 + 0x170) == 0) {
LAB_00198b60:
      piVar9 = (int *)FUN_003ac4d0(0x14);
      piVar9[2] = 0;
      *piVar9 = param_1;
      piVar9[3] = 0;
      piVar9[1] = (int)param_2;
      *(undefined1 *)(piVar9 + 4) = 0;
      if ((undefined4 *)
          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +
          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {
                    /* WARNING: Subroutine does not return */
        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);
      }
      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {
        puVar10 = (undefined4 *)
                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +
                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);
        if (puVar10 <= param_2) {
                    /* WARNING: Subroutine does not return */
          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);
        }
        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {
          puVar10 = (undefined4 *)
                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +
                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);
          if (puVar10 <= param_2) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */
            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);
          }
          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */
            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);
          }
        }
      }
      local_38 = param_2;
      local_34 = piVar9;
      FUN_001721f0();
    }
    else {
      do {
        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {
          piVar9 = (int *)(iVar11 + 0xc);
          iVar5 = *piVar9;
          iVar11 = iVar6;
          if (*piVar9 == 0) goto LAB_001985d5;
        }
        iVar5 = *(int *)(iVar11 + 8);
        iVar6 = iVar11;
      } while (*(int *)(iVar11 + 8) != 0);
LAB_001985d5:
      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))
      goto LAB_00198b60;
      piVar9 = *(int **)(iVar11 + 0x14);
    }
    if ((char)piVar9[4] != '\0') goto LAB_001986ca;
    if (param_7 == 0) {
      piVar9[2] = 0;
      *(undefined1 *)(piVar9 + 4) = 1;
      piVar9[3] = (int)param_8;
      return;
    }
    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {
      piVar9[3] = (int)param_8;
    }
  }
  if ((((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&
     (param_2 != *(undefined4 **)(param_1 + 0x22c))) {
    *(undefined1 *)(param_8 + 0x10) = 1;
  }
  if (param_7 < 0xfa) {
                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();
    return;
  }
  *(undefined1 *)(param_8 + 0x14) = 1;
  *(undefined1 *)(param_8 + 0x12) = 1;
  if (param_7 == 0x67) goto LAB_0019878c;
  if (param_7 < 0x68) {
    if (param_7 < 0x20) {
      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;
    }
    else if (param_7 == 0x25) goto LAB_0019878c;
LAB_001988ea:
    *(undefined1 *)((int)param_8 + 0x49) = 1;
    if ((*(int *)(extraout_ECX + 0x60) != 0) &&
       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {
      FUN_00179860();
      *(undefined1 *)((int)local_38 + 0x5d) = 0;
    }
  }
  else {
    if (param_7 < 0x9b) {
      if (0x98 < param_7) goto LAB_0019878c;
      if (param_7 != 0x8e) goto LAB_001988ea;
      cVar3 = *(char *)((int)param_8 + 0x49);
    }
    else {
      if (param_7 != 0x9c) goto LAB_001988ea;
LAB_0019878c:
      cVar3 = *(char *)((int)param_8 + 0x49);
    }
    if (cVar3 == '\0') {
      cVar3 = FUN_0008ff10(param_8);
      bVar1 = *(byte *)((int)param_8 + 0x2a);
      if (cVar3 == '\0') {
        if ((bVar1 & 7) != 0) goto LAB_00198ff9;
LAB_00199108:
        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;
LAB_00199001:
        uVar4 = extraout_ECX_00;
        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;
        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')
        goto LAB_001987a0;
      }
      else {
        if ((bVar1 & 7) != 0) {
LAB_00198ff9:
          if ((bVar1 & 7) != 4) goto LAB_001987a0;
          goto LAB_00199001;
        }
        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;
      }
      if (*(int *)(extraout_ECX + 0x60) == 0) {
        piVar9 = (int *)FUN_003ac4d0(0x54);
        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;
        piVar9[1] = 0;
        piVar9[2] = 0;
        piVar9[3] = 0;
        piVar9[4] = 0;
        piVar9[5] = -1;
        piVar9[6] = -1;
        piVar9[8] = 0;
        piVar9[9] = 8;
        piVar9[10] = 0;
        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);
        uVar12 = 0;
        do {
          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;
          uVar12 = uVar12 + 4;
        } while (uVar12 < 0x1c);
        piVar9[0xb] = (int)(piVar9 + 0x11);
        piVar9[0x14] = extraout_ECX;
        *(int **)(extraout_ECX + 0x60) = piVar9;
        piVar9[0xc] = 1;
        piVar9[0xd] = 0;
        piVar9[0xe] = 0;
        piVar9[0xf] = 0x3f800000;
        piVar9[0x10] = 0;
        piVar9[0x11] = 0;
        piVar9[0x12] = -1;
        *(undefined1 *)(piVar9 + 0x13) = 0;
        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);
      }
      local_38 = param_8;
      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {
        FUN_00179a80();
        *(undefined1 *)((int)local_38 + 0x5d) = 1;
      }
    }
  }
LAB_001987a0:
  if ((*(byte *)(param_1 + 0x1e8) & 1) == 0) {
    if (param_7 == 100) {
      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;
    }
    else if (param_7 < 0x65) {
      if (param_7 == 10) {
LAB_00198a07:
        *(undefined1 *)((int)param_8 + 0x41) = 1;
      }
      else if (param_7 < 0xb) {
        if (param_7 == 4) goto LAB_00198a07;
      }
      else if (param_7 - 0x3c < 2) goto LAB_00198a07;
    }
    else if (param_7 < 0x8e) {
      if (0x8a < param_7) goto LAB_00198a07;
      if (param_7 == 0x85) {
        *(undefined1 *)((int)param_8 + 0x41) = 1;
      }
    }
    else if (param_7 == 0xad) {
      *(undefined1 *)((int)param_8 + 0x41) = 1;
    }
  }
  cVar3 = FUN_0008ff10(param_8);
  if (cVar3 != '\0') {
    uVar4 = extraout_ECX_01;
    if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {
      iVar5 = *(int *)(extraout_ECX + 0x1c);
      if (iVar5 == 0) {
        FUN_0017bb90();
        piVar9 = (int *)FUN_003ac4d0(0x30);
        *piVar9 = unaff_EDI + 0x4439c7;
        *(int **)(extraout_ECX + 0x20) = piVar9;
        piVar9[1] = 0;
        piVar9[2] = 0;
        piVar9[3] = 0;
        piVar9[4] = 0;
        piVar9[5] = -1;
        piVar9[6] = -1;
        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;
        piVar9[8] = 0;
        piVar9[9] = 4;
        piVar9[10] = 0;
        piVar9[0xb] = unaff_EDI + 0x2b4e97;
        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);
        iVar6 = *(int *)(extraout_ECX + 0x20);
        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;
        *(undefined4 *)(iVar6 + 0xc) = 0x10;
        *(undefined4 *)(iVar6 + 0x10) = 0;
        piVar9 = (int *)FUN_003ac4d0(0x50);
        iVar5 = *(int *)(extraout_ECX + 0x20);
        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;
        piVar9[1] = 0;
        piVar9[2] = 0;
        piVar9[3] = 0;
        piVar9[4] = 0;
        piVar9[5] = -1;
        piVar9[6] = -1;
        piVar9[8] = 0;
        piVar9[9] = 8;
        piVar9[10] = 0;
        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);
        piVar9[0xc] = iVar5;
        piVar9[0xd] = 0;
        piVar9[0xe] = 0;
        piVar9[0xf] = 0;
        piVar9[0x10] = 0;
        piVar9[0x11] = 0;
        piVar9[0x12] = 0;
        piVar9[0x13] = extraout_ECX;
                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */
        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);
                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */
        FUN_001cc9c0(puVar10,0x40,0);
        puVar10[0xd] = 0;
        puVar10[0xe] = 0;
        puVar10[0xf] = 0;
        piVar9[0xb] = (int)puVar10;
        *puVar10 = &UNK_0044971f + unaff_EDI;
                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */
        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);
        *(int **)(extraout_ECX + 0x1c) = piVar9;
        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);
        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),
                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));
        iVar5 = *(int *)(extraout_ECX + 0x1c);
        if (param_8[6] != -1) {
                    /* WARNING: Subroutine does not return */
          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);
        }
      }
      puVar10 = *(undefined4 **)(iVar5 + 0x38);
      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;
      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {
        FUN_00177b60();
      }
      else {
        *puVar10 = param_8;
        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;
      }
      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {
        if (param_7 == 4) {
          *(undefined1 *)((int)param_8 + 0x5e) = 1;
        }
        else {
          *(undefined1 *)((int)param_8 + 0x5f) = 1;
        }
      }
      iVar11 = *(int *)(iVar5 + 0x30);
      iVar2 = *(int *)(iVar11 + 0xc);
      iVar6 = iVar2 + 8;
      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {
LAB_001997f3:
                    /* WARNING: Subroutine does not return */
        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);
      }
      *(int *)(iVar11 + 0xc) = iVar6;
      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;
      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;
      uVar8 = *(undefined4 *)(iVar5 + 0x2c);
      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);
      FUN_001cdb50(uVar8,iVar11,&local_38);
      uVar4 = extraout_ECX_03;
    }
    if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {
      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;
      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&
         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {
        bVar1 = *(byte *)((int)param_8 + 0x29);
        if ((bVar1 >> 2 & 0x3c) == 0x3c) {
          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;
        }
        else {
          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;
        }
      }
    }
  }
  iVar5 = 0;
  if (param_7 - 1 < 0xf9) {
    iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);
  }
  cVar3 = FUN_00071bb0(param_8,iVar5);
  uVar4 = extraout_ECX_02;
  if (cVar3 != '\0') {
    cVar3 = FUN_00103300(param_8);
    if (cVar3 == '\0') {
      uVar8 = *param_8;
      uVar7 = gettext(unaff_EDI + 0x2d9153);
      FUN_0023b810(uVar7,uVar8);
      uVar4 = extraout_ECX_04;
    }
    else {
      uVar8 = FUN_00198320();
      uVar4 = FUN_001771a0();
      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0
                   ,0,uVar8);
      uVar4 = extraout_ECX_05;
    }
  }
  if (param_7 - 9 < 0xf1) {
                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();
    return;
  }
  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {
LAB_0019972d:
                    /* WARNING: Subroutine does not return */
    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);
  }
  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {
    return;
  }
  if (param_7 != 100) {
    if (param_7 < 0x65) {
      if (param_7 != 5) {
        if (param_7 < 6) {
          if (param_7 != 4) {
            return;
          }
          goto LAB_0019889d;
        }
        if (1 < param_7 - 0x1c) {
          return;
        }
      }
    }
    else if (param_7 != 0x86) {
      if (param_7 < 0x87) {
        if (param_7 != 0x68) {
          if (param_7 != 0x85) {
            return;
          }
          goto LAB_0019889d;
        }
      }
      else if (1 < param_7 - 0x97) {
        return;
      }
    }
    if (local_64 == 0) {
      return;
    }
  }
LAB_0019889d:
  uVar8 = *param_8;
  uVar7 = *(undefined4 *)(param_1 + 4);
  uVar4 = gettext(unaff_EDI + 0x2d9187);
  FUN_0023b810(uVar4,uVar7,param_7,uVar8);
  return;
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
CALL 0x00074f0a
ADD EDI,0x451af7
PUSH ESI
PUSH EBX
SUB ESP,0x6c
CMP dword ptr [EBP + 0x1c],0x4
MOV dword ptr [EBP + -0x5c],EAX
MOV dword ptr [EBP + -0x58],EDX
MOV dword ptr [EBP + -0x4c],EDI
MOV dword ptr [EBP + -0x54],ECX
JZ 0x00198628
MOV EAX,dword ptr [EBP + 0x18]
MOV dword ptr [EBP + -0x70],0x0
MOV dword ptr [EBP + -0x6c],0x0
MOV EAX,dword ptr [EAX]
MOV ESI,dword ptr [EAX]
MOV EDI,dword ptr [EAX + 0x4]
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [EBP + -0x68],ESI
MOV dword ptr [EBP + -0x64],EDI
MOV dword ptr [EBP + -0x60],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV ECX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x1f0]
MOV EAX,dword ptr [EAX + 0x1f8]
MOV EDX,EAX
MOV dword ptr [EBP + -0x50],EAX
MOV EAX,dword ptr [EBP + 0x8]
SUB EDX,EBX
MOV EAX,dword ptr [EAX + 0x1fc]
SUB EAX,dword ptr [ECX + 0x1f4]
LEA EAX,[EAX + EDX*0x8]
CMP dword ptr [EBP + 0xc],EAX
JNC 0x00199746
MOV ESI,dword ptr [EBP + 0xc]
MOVZX ECX,byte ptr [EBP + 0xc]
MOV EDX,0x1
SHR ESI,0x5
SHL EDX,CL
TEST dword ptr [EBX + ESI*0x4],EDX
JZ 0x00198650
MOV EAX,dword ptr [EBP + 0x8]
LEA EBX,[EAX + 0x16c]
MOV EAX,dword ptr [EAX + 0x170]
TEST EAX,EAX
JZ 0x00198b60
MOV ECX,EBX
MOV dword ptr [EBP + -0x50],EDX
MOV EDI,dword ptr [EBP + 0xc]
JMP 0x001985c9
MOV ECX,EAX
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x001985d5
CMP EDI,dword ptr [EAX + 0x10]
JBE 0x001985c0
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JNZ 0x001985c9
MOV EDX,dword ptr [EBP + -0x50]
CMP ECX,EBX
JZ 0x00198b60
MOV EAX,dword ptr [ECX + 0x10]
CMP dword ptr [EBP + 0xc],EAX
JC 0x00198b60
MOV EDI,dword ptr [ECX + 0x14]
CMP byte ptr [EDI + 0x10],0x0
JNZ 0x001986ca
MOV EAX,dword ptr [EBP + 0x20]
TEST EAX,EAX
JZ 0x00198db0
MOV EAX,dword ptr [EDI + 0x8]
TEST EAX,EAX
JNZ 0x001986d5
MOV ESI,dword ptr [EDI + 0xc]
TEST ESI,ESI
JNZ 0x001986d5
MOV EAX,dword ptr [EBP + 0x24]
MOV dword ptr [EDI + 0xc],EAX
JMP 0x001986d5
MOV EAX,dword ptr [EBP + 0x14]
MOV EAX,dword ptr [EAX]
MOV ESI,dword ptr [EAX]
MOV EDI,dword ptr [EAX + 0x4]
MOV EBX,dword ptr [EAX + 0x8]
MOV EDX,dword ptr [EAX + 0x14]
MOV EAX,dword ptr [EAX + 0x10]
MOV dword ptr [EBP + -0x68],ESI
MOV dword ptr [EBP + -0x64],EDI
MOV dword ptr [EBP + -0x60],EBX
MOV dword ptr [EBP + -0x70],EAX
MOV dword ptr [EBP + -0x6c],EDX
JMP 0x0019854e
MOV EAX,dword ptr [EBP + 0x8]
MOV EDI,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x204]
MOV EAX,dword ptr [EAX + 0x20c]
MOV ECX,EAX
MOV dword ptr [EBP + -0x50],EAX
MOV EAX,dword ptr [EBP + 0x8]
SUB ECX,EBX
MOV EAX,dword ptr [EAX + 0x210]
SUB EAX,dword ptr [EDI + 0x208]
LEA EAX,[EAX + ECX*0x8]
CMP dword ptr [EBP + 0xc],EAX
JNC 0x00199762
TEST dword ptr [EBX + ESI*0x4],EDX
JNZ 0x0019859c
MOV EAX,dword ptr [EBP + 0x8]
MOV EDI,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x218]
MOV EAX,dword ptr [EAX + 0x220]
MOV ECX,EAX
MOV dword ptr [EBP + -0x50],EAX
MOV EAX,dword ptr [EBP + 0x8]
SUB ECX,EBX
MOV EAX,dword ptr [EAX + 0x224]
SUB EAX,dword ptr [EDI + 0x21c]
LEA EAX,[EAX + ECX*0x8]
CMP dword ptr [EBP + 0xc],EAX
JNC 0x0019977e
TEST dword ptr [EBX + ESI*0x4],EDX
JNZ 0x0019859c
MOV EBX,dword ptr [EBP + 0x20]
TEST EBX,EBX
JZ 0x001988ce
CMP dword ptr [EBP + 0x20],0x64
SETZ byte ptr [EBP + -0x50]
CMP dword ptr [EBP + 0x20],0x67
MOVZX EAX,byte ptr [EBP + -0x50]
JZ 0x00198700
TEST AL,AL
JNZ 0x00198700
MOV EDX,dword ptr [EBP + 0xc]
MOV EAX,dword ptr [EBP + 0x8]
CALL 0x0017b7a0
TEST AL,AL
JZ 0x00198d90
NOP
CMP dword ptr [EBP + 0x20],0xf9
JA 0x00198751
MOV EAX,dword ptr [EBP + -0x4c]
MOV ESI,dword ptr [EBP + 0x20]
ADD EAX,dword ptr [EAX + ESI*0x4 + 0xffe8a47c]
JMP EAX
MOV EAX,dword ptr [EBP + 0x24]
MOV byte ptr [EAX + 0x50],0x1
MOV EAX,dword ptr [EBP + 0x24]
XOR EDI,EDI
MOV ESI,0x1
MOV byte ptr [EAX + 0x48],0x1
CMP dword ptr [EBP + 0x20],0x67
JZ 0x0019878c
JA 0x00198930
CMP dword ptr [EBP + 0x20],0x1f
JA 0x001988e0
CMP dword ptr [EBP + 0x20],0x1e
JNC 0x0019878c
CMP dword ptr [EBP + 0x20],0xb
JNZ 0x001988ea
MOV EAX,dword ptr [EBP + 0x24]
CMP byte ptr [EAX + 0x49],0x0
JZ 0x00198960
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0x8]
TEST byte ptr [EAX + 0x1e8],0x1
JNZ 0x001987e0
CMP dword ptr [EBP + 0x20],0x64
JZ 0x00199030
JA 0x00198ad0
CMP dword ptr [EBP + 0x20],0xa
JZ 0x00198a07
JA 0x001989f8
CMP dword ptr [EBP + 0x20],0x4
JZ 0x00198a07
LEA ESI,[ESI]
LEA ESI,[ESI]
MOV EAX,ESI
TEST AL,AL
JNZ 0x00198a1a
MOV EAX,EDI
TEST AL,AL
JNZ 0x00198a30
MOV EAX,dword ptr [EBP + 0x20]
SUB EAX,0x9
CMP EAX,0xf0
JA 0x00198f38
MOV EDI,dword ptr [EBP + -0x4c]
MOV ECX,dword ptr [EDI + EAX*0x4 + 0xffe8a864]
ADD ECX,EDI
JMP ECX
TEST EAX,EAX
JZ 0x0019972d
CMP byte ptr [EAX + 0x1a25],0x0
JZ 0x001988ce
CMP dword ptr [EBP + 0x20],0x64
JZ 0x0019889d
JBE 0x00198fb8
CMP dword ptr [EBP + 0x20],0x86
JZ 0x00198fa1
JA 0x00198f90
CMP dword ptr [EBP + 0x20],0x68
JZ 0x00198fa1
CMP dword ptr [EBP + 0x20],0x85
JNZ 0x001988ce
MOV EAX,dword ptr [EBP + 0x24]
MOV EBX,dword ptr [EBP + -0x4c]
SUB ESP,0xc
MOV EDI,dword ptr [EAX]
MOV EAX,dword ptr [EBP + 0x8]
MOV ESI,dword ptr [EAX + 0x4]
LEA EAX,[EBX + 0xffe87690]
PUSH EAX
CALL 0x00039440
ADD ESP,0x10
MOV EBX,dword ptr [EBP + -0x4c]
PUSH EDI
PUSH dword ptr [EBP + 0x20]
PUSH ESI
PUSH EAX
CALL 0x0023b810
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP dword ptr [EBP + 0x20],0x25
JZ 0x0019878c
MOV EAX,dword ptr [EBP + 0x24]
MOV byte ptr [EAX + 0x49],0x1
MOV EAX,dword ptr [EBP + -0x54]
MOV EAX,dword ptr [EAX + 0x60]
TEST EAX,EAX
JZ 0x001987a0
MOV EBX,dword ptr [EBP + 0x24]
CMP byte ptr [EBX + 0x5d],0x0
MOV dword ptr [EBP + -0x34],EBX
JZ 0x001987a0
LEA EDX,[EBP + -0x34]
ADD EAX,0x2c
CALL 0x00179860
MOV EAX,dword ptr [EBP + -0x34]
MOV byte ptr [EAX + 0x5d],0x0
JMP 0x001987a0
CMP dword ptr [EBP + 0x20],0x9a
JA 0x001989e0
CMP dword ptr [EBP + 0x20],0x99
JNC 0x0019878c
CMP dword ptr [EBP + 0x20],0x8e
JNZ 0x001988ea
MOV EAX,dword ptr [EBP + 0x24]
CMP byte ptr [EAX + 0x49],0x0
JNZ 0x001987a0
SUB ESP,0xc
PUSH EAX
CALL 0x0008ff10
ADD ESP,0x10
TEST AL,AL
MOV EAX,dword ptr [EBP + 0x24]
MOVZX EAX,byte ptr [EAX + 0x2a]
MOV byte ptr [EBP + -0x74],AL
JZ 0x00198ff0
AND EAX,0x7
JNZ 0x00198ff9
MOV EAX,dword ptr [EBP + 0x24]
MOV EAX,dword ptr [EAX + 0x8]
TEST byte ptr [EAX + 0x2c],0x1
JZ 0x00199108
MOV EAX,dword ptr [EBP + -0x54]
MOV EDX,dword ptr [EAX + 0x60]
TEST EDX,EDX
JZ 0x001992c4
MOV EAX,dword ptr [EBP + 0x24]
CMP byte ptr [EAX + 0x5d],0x0
MOV dword ptr [EBP + -0x34],EAX
JNZ 0x001987a0
CMP dword ptr [EAX + 0x18],-0x1
JNZ 0x001987a0
LEA EAX,[EBP + -0x48]
LEA ECX,[EBP + -0x34]
ADD EDX,0x2c
CALL 0x00179a80
MOV EAX,dword ptr [EBP + -0x34]
MOV byte ptr [EAX + 0x5d],0x1
JMP 0x001987a0
CMP dword ptr [EBP + 0x20],0x9c
JZ 0x0019878c
JMP 0x001988ea
MOV EAX,dword ptr [EBP + 0x20]
SUB EAX,0x3c
CMP EAX,0x1
JA 0x001987e0
MOV EAX,dword ptr [EBP + 0x24]
MOV byte ptr [EAX + 0x41],0x1
NOP
MOV EAX,ESI
TEST AL,AL
JZ 0x001987ea
SUB ESP,0xc
PUSH dword ptr [EBP + 0x24]
CALL 0x0008ff10
ADD ESP,0x10
TEST AL,AL
JNZ 0x00198dd0
MOV EAX,dword ptr [EBP + 0x20]
LEA EDX,[EAX + -0x1]
XOR EAX,EAX
CMP EDX,0xf8
JBE 0x00198b20
SUB ESP,0x8
PUSH EAX
PUSH dword ptr [EBP + 0x24]
CALL 0x00071bb0
ADD ESP,0x10
TEST AL,AL
JZ 0x001987f4
SUB ESP,0xc
PUSH dword ptr [EBP + 0x24]
CALL 0x00103300
ADD ESP,0x10
TEST AL,AL
JNZ 0x00199268
MOV EAX,EDI
TEST AL,AL
JZ 0x001991a0
MOV EDI,dword ptr [EBP + -0x54]
MOV EDX,dword ptr [EBP + -0x58]
LEA EAX,[EDI + 0x24]
CALL 0x00198320
MOV ESI,dword ptr [EDI + 0x48]
CMP ESI,dword ptr [EDI + 0x4c]
JZ 0x001995c0
MOV EAX,dword ptr [EBP + 0x24]
MOV EDX,dword ptr [EBP + -0x64]
MOV dword ptr [ESI + 0x4],0x3
ADD ESI,0x1c
MOV dword ptr [ESI + -0x1c],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [ESI + -0x4],EDX
MOV dword ptr [ESI + -0x14],EAX
MOV EAX,dword ptr [EBP + 0xc]
MOV dword ptr [ESI + -0x10],EAX
MOV EAX,dword ptr [EBP + 0x10]
MOV dword ptr [ESI + -0xc],EAX
MOV EAX,dword ptr [EBP + -0x68]
MOV dword ptr [ESI + -0x8],EAX
MOV dword ptr [EDI + 0x48],ESI
JMP 0x001987f4
CMP dword ptr [EBP + 0x20],0x8d
JA 0x00198b00
CMP dword ptr [EBP + 0x20],0x8b
JNC 0x00198a07
CMP dword ptr [EBP + 0x20],0x85
JNZ 0x001987e0
MOV EAX,dword ptr [EBP + 0x24]
MOV byte ptr [EAX + 0x41],0x1
JMP 0x00198a10
CMP dword ptr [EBP + 0x20],0xad
JNZ 0x001987e0
MOV EAX,dword ptr [EBP + 0x24]
MOV byte ptr [EAX + 0x41],0x1
JMP 0x00198a10
MOV EAX,dword ptr [EBP + -0x4c]
MOV ESI,dword ptr [EBP + 0x20]
MOVSX EAX,byte ptr [EAX + ESI*0x1 + 0xffe8e89f]
JMP 0x00198a44
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x4c]
MOV dword ptr [EBP + -0x74],EDX
PUSH 0x14
CALL 0x003ac4d0
MOV EDX,dword ptr [EBP + 0x8]
ADD ESP,0x10
MOV EDI,EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV dword ptr [EDI + 0x8],0x0
MOV dword ptr [EDI],EAX
MOV EAX,dword ptr [EBP + 0xc]
MOV dword ptr [EDI + 0xc],0x0
MOV dword ptr [EDI + 0x4],EAX
MOV EAX,dword ptr [EBP + 0x8]
MOV byte ptr [EDI + 0x10],0x0
MOV EBX,dword ptr [EAX + 0x1f0]
MOV EAX,dword ptr [EAX + 0x1f8]
MOV ECX,EAX
MOV dword ptr [EBP + -0x50],EAX
MOV EAX,dword ptr [EBP + 0x8]
SUB ECX,EBX
MOV EAX,dword ptr [EAX + 0x1fc]
SUB EAX,dword ptr [EDX + 0x1f4]
LEA EAX,[EAX + ECX*0x8]
CMP dword ptr [EBP + 0xc],EAX
MOV EDX,dword ptr [EBP + -0x74]
JNC 0x001997d7
TEST dword ptr [EBX + ESI*0x4],EDX
JZ 0x001991d0
MOV EAX,dword ptr [EBP + 0xc]
MOV ESI,dword ptr [EBP + 0x8]
LEA ECX,[EBP + -0x34]
MOV dword ptr [EBP + -0x30],EDI
MOV dword ptr [EBP + -0x34],EAX
LEA EDX,[ESI + 0x168]
LEA EAX,[EBP + -0x40]
CALL 0x001721f0
JMP 0x001985ef
MOV EAX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x22c]
CMP dword ptr [EBP + 0xc],EAX
JZ 0x00198700
MOV EAX,dword ptr [EBP + 0x24]
MOV byte ptr [EAX + 0x40],0x1
JMP 0x00198700
MOV EAX,dword ptr [EBP + 0x24]
MOV dword ptr [EDI + 0x8],0x0
MOV byte ptr [EDI + 0x10],0x1
MOV dword ptr [EDI + 0xc],EAX
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + 0x24]
CMP byte ptr [EAX + 0x5d],0x0
JNZ 0x00198eab
CMP dword ptr [EAX + 0x18],-0x1
JNZ 0x00198eab
MOV EAX,dword ptr [EBP + -0x54]
MOV EBX,dword ptr [EAX + 0x1c]
TEST EBX,EBX
JZ 0x001993a3
MOV EAX,dword ptr [EBP + 0x24]
MOV dword ptr [EBP + -0x38],EAX
MOV EDX,dword ptr [EBX + 0x38]
MOV ESI,dword ptr [EBP + 0x24]
MOV EAX,EDX
SUB EAX,dword ptr [EBX + 0x34]
SAR EAX,0x2
ADD EAX,0x2
SHL EAX,0x4
MOV dword ptr [ESI + 0x18],EAX
CMP EDX,dword ptr [EBX + 0x3c]
JZ 0x001996de
MOV dword ptr [EDX],ESI
ADD EDX,0x4
MOV dword ptr [EBX + 0x38],EDX
CMP dword ptr [EBP + 0x20],0x4
MOVZX ECX,byte ptr [EBP + -0x50]
SETZ AL
OR CL,AL
JNZ 0x00198e3b
CMP dword ptr [EBP + 0x20],0x85
JNZ 0x00198e4c
CMP dword ptr [EBP + 0x20],0x4
MOV EAX,dword ptr [EBP + -0x38]
JZ 0x001996d5
MOV byte ptr [EAX + 0x5f],0x1
MOV ESI,dword ptr [EBX + 0x30]
MOV EAX,dword ptr [ESI + 0xc]
MOV dword ptr [EBP + -0x50],EAX
ADD EAX,0x8
CDQ
TEST byte ptr [ESI + 0x1c],0x2
JNZ 0x001997f3
MOV ECX,dword ptr [EBP + -0x38]
MOV dword ptr [ESI + 0xc],EAX
SUB ESP,0xc
MOV dword ptr [ESI + 0x10],EDX
OR byte ptr [ECX + 0x2a],0x40
MOV EAX,dword ptr [EBP + -0x50]
MOV EBX,dword ptr [EBX + 0x2c]
PUSH 0x0
CDQ
PUSH 0x0
PUSH 0x0
PUSH EDX
PUSH EAX
LEA EAX,[EBP + -0x34]
PUSH ESI
PUSH 0x7f
PUSH ECX
PUSH EAX
MOV dword ptr [EBP + -0x74],EBX
MOV EBX,dword ptr [EBP + -0x4c]
MOV dword ptr [EBP + -0x50],EAX
CALL 0x002d7e30
MOV EAX,dword ptr [EBP + -0x50]
ADD ESP,0x2c
PUSH EAX
PUSH ESI
PUSH dword ptr [EBP + -0x74]
CALL 0x001cdb50
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x24]
TEST byte ptr [EAX + 0x2a],0x7
JNZ 0x00198a30
MOV EAX,dword ptr [EAX + 0x8]
TEST byte ptr [EAX + 0x2c],0x1
JZ 0x00198a30
MOV EAX,dword ptr [EBP + -0x4c]
LEA EBX,[EAX + 0x7c8]
MOV EAX,dword ptr [EBX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0019972d
CMP byte ptr [EAX + 0x1a25],0x0
JNZ 0x00198a30
SUB ESP,0xc
PUSH dword ptr [EBP + 0x24]
CALL 0x0008feb0
MOV EAX,dword ptr [EBP + 0x24]
ADD ESP,0x10
CMP byte ptr [EAX + 0x50],0x0
JZ 0x00198a30
MOVZX EAX,byte ptr [EAX + 0x29]
MOV EDX,EAX
SHR DL,0x2
MOV ECX,EDX
AND ECX,0x3c
CMP CL,0x3c
JZ 0x001996fa
AND EDX,0x30
AND EAX,0x3
OR EDX,0x2
SHL EDX,0x2
OR EDX,EAX
MOV EAX,dword ptr [EBP + 0x24]
MOV byte ptr [EAX + 0x29],DL
JMP 0x00198a30
MOV EAX,dword ptr [EBP + -0x4c]
LEA EAX,[EAX + 0x7c8]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
JMP 0x0019885a
MOV EAX,dword ptr [EBP + 0x20]
SUB EAX,0x97
CMP EAX,0x1
JA 0x001988ce
MOV EAX,dword ptr [EBP + -0x60]
TEST EAX,EAX
JZ 0x001988ce
JMP 0x0019889d
CMP dword ptr [EBP + 0x20],0x5
JZ 0x00198fa1
JA 0x00198fd8
CMP dword ptr [EBP + 0x20],0x4
JZ 0x0019889d
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + 0x20]
SUB EAX,0x1c
CMP EAX,0x1
JBE 0x00198fa1
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
AND EAX,0x7
JZ 0x00199108
CMP AL,0x4
JNZ 0x001987a0
MOV EAX,dword ptr [EBP + -0x4c]
LEA EBX,[EAX + 0x7c8]
MOV EAX,dword ptr [EBX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x0019972d
CMP byte ptr [EAX + 0x1a25],0x0
JZ 0x001987a0
JMP 0x00198997
MOV EAX,dword ptr [EBP + 0x24]
MOVZX EAX,byte ptr [EAX + 0x29]
MOV byte ptr [EBP + -0x74],AL
SHR AL,0x2
AND EAX,0x3c
CMP AL,0x3c
JZ 0x001987e0
JMP 0x00198a07
MOV EAX,dword ptr [EBP + 0x24]
MOV EDX,dword ptr [EAX + 0xc]
TEST EDX,EDX
JNZ 0x001987a0
TEST byte ptr [EAX + 0x2b],0x20
JZ 0x001987a0
JMP 0x00199001
MOV EDI,dword ptr [EBP + -0x4c]
MOV EAX,dword ptr [EBP + 0x24]
SUB ESP,0xc
MOV ESI,dword ptr [EAX]
LEA EAX,[EDI + 0xffe8765c]
MOV EBX,EDI
PUSH EAX
CALL 0x00039440
POP EDI
POP EDX
PUSH ESI
PUSH EAX
CALL 0x0023b810
ADD ESP,0x10
JMP 0x001987f4
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EBP + 0x8]
MOV ECX,dword ptr [EAX + 0x204]
MOV EAX,dword ptr [EAX + 0x210]
SUB EAX,dword ptr [EBX + 0x208]
MOV EBX,dword ptr [EBX + 0x20c]
MOV dword ptr [EBP + -0x50],EBX
SUB EBX,ECX
LEA EAX,[EAX + EBX*0x8]
CMP dword ptr [EBP + 0xc],EAX
JNC 0x001997bb
TEST dword ptr [ECX + ESI*0x4],EDX
JNZ 0x00198bd2
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EAX + 0x218]
MOV EAX,dword ptr [EAX + 0x220]
MOV ECX,EAX
MOV EAX,dword ptr [EBP + 0x8]
SUB ECX,EBX
MOV dword ptr [EBP + -0x50],ECX
MOV ECX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x224]
SUB EAX,dword ptr [ECX + 0x21c]
MOV ECX,dword ptr [EBP + -0x50]
LEA EAX,[EAX + ECX*0x8]
CMP dword ptr [EBP + 0xc],EAX
JNC 0x0019979f
TEST dword ptr [EBX + ESI*0x4],EDX
JNZ 0x00198bd2
MOV EBX,dword ptr [EBP + -0x4c]
PUSH EAX
LEA EAX,[EBX + 0xffe9072c]
PUSH EAX
LEA EAX,[EBX + 0xffe871ea]
PUSH 0x5b7
PUSH EAX
CALL 0x002446e0
MOV ESI,dword ptr [EBP + -0x54]
MOV EDI,dword ptr [EBP + -0x58]
LEA EAX,[ESI + 0x24]
MOV EDX,EDI
CALL 0x00198320
MOV EBX,EAX
MOV EAX,dword ptr [EBP + 0x24]
CALL 0x001771a0
SUB ESP,0xc
PUSH EBX
MOV EBX,dword ptr [EBP + -0x4c]
PUSH 0x0
PUSH 0x0
PUSH dword ptr [EBP + -0x64]
PUSH dword ptr [EBP + -0x68]
PUSH dword ptr [EBP + 0x20]
PUSH dword ptr [EBP + 0x10]
PUSH dword ptr [EBP + 0xc]
PUSH dword ptr [EBP + 0x8]
PUSH EAX
LEA EAX,[ESI + 0x2c]
PUSH EDI
PUSH dword ptr [EBP + -0x5c]
PUSH EAX
CALL 0x0022b910
ADD ESP,0x40
JMP 0x001987f4
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x4c]
PUSH 0x54
CALL 0x003ac4d0
MOV EBX,dword ptr [EBP + -0x4c]
XOR ECX,ECX
AND byte ptr [EAX + 0x1c],0xe0
MOV dword ptr [EAX + 0x4],0x0
LEA EDX,[EBX + 0xffff7bbc]
MOV dword ptr [EAX + 0x8],0x0
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x10],0x0
MOV dword ptr [EAX + 0x14],0xffffffff
MOV dword ptr [EAX + 0x18],0xffffffff
MOV dword ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x24],0x8
MOV dword ptr [EAX + 0x28],0x0
MOV dword ptr [EAX],EDX
XOR EDX,EDX
MOV dword ptr [EAX + EDX*0x1 + 0x2c],ECX
ADD EDX,0x4
CMP EDX,0x1c
JC 0x00199323
MOV EBX,dword ptr [EBP + -0x54]
MOV ECX,dword ptr [EBP + -0x4c]
ADD ESP,0x10
LEA EDX,[EAX + 0x44]
MOV dword ptr [EAX + 0x2c],EDX
MOV dword ptr [EAX + 0x50],EBX
MOV dword ptr [EBX + 0x60],EAX
MOV EBX,ECX
MOV dword ptr [EAX + 0x30],0x1
MOV dword ptr [EAX + 0x34],0x0
MOV dword ptr [EAX + 0x38],0x0
MOV dword ptr [EAX + 0x3c],0x3f800000
MOV dword ptr [EAX + 0x40],0x0
MOV dword ptr [EAX + 0x44],0x0
MOV dword ptr [EAX + 0x48],0xffffffff
MOV byte ptr [EAX + 0x4c],0x0
PUSH 0x0
PUSH 0x7
PUSH EAX
LEA EAX,[ECX + 0xffe87215]
PUSH 0x0
PUSH 0x6
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + -0x58]
CALL 0x0027afd0
MOV EBX,dword ptr [EBP + -0x54]
ADD ESP,0x20
MOV EDX,dword ptr [EBX + 0x60]
JMP 0x001989a5
MOV ECX,dword ptr [EBP + -0x58]
MOV EDX,dword ptr [EBP + -0x5c]
CALL 0x0017bb90
SUB ESP,0xc
MOV ESI,dword ptr [EBP + -0x4c]
PUSH 0x30
MOV EBX,ESI
CALL 0x003ac4d0
MOV EBX,dword ptr [EBP + -0x54]
LEA EDX,[ESI + 0xffff1ed0]
ADD ESP,0x10
MOV dword ptr [EAX],EDX
LEA EDX,[ESI + 0xffe633a0]
MOV dword ptr [EBX + 0x20],EAX
MOV EBX,ESI
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x8],0x0
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x10],0x0
MOV dword ptr [EAX + 0x14],0xffffffff
MOV dword ptr [EAX + 0x18],0xffffffff
AND byte ptr [EAX + 0x1c],0xe0
MOV dword ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x24],0x4
MOV dword ptr [EAX + 0x28],0x0
MOV dword ptr [EAX + 0x2c],EDX
PUSH 0x0
PUSH 0x16
PUSH EAX
LEA EAX,[ESI + 0xffe6340b]
PUSH 0x0
PUSH 0x3
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + -0x58]
CALL 0x0027afd0
MOV EBX,dword ptr [EBP + -0x54]
ADD ESP,0x20
MOV EAX,dword ptr [EBX + 0x20]
TEST byte ptr [EAX + 0x1c],0x2
JNZ 0x001997f3
SUB ESP,0xc
MOV dword ptr [EAX + 0xc],0x10
MOV EBX,dword ptr [EBP + -0x4c]
MOV dword ptr [EAX + 0x10],0x0
PUSH 0x50
CALL 0x003ac4d0
MOV ECX,dword ptr [EBP + -0x54]
MOV EBX,dword ptr [EBP + -0x4c]
MOV ESI,EAX
MOV EAX,dword ptr [ECX + 0x20]
LEA EDX,[EBX + 0xffff7b50]
AND byte ptr [ESI + 0x1c],0xe0
MOV dword ptr [ESI + 0x4],0x0
MOV dword ptr [ESI + 0x8],0x0
MOV dword ptr [ESI + 0xc],0x0
MOV dword ptr [ESI + 0x10],0x0
MOV dword ptr [ESI + 0x14],0xffffffff
MOV dword ptr [ESI + 0x18],0xffffffff
MOV dword ptr [ESI + 0x20],0x0
MOV dword ptr [ESI + 0x24],0x8
MOV dword ptr [ESI + 0x28],0x0
MOV dword ptr [ESI],EDX
MOV dword ptr [ESI + 0x30],EAX
MOV dword ptr [ESI + 0x34],0x0
MOV dword ptr [ESI + 0x38],0x0
MOV dword ptr [ESI + 0x3c],0x0
MOV dword ptr [ESI + 0x40],0x0
MOV dword ptr [ESI + 0x44],0x0
MOV dword ptr [ESI + 0x48],0x0
MOV dword ptr [ESI + 0x4c],ECX
MOV dword ptr [ESP],0x40
CALL 0x003ac4d0
ADD ESP,0xc
MOV EBX,EAX
MOV dword ptr [EBP + -0x74],EAX
PUSH 0x0
PUSH 0x40
PUSH EAX
CALL 0x001cc9c0
MOV dword ptr [EBX + 0x34],0x0
MOV ECX,EBX
ADD ESP,0x10
MOV dword ptr [EBX + 0x38],0x0
MOV dword ptr [EBX + 0x3c],0x0
MOV EBX,dword ptr [EBP + -0x4c]
MOV dword ptr [ESI + 0x2c],ECX
LEA EAX,[EBX + 0xffff7c28]
MOV dword ptr [ECX],EAX
LEA EAX,[EBX + 0xffe63482]
PUSH 0x0
PUSH 0x5
PUSH ECX
PUSH 0x0
PUSH 0x2
PUSH 0x9
PUSH EAX
PUSH dword ptr [EBP + -0x58]
CALL 0x0027afd0
MOV EBX,dword ptr [EBP + -0x4c]
MOV ECX,dword ptr [EBP + -0x54]
ADD ESP,0x20
LEA EAX,[EBX + 0xffe660a8]
MOV dword ptr [ECX + 0x1c],ESI
PUSH 0x0
PUSH 0x7
PUSH ESI
PUSH 0x0
PUSH 0x6
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + -0x58]
CALL 0x0027afd0
MOV ESI,dword ptr [EBP + -0x54]
ADD ESP,0x18
MOV EAX,dword ptr [ESI + 0x1c]
PUSH dword ptr [EAX + 0x20]
MOV EAX,dword ptr [EAX + 0x2c]
PUSH dword ptr [EAX + 0x20]
CALL 0x001cca40
MOV EAX,dword ptr [EBP + 0x24]
ADD ESP,0x10
MOV EBX,dword ptr [ESI + 0x1c]
CMP dword ptr [EAX + 0x18],-0x1
MOV dword ptr [EBP + -0x38],EAX
JZ 0x00198dfb
MOV EBX,dword ptr [EBP + -0x4c]
PUSH ECX
LEA EAX,[EBX + 0xffe904e0]
PUSH EAX
LEA EAX,[EBX + 0xffe871ea]
PUSH 0x1cf4
PUSH EAX
CALL 0x002446e0
MOV EAX,dword ptr [EBP + -0x54]
MOV EDI,ESI
MOV EDX,dword ptr [EAX + 0x44]
SUB EDI,EDX
MOV EBX,EDI
SAR EBX,0x2
IMUL EAX,EBX,-0x49249249
TEST EAX,EAX
JZ 0x001996ee
LEA ECX,[EAX + EAX*0x1]
MOV dword ptr [EBP + -0x50],ECX
CMP EAX,ECX
JA 0x001995f4
CMP dword ptr [EBP + -0x50],0x9249249
JBE 0x0019970b
MOV dword ptr [EBP + -0x50],0xfffffffc
SUB ESP,0xc
PUSH dword ptr [EBP + -0x50]
MOV EBX,dword ptr [EBP + -0x4c]
MOV dword ptr [EBP + -0x74],EDX
CALL 0x003ac4d0
MOV EDX,dword ptr [EBP + -0x74]
ADD ESP,0x10
MOV EBX,dword ptr [EBP + 0x24]
ADD EDI,EAX
MOV ECX,dword ptr [EBP + 0xc]
MOV dword ptr [EDI + 0x4],0x3
MOV dword ptr [EDI],EBX
MOV EBX,dword ptr [EBP + 0x8]
MOV dword ptr [EDI + 0xc],ECX
MOV ECX,dword ptr [EBP + -0x68]
MOV dword ptr [EDI + 0x8],EBX
MOV EBX,dword ptr [EBP + 0x10]
MOV dword ptr [EDI + 0x14],ECX
MOV dword ptr [EDI + 0x10],EBX
MOV EBX,dword ptr [EBP + -0x64]
MOV dword ptr [EDI + 0x18],EBX
CMP ESI,EDX
JZ 0x00199726
MOV dword ptr [EBP + -0x74],EAX
MOV ECX,dword ptr [EBP + -0x50]
MOV EBX,EDX
MOV EDI,EAX
MOV EAX,dword ptr [EBX]
ADD EBX,0x1c
ADD EDI,0x1c
MOV dword ptr [EDI + -0x1c],EAX
MOV EAX,dword ptr [EBX + -0x18]
MOV dword ptr [EDI + -0x18],EAX
MOV EAX,dword ptr [EBX + -0x14]
MOV dword ptr [EDI + -0x14],EAX
MOV EAX,dword ptr [EBX + -0x10]
MOV dword ptr [EDI + -0x10],EAX
MOV EAX,dword ptr [EBX + -0xc]
MOV dword ptr [EDI + -0xc],EAX
MOV EAX,dword ptr [EBX + -0x8]
MOV dword ptr [EDI + -0x8],EAX
MOV EAX,dword ptr [EBX + -0x4]
MOV dword ptr [EDI + -0x4],EAX
CMP ESI,EBX
JNZ 0x00199650
SUB ESI,0x1c
MOV EAX,dword ptr [EBP + -0x74]
MOV dword ptr [EBP + -0x50],ECX
SUB ESI,EDX
SHR ESI,0x2
IMUL ESI,ESI,0x36db6db7
AND ESI,0x3fffffff
ADD ESI,0x1
IMUL ESI,ESI,0x1c
ADD ESI,EAX
ADD ESI,0x1c
TEST EDX,EDX
JZ 0x001996c1
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x4c]
MOV dword ptr [EBP + -0x74],EAX
PUSH EDX
CALL 0x003ae080
MOV EAX,dword ptr [EBP + -0x74]
ADD ESP,0x10
MOV EDI,dword ptr [EBP + -0x54]
MOV dword ptr [EDI + 0x44],EAX
ADD EAX,dword ptr [EBP + -0x50]
MOV dword ptr [EDI + 0x48],ESI
MOV dword ptr [EDI + 0x4c],EAX
JMP 0x001987f4
MOV byte ptr [EAX + 0x5e],0x1
JMP 0x00198e4c
LEA ECX,[EBP + -0x38]
LEA EAX,[EBX + 0x34]
CALL 0x00177b60
JMP 0x00198e23
MOV dword ptr [EBP + -0x50],0x1c
JMP 0x001995fb
AND EAX,0x3
MOV ESI,dword ptr [EBP + 0x24]
OR EAX,0xfffffff8
MOV byte ptr [ESI + 0x29],AL
JMP 0x00198a30
XOR EAX,EAX
CMP dword ptr [EBP + -0x50],0x0
JZ 0x00199612
LEA EAX,[EBX*0x8 + 0x0]
MOV dword ptr [EBP + -0x50],EAX
JMP 0x001995fb
MOV ESI,EAX
JMP 0x001996a5
MOV EBX,dword ptr [EBP + -0x4c]
PUSH ECX
LEA EAX,[EBX + 0xffe90c58]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x4c]
PUSH ESI
LEA EAX,[EBX + 0xffe90954]
PUSH EAX
LEA EAX,[EBX + 0xffe871ea]
PUSH 0x711
PUSH EAX
CALL 0x002446e0
PUSH EBX
MOV EBX,dword ptr [EBP + -0x4c]
LEA EAX,[EBX + 0xffe90938]
PUSH EAX
LEA EAX,[EBX + 0xffe871ea]
PUSH 0x71a
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x4c]
PUSH ECX
LEA EAX,[EBX + 0xffe90918]
PUSH EAX
LEA EAX,[EBX + 0xffe871ea]
PUSH 0x723
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x4c]
PUSH EAX
LEA EAX,[EBX + 0xffe90918]
PUSH EAX
LEA EAX,[EBX + 0xffe871ea]
PUSH 0x723
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x4c]
PUSH EAX
LEA EAX,[EBX + 0xffe90938]
PUSH EAX
LEA EAX,[EBX + 0xffe871ea]
PUSH 0x71a
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x4c]
PUSH EDX
LEA EAX,[EBX + 0xffe90954]
PUSH EAX
LEA EAX,[EBX + 0xffe871ea]
PUSH 0x711
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x4c]
PUSH EAX
LEA EAX,[EBX + 0xffe906e0]
PUSH EAX
LEA EAX,[EBX + 0xffe6335d]
PUSH 0x231
PUSH EAX
CALL 0x002446e0
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00198a7b) */\n/* WARNING: Removing unreachable block (ram,0x001995c0) */\n/* WARNING: Removing unreachable block (ram,0x001996ee) */\n/* WARNING: Removing unreachable block (ram,0x001995dd) */\n/* WARNING: Removing unreachable block (ram,0x001995e7) */\n/* WARNING: Removing unreachable block (ram,0x001995f4) */\n/* WARNING: Removing unreachable block (ram,0x0019970b) */\n/* WARNING: Removing unreachable block (ram,0x00199717) */\n/* WARNING: Removing unreachable block (ram,0x001995fb) */\n/* WARNING: Removing unreachable block (ram,0x00199612) */\n/* WARNING: Removing unreachable block (ram,0x00199726) */\n/* WARNING: Removing unreachable block (ram,0x00199646) */\n/* WARNING: Removing unreachable block (ram,0x00199650) */\n/* WARNING: Removing unreachable block (ram,0x00199683) */\n/* WARNING: Removing unreachable block (ram,0x001996a5) */\n/* WARNING: Removing unreachable block (ram,0x001996ac) */\n/* WARNING: Removing unreachable block (ram,0x001996c1) */\n/* WARNING: Removing unreachable block (ram,0x00198a95) */\n/* WARNING: Removing unreachable block (ram,0x001987ea) */\n\nvoid FUN_00198500(int param_1,undefined4 *param_2,undefined4 param_3,int *param_4,int *param_5,\n                 int param_6,uint param_7,undefined4 *param_8)\n\n{\n  byte bVar1;\n  int iVar2;\n  char cVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  undefined4 *puVar10;\n  int extraout_ECX;\n  int iVar11;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  undefined4 extraout_ECX_04;\n  undefined4 extraout_ECX_05;\n  undefined4 extraout_ECX_06;\n  uint uVar12;\n  uint uVar13;\n  int unaff_EDI;\n  undefined8 uVar14;\n  undefined4 local_68;\n  int local_64;\n  undefined4 *local_38;\n  int *local_34;\n  \n  uVar14 = FUN_00074f0a();\n  uVar8 = (undefined4)((ulonglong)uVar14 >> 0x20);\n  if (param_6 == 4) {\n    puVar10 = (undefined4 *)*param_4;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  else {\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  if ((undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);\n  }\n  uVar13 = (uint)param_2 >> 5;\n  uVar12 = 1 << ((byte)param_2 & 0x1f);\n  if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n    iVar5 = *(int *)(param_1 + 0x204);\n    if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }\n    if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\n    iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);\n    if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }\n    if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }\n  }\n  else {\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }\n  if ((((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c))) {\n    *(undefined1 *)(param_8 + 0x10) = 1;\n  }\n  if (param_7 < 0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)(param_8 + 0x14) = 1;\n  *(undefined1 *)(param_8 + 0x12) = 1;\n  if (param_7 == 0x67) goto LAB_0019878c;\n  if (param_7 < 0x68) {\n    if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;\n    if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }\n  }\n  else {\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }\nLAB_001987a0:\n  if ((*(byte *)(param_1 + 0x1e8) & 1) == 0) {\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }\n  cVar3 = FUN_0008ff10(param_8);\n  if (cVar3 != '\0') {\n    uVar4 = extraout_ECX_01;\n    if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */\n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */\n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }\n    if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }\n  }\n  iVar5 = 0;\n  if (param_7 - 1 < 0xf9) {\n    iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);\n  }\n  cVar3 = FUN_00071bb0(param_8,iVar5);\n  uVar4 = extraout_ECX_02;\n  if (cVar3 != '\0') {\n    cVar3 = FUN_00103300(param_8);\n    if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }\n  }\n  if (param_7 - 9 < 0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (param_7 != 100) {\n    if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }\n    if (local_64 == 0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  uVar8 = *param_8;\n  uVar7 = *(undefined4 *)(param_1 + 4);\n  uVar4 = gettext(unaff_EDI + 0x2d9187);\n  FUN_0023b810(uVar4,uVar7,param_7,uVar8);\n  return;\n}\n\n" comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment (function_definition "void FUN_00198500(int param_1,undefined4 *param_2,undefined4 param_3,int *param_4,int *param_5,\n                 int param_6,uint param_7,undefined4 *param_8)\n\n{\n  byte bVar1;\n  int iVar2;\n  char cVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  undefined4 *puVar10;\n  int extraout_ECX;\n  int iVar11;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  undefined4 extraout_ECX_04;\n  undefined4 extraout_ECX_05;\n  undefined4 extraout_ECX_06;\n  uint uVar12;\n  uint uVar13;\n  int unaff_EDI;\n  undefined8 uVar14;\n  undefined4 local_68;\n  int local_64;\n  undefined4 *local_38;\n  int *local_34;\n  \n  uVar14 = FUN_00074f0a();\n  uVar8 = (undefined4)((ulonglong)uVar14 >> 0x20);\n  if (param_6 == 4) {\n    puVar10 = (undefined4 *)*param_4;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  else {\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  if ((undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);\n  }\n  uVar13 = (uint)param_2 >> 5;\n  uVar12 = 1 << ((byte)param_2 & 0x1f);\n  if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n    iVar5 = *(int *)(param_1 + 0x204);\n    if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }\n    if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\n    iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);\n    if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }\n    if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }\n  }\n  else {\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }\n  if ((((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c))) {\n    *(undefined1 *)(param_8 + 0x10) = 1;\n  }\n  if (param_7 < 0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)(param_8 + 0x14) = 1;\n  *(undefined1 *)(param_8 + 0x12) = 1;\n  if (param_7 == 0x67) goto LAB_0019878c;\n  if (param_7 < 0x68) {\n    if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;\n    if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }\n  }\n  else {\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }\nLAB_001987a0:\n  if ((*(byte *)(param_1 + 0x1e8) & 1) == 0) {\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }\n  cVar3 = FUN_0008ff10(param_8);\n  if (cVar3 != '\0') {\n    uVar4 = extraout_ECX_01;\n    if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */\n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */\n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }\n    if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }\n  }\n  iVar5 = 0;\n  if (param_7 - 1 < 0xf9) {\n    iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);\n  }\n  cVar3 = FUN_00071bb0(param_8,iVar5);\n  uVar4 = extraout_ECX_02;\n  if (cVar3 != '\0') {\n    cVar3 = FUN_00103300(param_8);\n    if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }\n  }\n  if (param_7 - 9 < 0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (param_7 != 100) {\n    if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }\n    if (local_64 == 0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  uVar8 = *param_8;\n  uVar7 = *(undefined4 *)(param_1 + 4);\n  uVar4 = gettext(unaff_EDI + 0x2d9187);\n  FUN_0023b810(uVar4,uVar7,param_7,uVar8);\n  return;\n}" primitive_type (function_declarator "FUN_00198500(int param_1,undefined4 *param_2,undefined4 param_3,int *param_4,int *param_5,\n                 int param_6,uint param_7,undefined4 *param_8)" identifier (parameter_list "(int param_1,undefined4 *param_2,undefined4 param_3,int *param_4,int *param_5,\n                 int param_6,uint param_7,undefined4 *param_8)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "int param_6" primitive_type identifier) , (parameter_declaration "uint param_7" type_identifier identifier) , (parameter_declaration "undefined4 *param_8" type_identifier (pointer_declarator "*param_8" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  char cVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  undefined4 *puVar10;\n  int extraout_ECX;\n  int iVar11;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  undefined4 extraout_ECX_04;\n  undefined4 extraout_ECX_05;\n  undefined4 extraout_ECX_06;\n  uint uVar12;\n  uint uVar13;\n  int unaff_EDI;\n  undefined8 uVar14;\n  undefined4 local_68;\n  int local_64;\n  undefined4 *local_38;\n  int *local_34;\n  \n  uVar14 = FUN_00074f0a();\n  uVar8 = (undefined4)((ulonglong)uVar14 >> 0x20);\n  if (param_6 == 4) {\n    puVar10 = (undefined4 *)*param_4;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  else {\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  if ((undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);\n  }\n  uVar13 = (uint)param_2 >> 5;\n  uVar12 = 1 << ((byte)param_2 & 0x1f);\n  if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n    iVar5 = *(int *)(param_1 + 0x204);\n    if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }\n    if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\n    iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);\n    if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }\n    if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }\n  }\n  else {\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }\n  if ((((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c))) {\n    *(undefined1 *)(param_8 + 0x10) = 1;\n  }\n  if (param_7 < 0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)(param_8 + 0x14) = 1;\n  *(undefined1 *)(param_8 + 0x12) = 1;\n  if (param_7 == 0x67) goto LAB_0019878c;\n  if (param_7 < 0x68) {\n    if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;\n    if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }\n  }\n  else {\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }\nLAB_001987a0:\n  if ((*(byte *)(param_1 + 0x1e8) & 1) == 0) {\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }\n  cVar3 = FUN_0008ff10(param_8);\n  if (cVar3 != '\0') {\n    uVar4 = extraout_ECX_01;\n    if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */\n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */\n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }\n    if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }\n  }\n  iVar5 = 0;\n  if (param_7 - 1 < 0xf9) {\n    iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);\n  }\n  cVar3 = FUN_00071bb0(param_8,iVar5);\n  uVar4 = extraout_ECX_02;\n  if (cVar3 != '\0') {\n    cVar3 = FUN_00103300(param_8);\n    if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }\n  }\n  if (param_7 - 9 < 0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (param_7 != 100) {\n    if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }\n    if (local_64 == 0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  uVar8 = *param_8;\n  uVar7 = *(undefined4 *)(param_1 + 4);\n  uVar4 = gettext(unaff_EDI + 0x2d9187);\n  FUN_0023b810(uVar4,uVar7,param_7,uVar8);\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int extraout_ECX;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX_00;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_01;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_02;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_03;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_04;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_05;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_06;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "undefined8 uVar14;" type_identifier identifier ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "int local_64;" primitive_type identifier ;) (declaration "undefined4 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (expression_statement "uVar14 = FUN_00074f0a();" (assignment_expression "uVar14 = FUN_00074f0a()" identifier = (call_expression "FUN_00074f0a()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = (undefined4)((ulonglong)uVar14 >> 0x20);" (assignment_expression "uVar8 = (undefined4)((ulonglong)uVar14 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar14 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar14 >> 0x20)" ( (binary_expression "(ulonglong)uVar14 >> 0x20" (cast_expression "(ulonglong)uVar14" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (param_6 == 4) {\n    puVar10 = (undefined4 *)*param_4;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  else {\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }" if (parenthesized_expression "(param_6 == 4)" ( (binary_expression "param_6 == 4" identifier == number_literal) )) (compound_statement "{\n    puVar10 = (undefined4 *)*param_4;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }" { (expression_statement "puVar10 = (undefined4 *)*param_4;" (assignment_expression "puVar10 = (undefined4 *)*param_4" identifier = (cast_expression "(undefined4 *)*param_4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier))) ;) (expression_statement "uVar7 = *puVar10;" (assignment_expression "uVar7 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "local_68 = puVar10[1];" (assignment_expression "local_68 = puVar10[1]" identifier = (subscript_expression "puVar10[1]" identifier [ number_literal ])) ;) (expression_statement "local_64 = puVar10[2];" (assignment_expression "local_64 = puVar10[2]" identifier = (subscript_expression "puVar10[2]" identifier [ number_literal ])) ;) }) (else_clause "else {\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }" else (compound_statement "{\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }" { (expression_statement "puVar10 = (undefined4 *)*param_5;" (assignment_expression "puVar10 = (undefined4 *)*param_5" identifier = (cast_expression "(undefined4 *)*param_5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_5" * identifier))) ;) (expression_statement "uVar7 = *puVar10;" (assignment_expression "uVar7 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "local_68 = puVar10[1];" (assignment_expression "local_68 = puVar10[1]" identifier = (subscript_expression "puVar10[1]" identifier [ number_literal ])) ;) (expression_statement "local_64 = puVar10[2];" (assignment_expression "local_64 = puVar10[2]" identifier = (subscript_expression "puVar10[2]" identifier [ number_literal ])) ;) }))) (if_statement "if ((undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);\n  }" if (parenthesized_expression "((undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2)" ( (binary_expression "(undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2" (cast_expression "(undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8)" ( (binary_expression "(*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500))" ( (binary_expression "*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 500)" * (cast_expression "(int *)(param_1 + 500)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 500)" ( (binary_expression "param_1 + 500" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0))" ( (binary_expression "*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)" (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x1f0)" * (cast_expression "(int *)(param_1 + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) ))))) )) * number_literal)) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);\n  }" { comment (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7)" identifier (argument_list "(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7)" ( (binary_expression "unaff_EDI + 0x2d8ce1" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e244b" identifier + number_literal) , identifier ))) ;) })) (expression_statement "uVar13 = (uint)param_2 >> 5;" (assignment_expression "uVar13 = (uint)param_2 >> 5" identifier = (binary_expression "(uint)param_2 >> 5" (cast_expression "(uint)param_2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "uVar12 = 1 << ((byte)param_2 & 0x1f);" (assignment_expression "uVar12 = 1 << ((byte)param_2 & 0x1f)" identifier = (binary_expression "1 << ((byte)param_2 & 0x1f)" number_literal << (parenthesized_expression "((byte)param_2 & 0x1f)" ( (binary_expression "(byte)param_2 & 0x1f" (cast_expression "(byte)param_2" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n    iVar5 = *(int *)(param_1 + 0x204);\n    if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }\n    if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\n    iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);\n    if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }\n    if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }\n  }\n  else {\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }" if (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" ( (binary_expression "*(int *)(param_1 + 0x1f0) + uVar13 * 4" (pointer_expression "*(int *)(param_1 + 0x1f0)" * (cast_expression "(int *)(param_1 + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) )))) + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) & identifier) )) == number_literal) )) (compound_statement "{\n    iVar5 = *(int *)(param_1 + 0x204);\n    if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }\n    if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\n    iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);\n    if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }\n    if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }\n  }" { (expression_statement "iVar5 = *(int *)(param_1 + 0x204);" (assignment_expression "iVar5 = *(int *)(param_1 + 0x204)" identifier = (pointer_expression "*(int *)(param_1 + 0x204)" * (cast_expression "(int *)(param_1 + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x204)" ( (binary_expression "param_1 + 0x204" identifier + number_literal) ))))) ;) (if_statement "if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }" if (parenthesized_expression "((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2)" ( (binary_expression "(undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2" (cast_expression "(undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8)" ( (binary_expression "(*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208))" ( (binary_expression "*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)" (pointer_expression "*(int *)(param_1 + 0x210)" * (cast_expression "(int *)(param_1 + 0x210)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x210)" ( (binary_expression "param_1 + 0x210" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x208)" * (cast_expression "(int *)(param_1 + 0x208)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x208)" ( (binary_expression "param_1 + 0x208" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(param_1 + 0x20c) - iVar5) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x20c) - iVar5)" ( (binary_expression "*(int *)(param_1 + 0x20c) - iVar5" (pointer_expression "*(int *)(param_1 + 0x20c)" * (cast_expression "(int *)(param_1 + 0x20c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20c)" ( (binary_expression "param_1 + 0x20c" identifier + number_literal) )))) - identifier) )) * number_literal)) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }" { comment (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5)" identifier (argument_list "(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5)" ( (binary_expression "unaff_EDI + 0x2d8ce1" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e242f" identifier + number_literal) , identifier ))) ;) })) (if_statement "if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;" if (parenthesized_expression "((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0)" ( (binary_expression "(*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0" (parenthesized_expression "(*(uint *)(iVar5 + uVar13 * 4) & uVar12)" ( (binary_expression "*(uint *)(iVar5 + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(iVar5 + uVar13 * 4)" * (cast_expression "(uint *)(iVar5 + uVar13 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + uVar13 * 4)" ( (binary_expression "iVar5 + uVar13 * 4" identifier + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) & identifier) )) != number_literal) )) (goto_statement "goto LAB_0019859c;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);" (assignment_expression "iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)" identifier = (binary_expression "*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)" (pointer_expression "*(int *)(param_1 + 0x220)" * (cast_expression "(int *)(param_1 + 0x220)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x220)" ( (binary_expression "param_1 + 0x220" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x218)" * (cast_expression "(int *)(param_1 + 0x218)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x218)" ( (binary_expression "param_1 + 0x218" identifier + number_literal) )))))) ;) (if_statement "if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }" if (parenthesized_expression "((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2)" ( (binary_expression "(undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2" (cast_expression "(undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8)" ( (binary_expression "(*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8" (parenthesized_expression "(*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c))" ( (binary_expression "*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)" (pointer_expression "*(int *)(param_1 + 0x224)" * (cast_expression "(int *)(param_1 + 0x224)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x224)" ( (binary_expression "param_1 + 0x224" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x21c)" * (cast_expression "(int *)(param_1 + 0x21c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x21c)" ( (binary_expression "param_1 + 0x21c" identifier + number_literal) ))))) )) + (binary_expression "iVar5 * 8" identifier * number_literal)) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }" { comment (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5)" identifier (argument_list "(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5)" ( (binary_expression "unaff_EDI + 0x2d8ce1" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e240f" identifier + number_literal) , identifier ))) ;) })) (if_statement "if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;" if (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x218) + uVar13 * 4)" ( (binary_expression "*(int *)(param_1 + 0x218) + uVar13 * 4" (pointer_expression "*(int *)(param_1 + 0x218)" * (cast_expression "(int *)(param_1 + 0x218)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x218)" ( (binary_expression "param_1 + 0x218" identifier + number_literal) )))) + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) & identifier) )) != number_literal) )) (goto_statement "goto LAB_0019859c;" goto statement_identifier ;)) (labeled_statement "LAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }" statement_identifier : (if_statement "if (param_7 == 0) {\n      return;\n    }" if (parenthesized_expression "(param_7 == 0)" ( (binary_expression "param_7 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) }))) }) (else_clause "else {\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }" else (compound_statement "{\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }" { (labeled_statement "LAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);" statement_identifier : (expression_statement "iVar5 = *(int *)(param_1 + 0x170);" (assignment_expression "iVar5 = *(int *)(param_1 + 0x170)" identifier = (pointer_expression "*(int *)(param_1 + 0x170)" * (cast_expression "(int *)(param_1 + 0x170)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x170)" ( (binary_expression "param_1 + 0x170" identifier + number_literal) ))))) ;)) (expression_statement "iVar6 = param_1 + 0x16c;" (assignment_expression "iVar6 = param_1 + 0x16c" identifier = (binary_expression "param_1 + 0x16c" identifier + number_literal)) ;) (if_statement "if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x170) == 0)" ( (binary_expression "*(int *)(param_1 + 0x170) == 0" (pointer_expression "*(int *)(param_1 + 0x170)" * (cast_expression "(int *)(param_1 + 0x170)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x170)" ( (binary_expression "param_1 + 0x170" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }" { (labeled_statement "LAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);" statement_identifier : (expression_statement "piVar9 = (int *)FUN_003ac4d0(0x14);" (assignment_expression "piVar9 = (int *)FUN_003ac4d0(0x14)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;)) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar9 = param_1;" (assignment_expression "*piVar9 = param_1" (pointer_expression "*piVar9" * identifier) = identifier) ;) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[1] = (int)param_2;" (assignment_expression "piVar9[1] = (int)param_2" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar9 + 4) = 0;" (assignment_expression "*(undefined1 *)(piVar9 + 4) = 0" (pointer_expression "*(undefined1 *)(piVar9 + 4)" * (cast_expression "(undefined1 *)(piVar9 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 4)" ( (binary_expression "piVar9 + 4" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }" if (parenthesized_expression "((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2)" ( (binary_expression "(undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2" (cast_expression "(undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8)" ( (binary_expression "(*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500))" ( (binary_expression "*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 500)" * (cast_expression "(int *)(param_1 + 500)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 500)" ( (binary_expression "param_1 + 500" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0))" ( (binary_expression "*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)" (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x1f0)" * (cast_expression "(int *)(param_1 + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) ))))) )) * number_literal)) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }" { comment (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12)" identifier (argument_list "(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12)" ( (binary_expression "unaff_EDI + 0x2d8ce1" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e244b" identifier + number_literal) , identifier ))) ;) })) (if_statement "if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }" if (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" ( (binary_expression "*(int *)(param_1 + 0x1f0) + uVar13 * 4" (pointer_expression "*(int *)(param_1 + 0x1f0)" * (cast_expression "(int *)(param_1 + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) )))) + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) & identifier) )) == number_literal) )) (compound_statement "{\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }" { (expression_statement "puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);" (assignment_expression "puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8)" identifier = (cast_expression "(undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8)" ( (binary_expression "(*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208))" ( (binary_expression "*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)" (pointer_expression "*(int *)(param_1 + 0x210)" * (cast_expression "(int *)(param_1 + 0x210)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x210)" ( (binary_expression "param_1 + 0x210" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x208)" * (cast_expression "(int *)(param_1 + 0x208)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x208)" ( (binary_expression "param_1 + 0x208" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204))" ( (binary_expression "*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)" (pointer_expression "*(int *)(param_1 + 0x20c)" * (cast_expression "(int *)(param_1 + 0x20c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20c)" ( (binary_expression "param_1 + 0x20c" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x204)" * (cast_expression "(int *)(param_1 + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x204)" ( (binary_expression "param_1 + 0x204" identifier + number_literal) ))))) )) * number_literal)) )))) ;) (if_statement "if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }" if (parenthesized_expression "(puVar10 <= param_2)" ( (binary_expression "puVar10 <= param_2" identifier <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }" { comment (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10)" identifier (argument_list "(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10)" ( (binary_expression "unaff_EDI + 0x2d8ce1" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e242f" identifier + number_literal) , identifier ))) ;) })) (if_statement "if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }" if (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x204) + uVar13 * 4)" ( (binary_expression "*(int *)(param_1 + 0x204) + uVar13 * 4" (pointer_expression "*(int *)(param_1 + 0x204)" * (cast_expression "(int *)(param_1 + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x204)" ( (binary_expression "param_1 + 0x204" identifier + number_literal) )))) + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) & identifier) )) == number_literal) )) (compound_statement "{\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }" { (expression_statement "puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);" (assignment_expression "puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8)" identifier = (cast_expression "(undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8)" ( (binary_expression "(*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c))" ( (binary_expression "*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)" (pointer_expression "*(int *)(param_1 + 0x224)" * (cast_expression "(int *)(param_1 + 0x224)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x224)" ( (binary_expression "param_1 + 0x224" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x21c)" * (cast_expression "(int *)(param_1 + 0x21c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x21c)" ( (binary_expression "param_1 + 0x21c" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218))" ( (binary_expression "*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)" (pointer_expression "*(int *)(param_1 + 0x220)" * (cast_expression "(int *)(param_1 + 0x220)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x220)" ( (binary_expression "param_1 + 0x220" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x218)" * (cast_expression "(int *)(param_1 + 0x218)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x218)" ( (binary_expression "param_1 + 0x218" identifier + number_literal) ))))) )) * number_literal)) )))) ;) (if_statement "if (puVar10 <= param_2) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }" if (parenthesized_expression "(puVar10 <= param_2)" ( (binary_expression "puVar10 <= param_2" identifier <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }" { comment comment (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10)" identifier (argument_list "(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10)" ( (binary_expression "unaff_EDI + 0x2d8ce1" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e240f" identifier + number_literal) , identifier ))) ;) })) (if_statement "if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }" if (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x218) + uVar13 * 4)" ( (binary_expression "*(int *)(param_1 + 0x218) + uVar13 * 4" (pointer_expression "*(int *)(param_1 + 0x218)" * (cast_expression "(int *)(param_1 + 0x218)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x218)" ( (binary_expression "param_1 + 0x218" identifier + number_literal) )))) + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) & identifier) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }" { comment comment (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10)" identifier (argument_list "(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10)" ( (binary_expression "unaff_EDI + 0x2d8ce1" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e2223" identifier + number_literal) , identifier ))) ;) })) })) })) (expression_statement "local_38 = param_2;" (assignment_expression "local_38 = param_2" identifier = identifier) ;) (expression_statement "local_34 = piVar9;" (assignment_expression "local_34 = piVar9" identifier = identifier) ;) (expression_statement "FUN_001721f0();" (call_expression "FUN_001721f0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }" else (compound_statement "{\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }" { (do_statement "do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);" do (compound_statement "{\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      }" { (while_statement "while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }" while (parenthesized_expression "(iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2)" ( (comma_expression "iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2" (assignment_expression "iVar11 = iVar5" identifier = identifier) , (binary_expression "*(undefined4 **)(iVar11 + 0x10) < param_2" (pointer_expression "*(undefined4 **)(iVar11 + 0x10)" * (cast_expression "(undefined4 **)(iVar11 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) )))) < identifier)) )) (compound_statement "{\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }" { (expression_statement "piVar9 = (int *)(iVar11 + 0xc);" (assignment_expression "piVar9 = (int *)(iVar11 + 0xc)" identifier = (cast_expression "(int *)(iVar11 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) ;) (expression_statement "iVar5 = *piVar9;" (assignment_expression "iVar5 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "iVar11 = iVar6;" (assignment_expression "iVar11 = iVar6" identifier = identifier) ;) (if_statement "if (*piVar9 == 0) goto LAB_001985d5;" if (parenthesized_expression "(*piVar9 == 0)" ( (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" * identifier) == number_literal) )) (goto_statement "goto LAB_001985d5;" goto statement_identifier ;)) })) (expression_statement "iVar5 = *(int *)(iVar11 + 8);" (assignment_expression "iVar5 = *(int *)(iVar11 + 8)" identifier = (pointer_expression "*(int *)(iVar11 + 8)" * (cast_expression "(int *)(iVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = iVar11;" (assignment_expression "iVar6 = iVar11" identifier = identifier) ;) }) while (parenthesized_expression "(*(int *)(iVar11 + 8) != 0)" ( (binary_expression "*(int *)(iVar11 + 8) != 0" (pointer_expression "*(int *)(iVar11 + 8)" * (cast_expression "(int *)(iVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;" statement_identifier : (if_statement "if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;" if (parenthesized_expression "((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))" ( (binary_expression "(iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10))" (parenthesized_expression "(iVar11 == param_1 + 0x16c)" ( (binary_expression "iVar11 == param_1 + 0x16c" identifier == (binary_expression "param_1 + 0x16c" identifier + number_literal)) )) || (parenthesized_expression "(param_2 < *(undefined4 **)(iVar11 + 0x10))" ( (binary_expression "param_2 < *(undefined4 **)(iVar11 + 0x10)" identifier < (pointer_expression "*(undefined4 **)(iVar11 + 0x10)" * (cast_expression "(undefined4 **)(iVar11 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) ))))) ))) )) (goto_statement "goto LAB_00198b60;" goto statement_identifier ;))) (expression_statement "piVar9 = *(int **)(iVar11 + 0x14);" (assignment_expression "piVar9 = *(int **)(iVar11 + 0x14)" identifier = (pointer_expression "*(int **)(iVar11 + 0x14)" * (cast_expression "(int **)(iVar11 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) ))))) ;) }))) (if_statement "if ((char)piVar9[4] != '\0') goto LAB_001986ca;" if (parenthesized_expression "((char)piVar9[4] != '\0')" ( (binary_expression "(char)piVar9[4] != '\0'" (cast_expression "(char)piVar9[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar9[4]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001986ca;" goto statement_identifier ;)) (if_statement "if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }" if (parenthesized_expression "(param_7 == 0)" ( (binary_expression "param_7 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }" { (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar9 + 4) = 1;" (assignment_expression "*(undefined1 *)(piVar9 + 4) = 1" (pointer_expression "*(undefined1 *)(piVar9 + 4)" * (cast_expression "(undefined1 *)(piVar9 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 4)" ( (binary_expression "piVar9 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar9[3] = (int)param_8;" (assignment_expression "piVar9[3] = (int)param_8" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (return_statement "return;" return ;) })) (if_statement "if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }" if (parenthesized_expression "((piVar9[2] == 0) && (piVar9[3] == 0))" ( (binary_expression "(piVar9[2] == 0) && (piVar9[3] == 0)" (parenthesized_expression "(piVar9[2] == 0)" ( (binary_expression "piVar9[2] == 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(piVar9[3] == 0)" ( (binary_expression "piVar9[3] == 0" (subscript_expression "piVar9[3]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n      piVar9[3] = (int)param_8;\n    }" { (expression_statement "piVar9[3] = (int)param_8;" (assignment_expression "piVar9[3] = (int)param_8" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) }))) (if_statement "if ((((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c))) {\n    *(undefined1 *)(param_8 + 0x10) = 1;\n  }" if (parenthesized_expression "((((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c)))" ( (binary_expression "(((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c))" (parenthesized_expression "(((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0'))" ( (binary_expression "((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')" (parenthesized_expression "((param_7 != 0x67) && (param_7 != 100))" ( (binary_expression "(param_7 != 0x67) && (param_7 != 100)" (parenthesized_expression "(param_7 != 0x67)" ( (binary_expression "param_7 != 0x67" identifier != number_literal) )) && (parenthesized_expression "(param_7 != 100)" ( (binary_expression "param_7 != 100" identifier != number_literal) ))) )) && (parenthesized_expression "(cVar3 = FUN_0017b7a0(), cVar3 == '\0')" ( (comma_expression "cVar3 = FUN_0017b7a0(), cVar3 == '\0'" (assignment_expression "cVar3 = FUN_0017b7a0()" identifier = (call_expression "FUN_0017b7a0()" identifier (argument_list "()" ( )))) , (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) && (parenthesized_expression "(param_2 != *(undefined4 **)(param_1 + 0x22c))" ( (binary_expression "param_2 != *(undefined4 **)(param_1 + 0x22c)" identifier != (pointer_expression "*(undefined4 **)(param_1 + 0x22c)" * (cast_expression "(undefined4 **)(param_1 + 0x22c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x22c)" ( (binary_expression "param_1 + 0x22c" identifier + number_literal) ))))) ))) )) (compound_statement "{\n    *(undefined1 *)(param_8 + 0x10) = 1;\n  }" { (expression_statement "*(undefined1 *)(param_8 + 0x10) = 1;" (assignment_expression "*(undefined1 *)(param_8 + 0x10) = 1" (pointer_expression "*(undefined1 *)(param_8 + 0x10)" * (cast_expression "(undefined1 *)(param_8 + 0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0x10)" ( (binary_expression "param_8 + 0x10" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if (param_7 < 0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();\n    return;\n  }" if (parenthesized_expression "(param_7 < 0xfa)" ( (binary_expression "param_7 < 0xfa" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();\n    return;\n  }" { comment comment (expression_statement "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();" (call_expression "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))()" (parenthesized_expression "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))" ( (pointer_expression "*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI)" * (cast_expression "(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI)" ( (binary_expression "&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI" (binary_expression "&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4)" (pointer_expression "&UNK_00451af7" & identifier) + (pointer_expression "*(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4)" * (cast_expression "(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x2dbf73 + param_7 * 4)" ( (binary_expression "unaff_EDI + 0x2dbf73 + param_7 * 4" (binary_expression "unaff_EDI + 0x2dbf73" identifier + number_literal) + (binary_expression "param_7 * 4" identifier * number_literal)) ))))) + identifier) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "*(undefined1 *)(param_8 + 0x14) = 1;" (assignment_expression "*(undefined1 *)(param_8 + 0x14) = 1" (pointer_expression "*(undefined1 *)(param_8 + 0x14)" * (cast_expression "(undefined1 *)(param_8 + 0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0x14)" ( (binary_expression "param_8 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(param_8 + 0x12) = 1;" (assignment_expression "*(undefined1 *)(param_8 + 0x12) = 1" (pointer_expression "*(undefined1 *)(param_8 + 0x12)" * (cast_expression "(undefined1 *)(param_8 + 0x12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0x12)" ( (binary_expression "param_8 + 0x12" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (param_7 == 0x67) goto LAB_0019878c;" if (parenthesized_expression "(param_7 == 0x67)" ( (binary_expression "param_7 == 0x67" identifier == number_literal) )) (goto_statement "goto LAB_0019878c;" goto statement_identifier ;)) (if_statement "if (param_7 < 0x68) {\n    if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;\n    if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }\n  }\n  else {\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }" if (parenthesized_expression "(param_7 < 0x68)" ( (binary_expression "param_7 < 0x68" identifier < number_literal) )) (compound_statement "{\n    if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;\n    if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }\n  }" { (if_statement "if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;" if (parenthesized_expression "(param_7 < 0x20)" ( (binary_expression "param_7 < 0x20" identifier < number_literal) )) (compound_statement "{\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }" { (if_statement "if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;" if (parenthesized_expression "((0x1d < param_7) || (param_7 == 0xb))" ( (binary_expression "(0x1d < param_7) || (param_7 == 0xb)" (parenthesized_expression "(0x1d < param_7)" ( (binary_expression "0x1d < param_7" number_literal < identifier) )) || (parenthesized_expression "(param_7 == 0xb)" ( (binary_expression "param_7 == 0xb" identifier == number_literal) ))) )) (goto_statement "goto LAB_0019878c;" goto statement_identifier ;)) }) (else_clause "else if (param_7 == 0x25) goto LAB_0019878c;" else (if_statement "if (param_7 == 0x25) goto LAB_0019878c;" if (parenthesized_expression "(param_7 == 0x25)" ( (binary_expression "param_7 == 0x25" identifier == number_literal) )) (goto_statement "goto LAB_0019878c;" goto statement_identifier ;)))) (labeled_statement "LAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;" statement_identifier : (expression_statement "*(undefined1 *)((int)param_8 + 0x49) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x49) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x49)" * (cast_expression "(undefined1 *)((int)param_8 + 0x49)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x49)" ( (binary_expression "(int)param_8 + 0x49" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (if_statement "if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }" if (parenthesized_expression "((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0'))" ( (binary_expression "(*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')" (parenthesized_expression "(*(int *)(extraout_ECX + 0x60) != 0)" ( (binary_expression "*(int *)(extraout_ECX + 0x60) != 0" (pointer_expression "*(int *)(extraout_ECX + 0x60)" * (cast_expression "(int *)(extraout_ECX + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ECX + 0x60)" ( (binary_expression "extraout_ECX + 0x60" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')" ( (comma_expression "local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0'" (assignment_expression "local_38 = param_8" identifier = identifier) , (binary_expression "*(char *)((int)param_8 + 0x5d) != '\0'" (pointer_expression "*(char *)((int)param_8 + 0x5d)" * (cast_expression "(char *)((int)param_8 + 0x5d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x5d)" ( (binary_expression "(int)param_8 + 0x5d" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }" { (expression_statement "FUN_00179860();" (call_expression "FUN_00179860()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)((int)local_38 + 0x5d) = 0;" (assignment_expression "*(undefined1 *)((int)local_38 + 0x5d) = 0" (pointer_expression "*(undefined1 *)((int)local_38 + 0x5d)" * (cast_expression "(undefined1 *)((int)local_38 + 0x5d)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_38 + 0x5d)" ( (binary_expression "(int)local_38 + 0x5d" (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) }) (else_clause "else {\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }" else (compound_statement "{\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }" { (if_statement "if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }" if (parenthesized_expression "(param_7 < 0x9b)" ( (binary_expression "param_7 < 0x9b" identifier < number_literal) )) (compound_statement "{\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }" { (if_statement "if (0x98 < param_7) goto LAB_0019878c;" if (parenthesized_expression "(0x98 < param_7)" ( (binary_expression "0x98 < param_7" number_literal < identifier) )) (goto_statement "goto LAB_0019878c;" goto statement_identifier ;)) (if_statement "if (param_7 != 0x8e) goto LAB_001988ea;" if (parenthesized_expression "(param_7 != 0x8e)" ( (binary_expression "param_7 != 0x8e" identifier != number_literal) )) (goto_statement "goto LAB_001988ea;" goto statement_identifier ;)) (expression_statement "cVar3 = *(char *)((int)param_8 + 0x49);" (assignment_expression "cVar3 = *(char *)((int)param_8 + 0x49)" identifier = (pointer_expression "*(char *)((int)param_8 + 0x49)" * (cast_expression "(char *)((int)param_8 + 0x49)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x49)" ( (binary_expression "(int)param_8 + 0x49" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }) (else_clause "else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }" else (compound_statement "{\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }" { (if_statement "if (param_7 != 0x9c) goto LAB_001988ea;" if (parenthesized_expression "(param_7 != 0x9c)" ( (binary_expression "param_7 != 0x9c" identifier != number_literal) )) (goto_statement "goto LAB_001988ea;" goto statement_identifier ;)) (labeled_statement "LAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);" statement_identifier : (expression_statement "cVar3 = *(char *)((int)param_8 + 0x49);" (assignment_expression "cVar3 = *(char *)((int)param_8 + 0x49)" identifier = (pointer_expression "*(char *)((int)param_8 + 0x49)" * (cast_expression "(char *)((int)param_8 + 0x49)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x49)" ( (binary_expression "(int)param_8 + 0x49" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) }))) (if_statement "if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }" { (expression_statement "cVar3 = FUN_0008ff10(param_8);" (assignment_expression "cVar3 = FUN_0008ff10(param_8)" identifier = (call_expression "FUN_0008ff10(param_8)" identifier (argument_list "(param_8)" ( identifier )))) ;) (expression_statement "bVar1 = *(byte *)((int)param_8 + 0x2a);" (assignment_expression "bVar1 = *(byte *)((int)param_8 + 0x2a)" identifier = (pointer_expression "*(byte *)((int)param_8 + 0x2a)" * (cast_expression "(byte *)((int)param_8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x2a)" ( (binary_expression "(int)param_8 + 0x2a" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }" { (if_statement "if ((bVar1 & 7) != 0) goto LAB_00198ff9;" if (parenthesized_expression "((bVar1 & 7) != 0)" ( (binary_expression "(bVar1 & 7) != 0" (parenthesized_expression "(bVar1 & 7)" ( (binary_expression "bVar1 & 7" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00198ff9;" goto statement_identifier ;)) (labeled_statement "LAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;" statement_identifier : (if_statement "if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;" if (parenthesized_expression "((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0))" ( (binary_expression "(param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)" (parenthesized_expression "(param_8[3] != 0)" ( (binary_expression "param_8[3] != 0" (subscript_expression "param_8[3]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)param_8 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)param_8 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)param_8 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)param_8 + 0x2b)" * (cast_expression "(byte *)((int)param_8 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x2b)" ( (binary_expression "(int)param_8 + 0x2b" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_001987a0;" goto statement_identifier ;))) (labeled_statement "LAB_00199001:\n        uVar4 = extraout_ECX_00;" statement_identifier : (expression_statement "uVar4 = extraout_ECX_00;" (assignment_expression "uVar4 = extraout_ECX_00" identifier = identifier) ;)) (if_statement "if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;" if (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0019972d;" goto statement_identifier ;)) (if_statement "if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;" if (parenthesized_expression "(*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" * (cast_expression "(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001987a0;" goto statement_identifier ;)) }) (else_clause "else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }" else (compound_statement "{\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }" { (if_statement "if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }" if (parenthesized_expression "((bVar1 & 7) != 0)" ( (binary_expression "(bVar1 & 7) != 0" (parenthesized_expression "(bVar1 & 7)" ( (binary_expression "bVar1 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }" { (labeled_statement "LAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;" statement_identifier : (if_statement "if ((bVar1 & 7) != 4) goto LAB_001987a0;" if (parenthesized_expression "((bVar1 & 7) != 4)" ( (binary_expression "(bVar1 & 7) != 4" (parenthesized_expression "(bVar1 & 7)" ( (binary_expression "bVar1 & 7" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001987a0;" goto statement_identifier ;))) (goto_statement "goto LAB_00199001;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;" if (parenthesized_expression "((*(byte *)(param_8[2] + 0x2c) & 1) == 0)" ( (binary_expression "(*(byte *)(param_8[2] + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_8[2] + 0x2c) & 1)" ( (binary_expression "*(byte *)(param_8[2] + 0x2c) & 1" (pointer_expression "*(byte *)(param_8[2] + 0x2c)" * (cast_expression "(byte *)(param_8[2] + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8[2] + 0x2c)" ( (binary_expression "param_8[2] + 0x2c" (subscript_expression "param_8[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00199108;" goto statement_identifier ;)) }))) (if_statement "if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }" if (parenthesized_expression "(*(int *)(extraout_ECX + 0x60) == 0)" ( (binary_expression "*(int *)(extraout_ECX + 0x60) == 0" (pointer_expression "*(int *)(extraout_ECX + 0x60)" * (cast_expression "(int *)(extraout_ECX + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ECX + 0x60)" ( (binary_expression "extraout_ECX + 0x60" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }" { (expression_statement "piVar9 = (int *)FUN_003ac4d0(0x54);" (assignment_expression "piVar9 = (int *)FUN_003ac4d0(0x54)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x54)" identifier (argument_list "(0x54)" ( number_literal ))))) ;) (expression_statement "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" * (cast_expression "(byte *)(piVar9 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 7)" ( (binary_expression "piVar9 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" * (cast_expression "(byte *)(piVar9 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 7)" ( (binary_expression "piVar9 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[5] = -1;" (assignment_expression "piVar9[5] = -1" (subscript_expression "piVar9[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[6] = -1;" (assignment_expression "piVar9[6] = -1" (subscript_expression "piVar9[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[8] = 0;" (assignment_expression "piVar9[8] = 0" (subscript_expression "piVar9[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[9] = 8;" (assignment_expression "piVar9[9] = 8" (subscript_expression "piVar9[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[10] = 0;" (assignment_expression "piVar9[10] = 0" (subscript_expression "piVar9[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);" (assignment_expression "*piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13)" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13)" ( (binary_expression ""N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13" (binary_expression ""N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI" (string_literal ""N4gold15General_options18Struct_fix_arm1176E"" " string_content ") + identifier) + number_literal) )))) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);" do (compound_statement "{\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        }" { (expression_statement "*(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;" (assignment_expression "*(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0" (pointer_expression "*(undefined4 *)((int)piVar9 + uVar12 + 0x2c)" * (cast_expression "(undefined4 *)((int)piVar9 + uVar12 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar9 + uVar12 + 0x2c)" ( (binary_expression "(int)piVar9 + uVar12 + 0x2c" (binary_expression "(int)piVar9 + uVar12" (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = uVar12 + 4;" (assignment_expression "uVar12 = uVar12 + 4" identifier = (binary_expression "uVar12 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar12 < 0x1c)" ( (binary_expression "uVar12 < 0x1c" identifier < number_literal) )) ;) (expression_statement "piVar9[0xb] = (int)(piVar9 + 0x11);" (assignment_expression "piVar9[0xb] = (int)(piVar9 + 0x11)" (subscript_expression "piVar9[0xb]" identifier [ number_literal ]) = (cast_expression "(int)(piVar9 + 0x11)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar9 + 0x11)" ( (binary_expression "piVar9 + 0x11" identifier + number_literal) )))) ;) (expression_statement "piVar9[0x14] = extraout_ECX;" (assignment_expression "piVar9[0x14] = extraout_ECX" (subscript_expression "piVar9[0x14]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int **)(extraout_ECX + 0x60) = piVar9;" (assignment_expression "*(int **)(extraout_ECX + 0x60) = piVar9" (pointer_expression "*(int **)(extraout_ECX + 0x60)" * (cast_expression "(int **)(extraout_ECX + 0x60)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(extraout_ECX + 0x60)" ( (binary_expression "extraout_ECX + 0x60" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar9[0xc] = 1;" (assignment_expression "piVar9[0xc] = 1" (subscript_expression "piVar9[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0xd] = 0;" (assignment_expression "piVar9[0xd] = 0" (subscript_expression "piVar9[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0xe] = 0;" (assignment_expression "piVar9[0xe] = 0" (subscript_expression "piVar9[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0xf] = 0x3f800000;" (assignment_expression "piVar9[0xf] = 0x3f800000" (subscript_expression "piVar9[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0x10] = 0;" (assignment_expression "piVar9[0x10] = 0" (subscript_expression "piVar9[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0x11] = 0;" (assignment_expression "piVar9[0x11] = 0" (subscript_expression "piVar9[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0x12] = -1;" (assignment_expression "piVar9[0x12] = -1" (subscript_expression "piVar9[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar9 + 0x13) = 0;" (assignment_expression "*(undefined1 *)(piVar9 + 0x13) = 0" (pointer_expression "*(undefined1 *)(piVar9 + 0x13)" * (cast_expression "(undefined1 *)(piVar9 + 0x13)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 0x13)" ( (binary_expression "piVar9 + 0x13" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);" (call_expression "FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0)" identifier (argument_list "(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0)" ( identifier , (binary_expression "unaff_EDI + 0x2d8d0c" identifier + number_literal) , number_literal , number_literal , number_literal , identifier , number_literal , number_literal ))) ;) })) (expression_statement "local_38 = param_8;" (assignment_expression "local_38 = param_8" identifier = identifier) ;) (if_statement "if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }" if (parenthesized_expression "((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1))" ( (binary_expression "(*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)" (parenthesized_expression "(*(char *)((int)param_8 + 0x5d) == '\0')" ( (binary_expression "*(char *)((int)param_8 + 0x5d) == '\0'" (pointer_expression "*(char *)((int)param_8 + 0x5d)" * (cast_expression "(char *)((int)param_8 + 0x5d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x5d)" ( (binary_expression "(int)param_8 + 0x5d" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(param_8[6] == -1)" ( (binary_expression "param_8[6] == -1" (subscript_expression "param_8[6]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }" { (expression_statement "FUN_00179a80();" (call_expression "FUN_00179a80()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)((int)local_38 + 0x5d) = 1;" (assignment_expression "*(undefined1 *)((int)local_38 + 0x5d) = 1" (pointer_expression "*(undefined1 *)((int)local_38 + 0x5d)" * (cast_expression "(undefined1 *)((int)local_38 + 0x5d)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_38 + 0x5d)" ( (binary_expression "(int)local_38 + 0x5d" (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) })) }))) (labeled_statement "LAB_001987a0:\n  if ((*(byte *)(param_1 + 0x1e8) & 1) == 0) {\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }" statement_identifier : (if_statement "if ((*(byte *)(param_1 + 0x1e8) & 1) == 0) {\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }" if (parenthesized_expression "((*(byte *)(param_1 + 0x1e8) & 1) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0x1e8) & 1) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x1e8) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x1e8) & 1" (pointer_expression "*(byte *)(param_1 + 0x1e8)" * (cast_expression "(byte *)(param_1 + 0x1e8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e8)" ( (binary_expression "param_1 + 0x1e8" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }" { (if_statement "if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" if (parenthesized_expression "(param_7 == 100)" ( (binary_expression "param_7 == 100" identifier == number_literal) )) (compound_statement "{\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }" { (if_statement "if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;" if (parenthesized_expression "((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c)" ( (binary_expression "(*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c" (parenthesized_expression "(*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c)" ( (binary_expression "*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c" (binary_expression "*(byte *)((int)param_8 + 0x29) >> 2" (pointer_expression "*(byte *)((int)param_8 + 0x29)" * (cast_expression "(byte *)((int)param_8 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x29)" ( (binary_expression "(int)param_8 + 0x29" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00198a07;" goto statement_identifier ;)) }) (else_clause "else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" else (if_statement "if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" if (parenthesized_expression "(param_7 < 0x65)" ( (binary_expression "param_7 < 0x65" identifier < number_literal) )) (compound_statement "{\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }" { (if_statement "if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;" if (parenthesized_expression "(param_7 == 10)" ( (binary_expression "param_7 == 10" identifier == number_literal) )) (compound_statement "{\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }" { (labeled_statement "LAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;" statement_identifier : (expression_statement "*(undefined1 *)((int)param_8 + 0x41) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x41) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x41)" * (cast_expression "(undefined1 *)((int)param_8 + 0x41)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x41)" ( (binary_expression "(int)param_8 + 0x41" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) }) (else_clause "else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;" else (if_statement "if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;" if (parenthesized_expression "(param_7 < 0xb)" ( (binary_expression "param_7 < 0xb" identifier < number_literal) )) (compound_statement "{\n        if (param_7 == 4) goto LAB_00198a07;\n      }" { (if_statement "if (param_7 == 4) goto LAB_00198a07;" if (parenthesized_expression "(param_7 == 4)" ( (binary_expression "param_7 == 4" identifier == number_literal) )) (goto_statement "goto LAB_00198a07;" goto statement_identifier ;)) }) (else_clause "else if (param_7 - 0x3c < 2) goto LAB_00198a07;" else (if_statement "if (param_7 - 0x3c < 2) goto LAB_00198a07;" if (parenthesized_expression "(param_7 - 0x3c < 2)" ( (binary_expression "param_7 - 0x3c < 2" (binary_expression "param_7 - 0x3c" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_00198a07;" goto statement_identifier ;)))))) }) (else_clause "else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" else (if_statement "if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" if (parenthesized_expression "(param_7 < 0x8e)" ( (binary_expression "param_7 < 0x8e" identifier < number_literal) )) (compound_statement "{\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }" { (if_statement "if (0x8a < param_7) goto LAB_00198a07;" if (parenthesized_expression "(0x8a < param_7)" ( (binary_expression "0x8a < param_7" number_literal < identifier) )) (goto_statement "goto LAB_00198a07;" goto statement_identifier ;)) (if_statement "if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }" if (parenthesized_expression "(param_7 == 0x85)" ( (binary_expression "param_7 == 0x85" identifier == number_literal) )) (compound_statement "{\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }" { (expression_statement "*(undefined1 *)((int)param_8 + 0x41) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x41) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x41)" * (cast_expression "(undefined1 *)((int)param_8 + 0x41)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x41)" ( (binary_expression "(int)param_8 + 0x41" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) }) (else_clause "else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" else (if_statement "if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" if (parenthesized_expression "(param_7 == 0xad)" ( (binary_expression "param_7 == 0xad" identifier == number_literal) )) (compound_statement "{\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" { (expression_statement "*(undefined1 *)((int)param_8 + 0x41) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x41) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x41)" * (cast_expression "(undefined1 *)((int)param_8 + 0x41)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x41)" ( (binary_expression "(int)param_8 + 0x41" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })))))))) }))) (expression_statement "cVar3 = FUN_0008ff10(param_8);" (assignment_expression "cVar3 = FUN_0008ff10(param_8)" identifier = (call_expression "FUN_0008ff10(param_8)" identifier (argument_list "(param_8)" ( identifier )))) ;) (if_statement "if (cVar3 != '\0') {\n    uVar4 = extraout_ECX_01;\n    if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */\n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */\n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }\n    if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar4 = extraout_ECX_01;\n    if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */\n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */\n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }\n    if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }\n  }" { (expression_statement "uVar4 = extraout_ECX_01;" (assignment_expression "uVar4 = extraout_ECX_01" identifier = identifier) ;) (if_statement "if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */\n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */\n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }" if (parenthesized_expression "((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1))" ( (binary_expression "(*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)" (parenthesized_expression "(*(char *)((int)param_8 + 0x5d) == '\0')" ( (binary_expression "*(char *)((int)param_8 + 0x5d) == '\0'" (pointer_expression "*(char *)((int)param_8 + 0x5d)" * (cast_expression "(char *)((int)param_8 + 0x5d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x5d)" ( (binary_expression "(int)param_8 + 0x5d" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(param_8[6] == -1)" ( (binary_expression "param_8[6] == -1" (subscript_expression "param_8[6]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */\n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */\n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }" { (expression_statement "iVar5 = *(int *)(extraout_ECX + 0x1c);" (assignment_expression "iVar5 = *(int *)(extraout_ECX + 0x1c)" identifier = (pointer_expression "*(int *)(extraout_ECX + 0x1c)" * (cast_expression "(int *)(extraout_ECX + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ECX + 0x1c)" ( (binary_expression "extraout_ECX + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */\n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */\n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */\n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */\n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }" { (expression_statement "FUN_0017bb90();" (call_expression "FUN_0017bb90()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar9 = (int *)FUN_003ac4d0(0x30);" (assignment_expression "piVar9 = (int *)FUN_003ac4d0(0x30)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x30)" identifier (argument_list "(0x30)" ( number_literal ))))) ;) (expression_statement "*piVar9 = unaff_EDI + 0x4439c7;" (assignment_expression "*piVar9 = unaff_EDI + 0x4439c7" (pointer_expression "*piVar9" * identifier) = (binary_expression "unaff_EDI + 0x4439c7" identifier + number_literal)) ;) (expression_statement "*(int **)(extraout_ECX + 0x20) = piVar9;" (assignment_expression "*(int **)(extraout_ECX + 0x20) = piVar9" (pointer_expression "*(int **)(extraout_ECX + 0x20)" * (cast_expression "(int **)(extraout_ECX + 0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(extraout_ECX + 0x20)" ( (binary_expression "extraout_ECX + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[5] = -1;" (assignment_expression "piVar9[5] = -1" (subscript_expression "piVar9[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[6] = -1;" (assignment_expression "piVar9[6] = -1" (subscript_expression "piVar9[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" * (cast_expression "(byte *)(piVar9 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 7)" ( (binary_expression "piVar9 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" * (cast_expression "(byte *)(piVar9 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 7)" ( (binary_expression "piVar9 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "piVar9[8] = 0;" (assignment_expression "piVar9[8] = 0" (subscript_expression "piVar9[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[9] = 4;" (assignment_expression "piVar9[9] = 4" (subscript_expression "piVar9[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[10] = 0;" (assignment_expression "piVar9[10] = 0" (subscript_expression "piVar9[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0xb] = unaff_EDI + 0x2b4e97;" (assignment_expression "piVar9[0xb] = unaff_EDI + 0x2b4e97" (subscript_expression "piVar9[0xb]" identifier [ number_literal ]) = (binary_expression "unaff_EDI + 0x2b4e97" identifier + number_literal)) ;) (expression_statement "FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);" (call_expression "FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0)" identifier (argument_list "(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0)" ( identifier , (binary_expression "unaff_EDI + 0x2b4f02" identifier + number_literal) , number_literal , number_literal , number_literal , identifier , number_literal , number_literal ))) ;) (expression_statement "iVar6 = *(int *)(extraout_ECX + 0x20);" (assignment_expression "iVar6 = *(int *)(extraout_ECX + 0x20)" identifier = (pointer_expression "*(int *)(extraout_ECX + 0x20)" * (cast_expression "(int *)(extraout_ECX + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ECX + 0x20)" ( (binary_expression "extraout_ECX + 0x20" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;" if (parenthesized_expression "((*(byte *)(iVar6 + 0x1c) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar6 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar6 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar6 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar6 + 0x1c)" * (cast_expression "(byte *)(iVar6 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001997f3;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(iVar6 + 0xc) = 0x10;" (assignment_expression "*(undefined4 *)(iVar6 + 0xc) = 0x10" (pointer_expression "*(undefined4 *)(iVar6 + 0xc)" * (cast_expression "(undefined4 *)(iVar6 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0x10)" * (cast_expression "(undefined4 *)(iVar6 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10)" ( (binary_expression "iVar6 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar9 = (int *)FUN_003ac4d0(0x50);" (assignment_expression "piVar9 = (int *)FUN_003ac4d0(0x50)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x50)" identifier (argument_list "(0x50)" ( number_literal ))))) ;) (expression_statement "iVar5 = *(int *)(extraout_ECX + 0x20);" (assignment_expression "iVar5 = *(int *)(extraout_ECX + 0x20)" identifier = (pointer_expression "*(int *)(extraout_ECX + 0x20)" * (cast_expression "(int *)(extraout_ECX + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ECX + 0x20)" ( (binary_expression "extraout_ECX + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" * (cast_expression "(byte *)(piVar9 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 7)" ( (binary_expression "piVar9 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" * (cast_expression "(byte *)(piVar9 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 7)" ( (binary_expression "piVar9 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[5] = -1;" (assignment_expression "piVar9[5] = -1" (subscript_expression "piVar9[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[6] = -1;" (assignment_expression "piVar9[6] = -1" (subscript_expression "piVar9[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[8] = 0;" (assignment_expression "piVar9[8] = 0" (subscript_expression "piVar9[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[9] = 8;" (assignment_expression "piVar9[9] = 8" (subscript_expression "piVar9[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[10] = 0;" (assignment_expression "piVar9[10] = 0" (subscript_expression "piVar9[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);" (assignment_expression "*piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27)" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27)" ( (binary_expression ""N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27" (binary_expression ""N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI" (string_literal ""N4gold15General_options24Struct_no_fatal_warningsE"" " string_content ") + identifier) + number_literal) )))) ;) (expression_statement "piVar9[0xc] = iVar5;" (assignment_expression "piVar9[0xc] = iVar5" (subscript_expression "piVar9[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[0xd] = 0;" (assignment_expression "piVar9[0xd] = 0" (subscript_expression "piVar9[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0xe] = 0;" (assignment_expression "piVar9[0xe] = 0" (subscript_expression "piVar9[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0xf] = 0;" (assignment_expression "piVar9[0xf] = 0" (subscript_expression "piVar9[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0x10] = 0;" (assignment_expression "piVar9[0x10] = 0" (subscript_expression "piVar9[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0x11] = 0;" (assignment_expression "piVar9[0x11] = 0" (subscript_expression "piVar9[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0x12] = 0;" (assignment_expression "piVar9[0x12] = 0" (subscript_expression "piVar9[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0x13] = extraout_ECX;" (assignment_expression "piVar9[0x13] = extraout_ECX" (subscript_expression "piVar9[0x13]" identifier [ number_literal ]) = identifier) ;) comment (expression_statement "puVar10 = (undefined4 *)FUN_003ac4d0(0x40);" (assignment_expression "puVar10 = (undefined4 *)FUN_003ac4d0(0x40)" identifier = (cast_expression "(undefined4 *)FUN_003ac4d0(0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) comment (expression_statement "FUN_001cc9c0(puVar10,0x40,0);" (call_expression "FUN_001cc9c0(puVar10,0x40,0)" identifier (argument_list "(puVar10,0x40,0)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "puVar10[0xd] = 0;" (assignment_expression "puVar10[0xd] = 0" (subscript_expression "puVar10[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[0xe] = 0;" (assignment_expression "puVar10[0xe] = 0" (subscript_expression "puVar10[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[0xf] = 0;" (assignment_expression "puVar10[0xf] = 0" (subscript_expression "puVar10[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0xb] = (int)puVar10;" (assignment_expression "piVar9[0xb] = (int)puVar10" (subscript_expression "piVar9[0xb]" identifier [ number_literal ]) = (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar10 = &UNK_0044971f + unaff_EDI;" (assignment_expression "*puVar10 = &UNK_0044971f + unaff_EDI" (pointer_expression "*puVar10" * identifier) = (binary_expression "&UNK_0044971f + unaff_EDI" (pointer_expression "&UNK_0044971f" & identifier) + identifier)) ;) comment (expression_statement "FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);" (call_expression "FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0)" identifier (argument_list "(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0)" ( identifier , (binary_expression "unaff_EDI + 0x2b4f79" identifier + number_literal) , number_literal , number_literal , number_literal , identifier , number_literal , number_literal ))) ;) (expression_statement "*(int **)(extraout_ECX + 0x1c) = piVar9;" (assignment_expression "*(int **)(extraout_ECX + 0x1c) = piVar9" (pointer_expression "*(int **)(extraout_ECX + 0x1c)" * (cast_expression "(int **)(extraout_ECX + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(extraout_ECX + 0x1c)" ( (binary_expression "extraout_ECX + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);" (call_expression "FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0)" identifier (argument_list "(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0)" ( identifier , (binary_expression "unaff_EDI + 0x2b7b9f" identifier + number_literal) , number_literal , number_literal , number_literal , identifier , number_literal , number_literal ))) ;) (expression_statement "FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));" (call_expression "FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20))" identifier (argument_list "(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20))" ( (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20)" * (cast_expression "(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20)" ( (binary_expression "*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20" (pointer_expression "*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c)" * (cast_expression "(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(extraout_ECX + 0x1c) + 0x2c)" ( (binary_expression "*(int *)(extraout_ECX + 0x1c) + 0x2c" (pointer_expression "*(int *)(extraout_ECX + 0x1c)" * (cast_expression "(int *)(extraout_ECX + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ECX + 0x1c)" ( (binary_expression "extraout_ECX + 0x1c" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) , (pointer_expression "*(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20)" * (cast_expression "(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(extraout_ECX + 0x1c) + 0x20)" ( (binary_expression "*(int *)(extraout_ECX + 0x1c) + 0x20" (pointer_expression "*(int *)(extraout_ECX + 0x1c)" * (cast_expression "(int *)(extraout_ECX + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ECX + 0x1c)" ( (binary_expression "extraout_ECX + 0x1c" identifier + number_literal) )))) + number_literal) )))) ))) ;) (expression_statement "iVar5 = *(int *)(extraout_ECX + 0x1c);" (assignment_expression "iVar5 = *(int *)(extraout_ECX + 0x1c)" identifier = (pointer_expression "*(int *)(extraout_ECX + 0x1c)" * (cast_expression "(int *)(extraout_ECX + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ECX + 0x1c)" ( (binary_expression "extraout_ECX + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (param_8[6] != -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }" if (parenthesized_expression "(param_8[6] != -1)" ( (binary_expression "param_8[6] != -1" (subscript_expression "param_8[6]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }" { comment (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06)" identifier (argument_list "(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06)" ( (binary_expression "unaff_EDI + 0x2d8ce1" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e1fd7" identifier + number_literal) , identifier ))) ;) })) })) (expression_statement "puVar10 = *(undefined4 **)(iVar5 + 0x38);" (assignment_expression "puVar10 = *(undefined4 **)(iVar5 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(iVar5 + 0x38)" * (cast_expression "(undefined4 **)(iVar5 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;" (assignment_expression "param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10" (subscript_expression "param_8[6]" identifier [ number_literal ]) = (binary_expression "(((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10" (parenthesized_expression "(((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2)" ( (binary_expression "((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2" (parenthesized_expression "((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2)" ( (binary_expression "(int)puVar10 - *(int *)(iVar5 + 0x34) >> 2" (binary_expression "(int)puVar10 - *(int *)(iVar5 + 0x34)" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(iVar5 + 0x34)" * (cast_expression "(int *)(iVar5 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x34)" ( (binary_expression "iVar5 + 0x34" identifier + number_literal) ))))) >> number_literal) )) + number_literal) )) * number_literal)) ;) (if_statement "if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }" if (parenthesized_expression "(puVar10 == *(undefined4 **)(iVar5 + 0x3c))" ( (binary_expression "puVar10 == *(undefined4 **)(iVar5 + 0x3c)" identifier == (pointer_expression "*(undefined4 **)(iVar5 + 0x3c)" * (cast_expression "(undefined4 **)(iVar5 + 0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 0x3c" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_00177b60();\n      }" { (expression_statement "FUN_00177b60();" (call_expression "FUN_00177b60()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }" else (compound_statement "{\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }" { (expression_statement "*puVar10 = param_8;" (assignment_expression "*puVar10 = param_8" (pointer_expression "*puVar10" * identifier) = identifier) ;) (expression_statement "*(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;" (assignment_expression "*(undefined4 **)(iVar5 + 0x38) = puVar10 + 1" (pointer_expression "*(undefined4 **)(iVar5 + 0x38)" * (cast_expression "(undefined4 **)(iVar5 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) }))) (if_statement "if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }" if (parenthesized_expression "((param_7 == 100 || param_7 == 4) || (param_7 == 0x85))" ( (binary_expression "(param_7 == 100 || param_7 == 4) || (param_7 == 0x85)" (parenthesized_expression "(param_7 == 100 || param_7 == 4)" ( (binary_expression "param_7 == 100 || param_7 == 4" (binary_expression "param_7 == 100" identifier == number_literal) || (binary_expression "param_7 == 4" identifier == number_literal)) )) || (parenthesized_expression "(param_7 == 0x85)" ( (binary_expression "param_7 == 0x85" identifier == number_literal) ))) )) (compound_statement "{\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }" { (if_statement "if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }" if (parenthesized_expression "(param_7 == 4)" ( (binary_expression "param_7 == 4" identifier == number_literal) )) (compound_statement "{\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }" { (expression_statement "*(undefined1 *)((int)param_8 + 0x5e) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x5e) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x5e)" * (cast_expression "(undefined1 *)((int)param_8 + 0x5e)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x5e)" ( (binary_expression "(int)param_8 + 0x5e" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }" else (compound_statement "{\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }" { (expression_statement "*(undefined1 *)((int)param_8 + 0x5f) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x5f) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x5f)" * (cast_expression "(undefined1 *)((int)param_8 + 0x5f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x5f)" ( (binary_expression "(int)param_8 + 0x5f" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }))) })) (expression_statement "iVar11 = *(int *)(iVar5 + 0x30);" (assignment_expression "iVar11 = *(int *)(iVar5 + 0x30)" identifier = (pointer_expression "*(int *)(iVar5 + 0x30)" * (cast_expression "(int *)(iVar5 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar11 + 0xc);" (assignment_expression "iVar2 = *(int *)(iVar11 + 0xc)" identifier = (pointer_expression "*(int *)(iVar11 + 0xc)" * (cast_expression "(int *)(iVar11 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = iVar2 + 8;" (assignment_expression "iVar6 = iVar2 + 8" identifier = (binary_expression "iVar2 + 8" identifier + number_literal)) ;) (if_statement "if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }" if (parenthesized_expression "((*(byte *)(iVar11 + 0x1c) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar11 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar11 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar11 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar11 + 0x1c)" * (cast_expression "(byte *)(iVar11 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }" { (labeled_statement "LAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);" statement_identifier : comment (expression_statement "FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);" (call_expression "FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6)" identifier (argument_list "(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6)" ( (binary_expression "unaff_EDI + 0x2b4e54" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e21d7" identifier + number_literal) , identifier ))) ;)) })) (expression_statement "*(int *)(iVar11 + 0xc) = iVar6;" (assignment_expression "*(int *)(iVar11 + 0xc) = iVar6" (pointer_expression "*(int *)(iVar11 + 0xc)" * (cast_expression "(int *)(iVar11 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;" (assignment_expression "*(int *)(iVar11 + 0x10) = iVar6 >> 0x1f" (pointer_expression "*(int *)(iVar11 + 0x10)" * (cast_expression "(int *)(iVar11 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) )))) = (binary_expression "iVar6 >> 0x1f" identifier >> number_literal)) ;) (expression_statement "*(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;" (assignment_expression "*(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40" (pointer_expression "*(byte *)((int)param_8 + 0x2a)" * (cast_expression "(byte *)((int)param_8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x2a)" ( (binary_expression "(int)param_8 + 0x2a" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)param_8 + 0x2a) | 0x40" (pointer_expression "*(byte *)((int)param_8 + 0x2a)" * (cast_expression "(byte *)((int)param_8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x2a)" ( (binary_expression "(int)param_8 + 0x2a" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "uVar8 = *(undefined4 *)(iVar5 + 0x2c);" (assignment_expression "uVar8 = *(undefined4 *)(iVar5 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)(iVar5 + 0x2c)" * (cast_expression "(undefined4 *)(iVar5 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);" (call_expression "FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0)" identifier (argument_list "(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0)" ( (pointer_expression "&local_38" & identifier) , identifier , number_literal , identifier , identifier , (binary_expression "iVar2 >> 0x1f" identifier >> number_literal) , number_literal , number_literal , number_literal ))) ;) (expression_statement "FUN_001cdb50(uVar8,iVar11,&local_38);" (call_expression "FUN_001cdb50(uVar8,iVar11,&local_38)" identifier (argument_list "(uVar8,iVar11,&local_38)" ( identifier , identifier , (pointer_expression "&local_38" & identifier) ))) ;) (expression_statement "uVar4 = extraout_ECX_03;" (assignment_expression "uVar4 = extraout_ECX_03" identifier = identifier) ;) })) (if_statement "if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }" if (parenthesized_expression "(((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0))" ( (binary_expression "((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)" (parenthesized_expression "((*(byte *)((int)param_8 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)param_8 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)param_8 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)param_8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)param_8 + 0x2a)" * (cast_expression "(byte *)((int)param_8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x2a)" ( (binary_expression "(int)param_8 + 0x2a" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)(param_8[2] + 0x2c) & 1) != 0)" ( (binary_expression "(*(byte *)(param_8[2] + 0x2c) & 1) != 0" (parenthesized_expression "(*(byte *)(param_8[2] + 0x2c) & 1)" ( (binary_expression "*(byte *)(param_8[2] + 0x2c) & 1" (pointer_expression "*(byte *)(param_8[2] + 0x2c)" * (cast_expression "(byte *)(param_8[2] + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8[2] + 0x2c)" ( (binary_expression "param_8[2] + 0x2c" (subscript_expression "param_8[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }" { (if_statement "if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;" if (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0019972d;" goto statement_identifier ;)) (if_statement "if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }" if (parenthesized_expression "((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0'))" ( (binary_expression "(*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')" (parenthesized_expression "(*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" * (cast_expression "(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')" ( (comma_expression "FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0'" (call_expression "FUN_0008feb0(param_8)" identifier (argument_list "(param_8)" ( identifier ))) , (binary_expression "*(char *)(param_8 + 0x14) != '\0'" (pointer_expression "*(char *)(param_8 + 0x14)" * (cast_expression "(char *)(param_8 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0x14)" ( (binary_expression "param_8 + 0x14" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }" { (expression_statement "bVar1 = *(byte *)((int)param_8 + 0x29);" (assignment_expression "bVar1 = *(byte *)((int)param_8 + 0x29)" identifier = (pointer_expression "*(byte *)((int)param_8 + 0x29)" * (cast_expression "(byte *)((int)param_8 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x29)" ( (binary_expression "(int)param_8 + 0x29" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }" if (parenthesized_expression "((bVar1 >> 2 & 0x3c) == 0x3c)" ( (binary_expression "(bVar1 >> 2 & 0x3c) == 0x3c" (parenthesized_expression "(bVar1 >> 2 & 0x3c)" ( (binary_expression "bVar1 >> 2 & 0x3c" (binary_expression "bVar1 >> 2" identifier >> number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }" { (expression_statement "*(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;" (assignment_expression "*(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8" (pointer_expression "*(byte *)((int)param_8 + 0x29)" * (cast_expression "(byte *)((int)param_8 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x29)" ( (binary_expression "(int)param_8 + 0x29" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar1 & 3 | 0xf8" (binary_expression "bVar1 & 3" identifier & number_literal) | number_literal)) ;) }) (else_clause "else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }" else (compound_statement "{\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }" { (expression_statement "*(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;" (assignment_expression "*(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3" (pointer_expression "*(byte *)((int)param_8 + 0x29)" * (cast_expression "(byte *)((int)param_8 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x29)" ( (binary_expression "(int)param_8 + 0x29" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3" (call_expression "(byte)((bVar1 >> 2 & 0x30 | 2) << 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((bVar1 >> 2 & 0x30 | 2) << 2)" ( (binary_expression "(bVar1 >> 2 & 0x30 | 2) << 2" (parenthesized_expression "(bVar1 >> 2 & 0x30 | 2)" ( (binary_expression "bVar1 >> 2 & 0x30 | 2" (binary_expression "bVar1 >> 2 & 0x30" (binary_expression "bVar1 >> 2" identifier >> number_literal) & number_literal) | number_literal) )) << number_literal) ))) | (binary_expression "bVar1 & 3" identifier & number_literal))) ;) }))) })) })) })) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (if_statement "if (param_7 - 1 < 0xf9) {\n    iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);\n  }" if (parenthesized_expression "(param_7 - 1 < 0xf9)" ( (binary_expression "param_7 - 1 < 0xf9" (binary_expression "param_7 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n    iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);\n  }" { (expression_statement "iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);" (assignment_expression "iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7)" identifier = (cast_expression "(int)*(char *)(unaff_EDI + 0x2e0396 + param_7)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(unaff_EDI + 0x2e0396 + param_7)" * (cast_expression "(char *)(unaff_EDI + 0x2e0396 + param_7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x2e0396 + param_7)" ( (binary_expression "unaff_EDI + 0x2e0396 + param_7" (binary_expression "unaff_EDI + 0x2e0396" identifier + number_literal) + identifier) )))))) ;) })) (expression_statement "cVar3 = FUN_00071bb0(param_8,iVar5);" (assignment_expression "cVar3 = FUN_00071bb0(param_8,iVar5)" identifier = (call_expression "FUN_00071bb0(param_8,iVar5)" identifier (argument_list "(param_8,iVar5)" ( identifier , identifier )))) ;) (expression_statement "uVar4 = extraout_ECX_02;" (assignment_expression "uVar4 = extraout_ECX_02" identifier = identifier) ;) (if_statement "if (cVar3 != '\0') {\n    cVar3 = FUN_00103300(param_8);\n    if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }\n  }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    cVar3 = FUN_00103300(param_8);\n    if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }\n  }" { (expression_statement "cVar3 = FUN_00103300(param_8);" (assignment_expression "cVar3 = FUN_00103300(param_8)" identifier = (call_expression "FUN_00103300(param_8)" identifier (argument_list "(param_8)" ( identifier )))) ;) (if_statement "if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }" { (expression_statement "uVar8 = *param_8;" (assignment_expression "uVar8 = *param_8" identifier = (pointer_expression "*param_8" * identifier)) ;) (expression_statement "uVar7 = gettext(unaff_EDI + 0x2d9153);" (assignment_expression "uVar7 = gettext(unaff_EDI + 0x2d9153)" identifier = (call_expression "gettext(unaff_EDI + 0x2d9153)" identifier (argument_list "(unaff_EDI + 0x2d9153)" ( (binary_expression "unaff_EDI + 0x2d9153" identifier + number_literal) )))) ;) (expression_statement "FUN_0023b810(uVar7,uVar8);" (call_expression "FUN_0023b810(uVar7,uVar8)" identifier (argument_list "(uVar7,uVar8)" ( identifier , identifier ))) ;) (expression_statement "uVar4 = extraout_ECX_04;" (assignment_expression "uVar4 = extraout_ECX_04" identifier = identifier) ;) }) (else_clause "else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }" else (compound_statement "{\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }" { (expression_statement "uVar8 = FUN_00198320();" (assignment_expression "uVar8 = FUN_00198320()" identifier = (call_expression "FUN_00198320()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar4 = FUN_001771a0();" (assignment_expression "uVar4 = FUN_001771a0()" identifier = (call_expression "FUN_001771a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);" (call_expression "FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8)" identifier (argument_list "(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8)" ( (binary_expression "extraout_ECX + 0x2c" identifier + number_literal) , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , number_literal , number_literal , identifier ))) ;) (expression_statement "uVar4 = extraout_ECX_05;" (assignment_expression "uVar4 = extraout_ECX_05" identifier = identifier) ;) }))) })) (if_statement "if (param_7 - 9 < 0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();\n    return;\n  }" if (parenthesized_expression "(param_7 - 9 < 0xf1)" ( (binary_expression "param_7 - 9 < 0xf1" (binary_expression "param_7 - 9" identifier - number_literal) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();\n    return;\n  }" { comment comment (expression_statement "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();" (call_expression "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))()" (parenthesized_expression "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))" ( (pointer_expression "*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI)" * (cast_expression "(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI)" ( (binary_expression "&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI" (binary_expression "&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4)" (pointer_expression "&UNK_00451af7" & identifier) + (pointer_expression "*(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4)" * (cast_expression "(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4)" ( (binary_expression "unaff_EDI + 0x2dc35b + (param_7 - 9) * 4" (binary_expression "unaff_EDI + 0x2dc35b" identifier + number_literal) + (binary_expression "(param_7 - 9) * 4" (parenthesized_expression "(param_7 - 9)" ( (binary_expression "param_7 - 9" identifier - number_literal) )) * number_literal)) ))))) + identifier) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);\n  }" if (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);\n  }" { (labeled_statement "LAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);" statement_identifier : comment (expression_statement "FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);" (call_expression "FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4)" identifier (argument_list "(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4)" ( (binary_expression "unaff_EDI + 0x2afd64" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e274f" identifier + number_literal) , identifier ))) ;)) })) (if_statement "if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }" if (parenthesized_expression "(*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" * (cast_expression "(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (param_7 != 100) {\n    if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }\n    if (local_64 == 0) {\n      return;\n    }\n  }" if (parenthesized_expression "(param_7 != 100)" ( (binary_expression "param_7 != 100" identifier != number_literal) )) (compound_statement "{\n    if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }\n    if (local_64 == 0) {\n      return;\n    }\n  }" { (if_statement "if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }" if (parenthesized_expression "(param_7 < 0x65)" ( (binary_expression "param_7 < 0x65" identifier < number_literal) )) (compound_statement "{\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }" { (if_statement "if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }" if (parenthesized_expression "(param_7 != 5)" ( (binary_expression "param_7 != 5" identifier != number_literal) )) (compound_statement "{\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }" { (if_statement "if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }" if (parenthesized_expression "(param_7 < 6)" ( (binary_expression "param_7 < 6" identifier < number_literal) )) (compound_statement "{\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }" { (if_statement "if (param_7 != 4) {\n            return;\n          }" if (parenthesized_expression "(param_7 != 4)" ( (binary_expression "param_7 != 4" identifier != number_literal) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_0019889d;" goto statement_identifier ;) })) (if_statement "if (1 < param_7 - 0x1c) {\n          return;\n        }" if (parenthesized_expression "(1 < param_7 - 0x1c)" ( (binary_expression "1 < param_7 - 0x1c" number_literal < (binary_expression "param_7 - 0x1c" identifier - number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) }) (else_clause "else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }" else (if_statement "if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }" if (parenthesized_expression "(param_7 != 0x86)" ( (binary_expression "param_7 != 0x86" identifier != number_literal) )) (compound_statement "{\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }" { (if_statement "if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }" if (parenthesized_expression "(param_7 < 0x87)" ( (binary_expression "param_7 < 0x87" identifier < number_literal) )) (compound_statement "{\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }" { (if_statement "if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }" if (parenthesized_expression "(param_7 != 0x68)" ( (binary_expression "param_7 != 0x68" identifier != number_literal) )) (compound_statement "{\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }" { (if_statement "if (param_7 != 0x85) {\n            return;\n          }" if (parenthesized_expression "(param_7 != 0x85)" ( (binary_expression "param_7 != 0x85" identifier != number_literal) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_0019889d;" goto statement_identifier ;) })) }) (else_clause "else if (1 < param_7 - 0x97) {\n        return;\n      }" else (if_statement "if (1 < param_7 - 0x97) {\n        return;\n      }" if (parenthesized_expression "(1 < param_7 - 0x97)" ( (binary_expression "1 < param_7 - 0x97" number_literal < (binary_expression "param_7 - 0x97" identifier - number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })))) })))) (if_statement "if (local_64 == 0) {\n      return;\n    }" if (parenthesized_expression "(local_64 == 0)" ( (binary_expression "local_64 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) })) (labeled_statement "LAB_0019889d:\n  uVar8 = *param_8;" statement_identifier : (expression_statement "uVar8 = *param_8;" (assignment_expression "uVar8 = *param_8" identifier = (pointer_expression "*param_8" * identifier)) ;)) (expression_statement "uVar7 = *(undefined4 *)(param_1 + 4);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = gettext(unaff_EDI + 0x2d9187);" (assignment_expression "uVar4 = gettext(unaff_EDI + 0x2d9187)" identifier = (call_expression "gettext(unaff_EDI + 0x2d9187)" identifier (argument_list "(unaff_EDI + 0x2d9187)" ( (binary_expression "unaff_EDI + 0x2d9187" identifier + number_literal) )))) ;) (expression_statement "FUN_0023b810(uVar4,uVar7,param_7,uVar8);" (call_expression "FUN_0023b810(uVar4,uVar7,param_7,uVar8)" identifier (argument_list "(uVar4,uVar7,param_7,uVar8)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Removing unreachable block (ram,0x00198a7b) */\n/* WARNING: Removing unreachable block (ram,0x001995c0) */\n/* WARNING: Removing unreachable block (ram,0x001996ee) */\n/* WARNING: Removing unreachable block (ram,0x001995dd) */\n/* WARNING: Removing unreachable block (ram,0x001995e7) */\n/* WARNING: Removing unreachable block (ram,0x001995f4) */\n/* WARNING: Removing unreachable block (ram,0x0019970b) */\n/* WARNING: Removing unreachable block (ram,0x00199717) */\n/* WARNING: Removing unreachable block (ram,0x001995fb) */\n/* WARNING: Removing unreachable block (ram,0x00199612) */\n/* WARNING: Removing unreachable block (ram,0x00199726) */\n/* WARNING: Removing unreachable block (ram,0x00199646) */\n/* WARNING: Removing unreachable block (ram,0x00199650) */\n/* WARNING: Removing unreachable block (ram,0x00199683) */\n/* WARNING: Removing unreachable block (ram,0x001996a5) */\n/* WARNING: Removing unreachable block (ram,0x001996ac) */\n/* WARNING: Removing unreachable block (ram,0x001996c1) */\n/* WARNING: Removing unreachable block (ram,0x00198a95) */\n/* WARNING: Removing unreachable block (ram,0x001987ea) */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void global(Scan * this, Symbol_table * symtab, Layout * layout,\n   Target_mips<64,_false> * target, Sized_relobj_file<64,_false> * object, uint data_shndx,\n   Output_section * output_section, Relatype * rela, Reltype * rel, uint rel_type, uint r_type,\n   Symbol * gsym) */\n\nvoid __thiscall\nanon_unknown.dwarf_d7d43e::Target_mips<64,_false>::Scan::global\n          (Scan *this,Symbol_table *symtab,Layout *layout,Target_mips<64,_false> *target,\n          Sized_relobj_file<64,_false> *object,uint data_shndx,Output_section *output_section,\n          Relatype *rela,Reltype *rel,uint rel_type,uint r_type,Symbol *gsym)\n\n{\n  Scan *pSVar1;\n  byte *pbVar2;\n  char cVar3;\n  byte bVar4;\n  _func_int_varargs **pp_Var5;\n  Mips64_rela_data *pMVar6;\n  undefined4 uVar7;\n  undefined4 *puVar8;\n  Output_data *od;\n  int iVar9;\n  Scan *pSVar10;\n  bool bVar11;\n  undefined1 *puVar12;\n  char *pcVar13;\n  int iVar14;\n  anon_union_4_2_238bdeaa_for_u2_ aVar15;\n  int iVar16;\n  Reloc_section *reloc_section;\n  Sized_symbol<64> *sym;\n  Output_section_data *pOVar17;\n  Output_data_reloc_generic *this_00;\n  Output_section *extraout_ECX;\n  Scan *pSVar18;\n  Scan *pSVar19;\n  Layout *this_01;\n  Layout *__args_0;\n  _func_int_varargs *p_Var20;\n  uint uVar21;\n  int unaff_EDI;\n  undefined8 uVar22;\n  Mips_relobj<64,_false> *in_stack_ffffff84;\n  iterator in_stack_ffffff88;\n  Layout *layout_00;\n  _func_int_varargs *local_68;\n  _func_int_varargs *local_64;\n  section_size_type view_size;\n  anon_union_4_2_238bdeaa_for_u2_ local_34;\n  \n  uVar22 = __x86_get_pc_thunk_di();\n  this_01 = (Layout *)((ulonglong)uVar22 >> 0x20);\n  if (data_shndx == 4) {\n    puVar8 = (undefined4 *)target->MIPS_GP_OFFSET;\n    p_Var20 = (_func_int_varargs *)*puVar8;\n    local_68 = (_func_int_varargs *)puVar8[1];\n    local_64 = (_func_int_varargs *)puVar8[2];\n    layout_00 = (Layout *)puVar8[4];\n  }\n  else {\n    layout_00 = (Layout *)0x0;\n    pp_Var5 = (object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object;\n    p_Var20 = *pp_Var5;\n    local_68 = pp_Var5[1];\n    local_64 = pp_Var5[2];\n  }\n  if ((Symbol_table *)\n      ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n      (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);\n  }\n  uVar21 = (uint)symtab >> 5;\n  __args_0 = (Layout *)(1 << ((byte)symtab & 0x1f));\n  if ((*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0) == 0) {\n    if ((Symbol_table *)\n        ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n        (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);\n    }\n    if ((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) != 0) goto LAB_0019859c;\n    if ((Symbol_table *)\n        ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n        (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n    }\n    if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (output_section == (Output_section *)0x0) {\n      return;\n    }\n  }\n  else {\nLAB_0019859c:\n    pSVar10 = *(Scan **)(this + 0x170);\n    pSVar18 = this + 0x16c;\n    if (*(Scan **)(this + 0x170) == (Scan *)0x0) {\nLAB_00198b60:\n      aVar15.relobj = (Sized_relobj<64,_false> *)operator_new(0x14);\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object._vptr_Object = (_func_int_varargs **)this;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_dataplus._M_p = (pointer)symtab;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\0';\n      if ((Symbol_table *)\n          ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n          (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);\n      }\n      if ((*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0) == 0) {\n        if ((Symbol_table *)\n            ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n            (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);\n        }\n        if ((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) == 0) {\n          if ((Symbol_table *)\n              ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n          }\n          if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI);\n          }\n        }\n      }\n      view_size = (section_size_type)symtab;\n      local_34.relobj = aVar15.relobj;\n      std::\n      _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n      ::\n      _M_emplace_unique<std::pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>\n                ((_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n                  *)in_stack_ffffff84,\n                 (pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*> *)\n                 __args_0);\n    }\n    else {\n      do {\n        while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }\n        pSVar10 = *(Scan **)(pSVar19 + 8);\n        pSVar18 = pSVar19;\n      } while (*(Scan **)(pSVar19 + 8) != (Scan *)0x0);\nLAB_001985d5:\n      if ((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))\n      goto LAB_00198b60;\n      aVar15 = (anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj;\n      __args_0 = (Layout *)in_stack_ffffff88._M_current;\n    }\n    in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::_M_erase();\n      *(undefined1 *)(view_size + 0x5d) = 0;\n    }\n  }\n  else {\n    if (output_section < (Output_section *)0x9b) {\n      if ((Output_section *)0x98 < output_section) goto LAB_0019878c;\n      if (output_section != (Output_section *)0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)&rela[0x12].p_ + 1);\n    }\n    else {\n      if (output_section != (Output_section *)0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)&rela[0x12].p_ + 1);\n    }\n    if (cVar3 == '\0') {\n      bVar11 = gold::Symbol::needs_plt_entry((Symbol *)rela);\n      bVar4 = *(byte *)((int)&rela[10].p_ + 2);\n      in_stack_ffffff88._M_current =\n           (Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4);\n      if (bVar11) {\n        if ((bVar4 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar4 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((rela[2].p_[1].r_addend & 0x100000000) == 0) goto LAB_00199108;\n      }\n      else {\n        if ((bVar4 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((rela[3].p_ != (Mips64_rela_data *)0x0) || (((uint)rela[10].p_ & 0x20000000) == 0))\n        goto LAB_001987a0;\nLAB_00199001:\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      if (extraout_ECX->out_shndx_ == 0) {\n        pOVar17 = (Output_section_data *)operator_new(0x54);\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 8;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar21 = 0;\n        do {\n          *(undefined4 *)((int)&pOVar17[1].super_Output_data._vptr_Output_data + uVar21) = 0;\n          uVar21 = uVar21 + 4;\n        } while (uVar21 < 0x1c);\n        pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)((int)&pOVar17[1].super_Output_data.offset_ + 4);\n        *(Output_section **)&pOVar17[1].addralign_ = extraout_ECX;\n        extraout_ECX->out_shndx_ = (uint)pOVar17;\n        *(undefined4 *)&pOVar17[1].super_Output_data.address_ = 1;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0x3f800000;\n        *(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0xffffffff;\n        *(undefined1 *)&pOVar17[1].output_section_ = 0;\n        gold::Layout::add_output_section_data\n                  (this_01,&UNK_002d8d0c + unaff_EDI,1,6,pOVar17,ORDER_PLT,false);\n      }\n      view_size = (section_size_type)rela;\n      if ((*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&\n         (rela[6].p_ == (Mips64_rela_data *)0xffffffff)) {\n        std::\n        _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::\n        _M_insert<(anonymous_namespace)::Mips_symbol<64>*_const&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<(anonymous_namespace)::Mips_symbol<64>*,_true>_>_>_>\n                  ();\n        *(undefined1 *)(view_size + 0x5d) = 1;\n      }\n    }\n  }\nLAB_001987a0:\n  if (((byte)this[0x1e8] & 1) == 0) {\n    if (output_section == (Output_section *)0x64) {\n      bVar4 = *(byte *)((int)&rela[10].p_ + 1);\n      in_stack_ffffff88._M_current =\n           (Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4);\n      if ((bVar4 >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (output_section < (Output_section *)0x65) {\n      if (output_section == (Output_section *)0xa) {\nLAB_00198a07:\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n      else if (output_section < (Output_section *)0xb) {\n        if (output_section == (Output_section *)0x4) goto LAB_00198a07;\n      }\n      else if (&output_section[-1].checkpoint_ < (Checkpoint_output_section **)0x2)\n      goto LAB_00198a07;\n    }\n    else if (output_section < (Output_section *)0x8e) {\n      if ((Output_section *)0x8a < output_section) goto LAB_00198a07;\n      if (output_section == (Output_section *)0x85) {\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n    }\n    else if (output_section == (Output_section *)0xad) {\n      *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n    }\n  }\n  bVar11 = gold::Symbol::needs_plt_entry((Symbol *)rela);\n  if (bVar11) {\n    if ((*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&\n       (rela[6].p_ == (Mips64_rela_data *)0xffffffff)) {\n      iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n      if (iVar14 == 0) {\n        Target_mips<64,_false>::got_section\n                  ((Target_mips<64,_false> *)in_stack_ffffff84,\n                   (Symbol_table *)in_stack_ffffff88._M_current,layout_00);\n        pOVar17 = (Output_section_data *)operator_new(0x30);\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)(unaff_EDI + 0x4439c7);\n        extraout_ECX->name_ = (char *)pOVar17;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 4;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)(&UNK_002b4e97 + unaff_EDI);\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f02),1,3,pOVar17,ORDER_DATA,false);\n        pcVar13 = extraout_ECX->name_;\n        if ((pcVar13[0x1c] & 2U) != 0) goto LAB_001997f3;\n        pcVar13[0xc] = '\x10';\n        pcVar13[0xd] = '\0';\n        pcVar13[0xe] = '\0';\n        pcVar13[0xf] = '\0';\n        pcVar13[0x10] = '\0';\n        pcVar13[0x11] = '\0';\n        pcVar13[0x12] = '\0';\n        pcVar13[0x13] = '\0';\n        pOVar17 = (Output_section_data *)operator_new(0x50);\n        pcVar13 = extraout_ECX->name_;\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 8;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        *(char **)&pOVar17[1].super_Output_data.address_ = pcVar13;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0;\n        pOVar17[1].output_section_ = extraout_ECX;\n                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */\n        this_00 = (Output_data_reloc_generic *)operator_new(0x40);\n        in_stack_ffffff88._M_current = (Mips_symbol<64> **)this_00;\n                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */\n        gold::Output_data_reloc_generic::Output_data_reloc_generic(this_00,0x40,false);\n        this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)0x0;\n        *(undefined4 *)\n         &this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n          address_ = 0;\n        *(undefined4 *)\n         ((int)&this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data.address_ + 4) = 0;\n        pOVar17[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)this_00;\n        (this_00->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)(&UNK_0044971f + unaff_EDI);\n                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f79),9,2,(Output_section_data *)this_00,\n                   ORDER_DYNAMIC_PLT_RELOCS,false);\n        *(Output_section_data **)&(extraout_ECX->super_Output_data).field_0x1c = pOVar17;\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b7b9f),1,6,pOVar17,ORDER_PLT,false);\n        iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n        gold::Output_section::set_info_section\n                  (*(Output_section **)(*(int *)(iVar14 + 0x2c) + 0x20),\n                   *(Output_section **)(iVar14 + 0x20));\n        iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n        if (rela[6].p_ != (Mips64_rela_data *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x1cf4,(char *)(unaff_EDI + 0x2e1fd7))\n          ;\n        }\n      }\n      puVar8 = *(undefined4 **)(iVar14 + 0x38);\n      rela[6].p_ = (Mips64_rela_data *)((((int)puVar8 - *(int *)(iVar14 + 0x34) >> 2) + 2) * 0x10);\n      if (puVar8 == *(undefined4 **)(iVar14 + 0x3c)) {\n        std::\n        vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n        ::_M_realloc_insert<(anonymous_namespace)::Mips_symbol<64>*_const&>\n                  ((vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                    *)in_stack_ffffff84,in_stack_ffffff88,(Mips_symbol<64> **)layout_00);\n      }\n      else {\n        *puVar8 = rela;\n        *(undefined4 **)(iVar14 + 0x38) = puVar8 + 1;\n      }\n      if ((output_section == (Output_section *)0x64 || output_section == (Output_section *)0x4) ||\n         (output_section == (Output_section *)0x85)) {\n        if (output_section == (Output_section *)0x4) {\n          *(undefined1 *)((int)&rela[0x17].p_ + 2) = 1;\n        }\n        else {\n          *(undefined1 *)((int)&rela[0x17].p_ + 3) = 1;\n        }\n      }\n      od = *(Output_data **)(iVar14 + 0x30);\n      iVar9 = (int)od->data_size_;\n      iVar16 = iVar9 + 8;\n      if ((od->field_0x1c & 2) != 0) {\nLAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(gold::General_options::parse_EL + unaff_EDI + 4),0x231,\n                   &UNK_002e21d7 + unaff_EDI);\n      }\n      *(int *)&od->data_size_ = iVar16;\n      *(int *)((int)&od->data_size_ + 4) = iVar16 >> 0x1f;\n      pbVar2 = (byte *)((int)&rela[10].p_ + 2);\n      *pbVar2 = *pbVar2 | 0x40;\n      in_stack_ffffff88._M_current = *(Mips_symbol<64> ***)(iVar14 + 0x2c);\n      gold::Output_reloc<9,_true,_64,_false>::Output_reloc\n                ((Output_reloc<9,_true,_64,_false> *)&view_size,(Symbol *)rela,0x7f,od,\n                 (longlong)iVar9,false,false,false);\n      gold::Output_data_reloc_base<9,_true,_64,_false>::add\n                ((Output_data_reloc_base<9,_true,_64,_false> *)in_stack_ffffff88._M_current,od,\n                 (Output_reloc<9,_true,_64,_false> *)&view_size);\n    }\n    if ((((uint)rela[10].p_ & 0x70000) == 0) && ((rela[2].p_[1].r_addend & 0x100000000) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (gold::Symbol::set_needs_dynsym_value((Symbol *)rela), *(char *)&rela[0x14].p_ != '\0')) {\n        bVar4 = *(byte *)((int)&rela[10].p_ + 1);\n        if ((bVar4 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)&rela[10].p_ + 1) = bVar4 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)&rela[10].p_ + 1) = (byte)((bVar4 >> 2 & 0x30 | 2) << 2) | bVar4 & 3;\n        }\n      }\n    }\n  }\n  iVar14 = 0;\n  if ((undefined1 *)((int)&output_section[-1].reloc_section_ + 3U) < (undefined1 *)0xf9) {\n    iVar14 = (int)*(char *)((int)&output_section[0x32c6].addralign_ + unaff_EDI + 2);\n  }\n  bVar11 = gold::Symbol::needs_dynamic_reloc((Symbol *)rela,iVar14);\n  if (bVar11) {\n    bVar11 = gold::Symbol::may_need_copy_reloc((Symbol *)rela);\n    if (bVar11) {\n      reloc_section =\n           rel_dyn_section((Target_mips<64,_false> *)in_stack_ffffff84,\n                           (Layout *)in_stack_ffffff88._M_current);\n      sym = gold::Symbol_table::get_sized_symbol<64>\n                      ((Symbol_table *)in_stack_ffffff84,(Symbol *)in_stack_ffffff88._M_current);\n      gold::Copy_relocs<9,_64,_false>::copy_reloc\n                ((Copy_relocs<9,_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4);\n  pcVar13 = (char *)gettext(unaff_EDI + 0x2d9187);\n  gold::gold_error(pcVar13,uVar7,output_section,pMVar6);\n  return;\n}\n\n" comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment (declaration "void __thiscall\nanon_unknown.dwarf_d7d43e::Target_mips<64,_false>::Scan::global\n          (Scan *this,Symbol_table *symtab,Layout *layout,Target_mips<64,_false> *target,\n          Sized_relobj_file<64,_false> *object,uint data_shndx,Output_section *output_section,\n          Relatype *rela,Reltype *rel,uint rel_type,uint r_type,Symbol *gsym)\n\n{\n  Scan *pSVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) identifier (ERROR ".dwarf_d7d43e::Target_mips<64" . identifier : : identifier < number_literal) , (ERROR "_false>::Scan::global\n          (Scan *this,Symbol_table *symtab,Layout *layout,Target_mips<64,_false> *target,\n          Sized_relobj_file<64,_false> *object,uint data_shndx,Output_section *output_section,\n          Relatype *rela,Reltype *rel,uint rel_type,uint r_type,Symbol *gsym)\n\n{\n  Scan" identifier > : : identifier : : (function_declarator "global\n          (Scan *this,Symbol_table *symtab,Layout *layout,Target_mips<64,_false> *target,\n          Sized_relobj_file<64,_false> *object,uint data_shndx,Output_section *output_section,\n          Relatype *rela,Reltype *rel,uint rel_type,uint r_type,Symbol *gsym)" identifier (parameter_list "(Scan *this,Symbol_table *symtab,Layout *layout,Target_mips<64,_false> *target,\n          Sized_relobj_file<64,_false> *object,uint data_shndx,Output_section *output_section,\n          Relatype *rela,Reltype *rel,uint rel_type,uint r_type,Symbol *gsym)" ( (parameter_declaration "Scan *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "Target_mips" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *target" type_identifier (ERROR ">" >) (pointer_declarator "*target" * identifier)) , (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *object" type_identifier (ERROR ">" >) (pointer_declarator "*object" * identifier)) , (parameter_declaration "uint data_shndx" type_identifier identifier) , (parameter_declaration "Output_section *output_section" type_identifier (pointer_declarator "*output_section" * identifier)) , (parameter_declaration "Relatype *rela" type_identifier (pointer_declarator "*rela" * identifier)) , (parameter_declaration "Reltype *rel" type_identifier (pointer_declarator "*rel" * identifier)) , (parameter_declaration "uint rel_type" type_identifier identifier) , (parameter_declaration "uint r_type" type_identifier identifier) , (parameter_declaration "Symbol *gsym" type_identifier (pointer_declarator "*gsym" * identifier)) ))) { identifier) (pointer_declarator "*pSVar1" * identifier) ;) (declaration "byte *pbVar2;" type_identifier (pointer_declarator "*pbVar2" * identifier) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "_func_int_varargs **pp_Var5;" type_identifier (pointer_declarator "**pp_Var5" * (pointer_declarator "*pp_Var5" * identifier)) ;) (declaration "Mips64_rela_data *pMVar6;" type_identifier (pointer_declarator "*pMVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "Output_data *od;" type_identifier (pointer_declarator "*od" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "Scan *pSVar10;" type_identifier (pointer_declarator "*pSVar10" * identifier) ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "anon_union_4_2_238bdeaa_for_u2_ aVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "Reloc_section *reloc_section;" type_identifier (pointer_declarator "*reloc_section" * identifier) ;) (expression_statement "Sized_symbol<64> *sym;" (update_expression "Sized_symbol<64> *sym" (binary_expression "Sized_symbol<64> *sym" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "*sym" * identifier)) --) ;) (declaration "Output_section_data *pOVar17;" type_identifier (pointer_declarator "*pOVar17" * identifier) ;) (declaration "Output_data_reloc_generic *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "Output_section *extraout_ECX;" type_identifier (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "Scan *pSVar18;" type_identifier (pointer_declarator "*pSVar18" * identifier) ;) (declaration "Scan *pSVar19;" type_identifier (pointer_declarator "*pSVar19" * identifier) ;) (declaration "Layout *this_01;" type_identifier (pointer_declarator "*this_01" * identifier) ;) (declaration "Layout *__args_0;" type_identifier (pointer_declarator "*__args_0" * identifier) ;) (declaration "_func_int_varargs *p_Var20;" type_identifier (pointer_declarator "*p_Var20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (expression_statement "Mips_relobj<64,_false> *in_stack_ffffff84;" (update_expression "Mips_relobj<64,_false> *in_stack_ffffff84" (binary_expression "Mips_relobj<64,_false> *in_stack_ffffff84" (binary_expression "Mips_relobj<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*in_stack_ffffff84" * identifier)) --) ;) (declaration "iterator in_stack_ffffff88;" type_identifier identifier ;) (declaration "Layout *layout_00;" type_identifier (pointer_declarator "*layout_00" * identifier) ;) (declaration "_func_int_varargs *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "_func_int_varargs *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "section_size_type view_size;" type_identifier identifier ;) (declaration "anon_union_4_2_238bdeaa_for_u2_ local_34;" type_identifier identifier ;) (expression_statement "uVar22 = __x86_get_pc_thunk_di();" (assignment_expression "uVar22 = __x86_get_pc_thunk_di()" identifier = (call_expression "__x86_get_pc_thunk_di()" identifier (argument_list "()" ( )))) ;) (expression_statement "this_01 = (Layout *)((ulonglong)uVar22 >> 0x20);" (assignment_expression "this_01 = (Layout *)((ulonglong)uVar22 >> 0x20)" identifier = (cast_expression "(Layout *)((ulonglong)uVar22 >> 0x20)" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar22 >> 0x20)" ( (binary_expression "(ulonglong)uVar22 >> 0x20" (cast_expression "(ulonglong)uVar22" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (data_shndx == 4) {\n    puVar8 = (undefined4 *)target->MIPS_GP_OFFSET;\n    p_Var20 = (_func_int_varargs *)*puVar8;\n    local_68 = (_func_int_varargs *)puVar8[1];\n    local_64 = (_func_int_varargs *)puVar8[2];\n    layout_00 = (Layout *)puVar8[4];\n  }\n  else {\n    layout_00 = (Layout *)0x0;\n    pp_Var5 = (object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object;\n    p_Var20 = *pp_Var5;\n    local_68 = pp_Var5[1];\n    local_64 = pp_Var5[2];\n  }" if (parenthesized_expression "(data_shndx == 4)" ( (binary_expression "data_shndx == 4" identifier == number_literal) )) (compound_statement "{\n    puVar8 = (undefined4 *)target->MIPS_GP_OFFSET;\n    p_Var20 = (_func_int_varargs *)*puVar8;\n    local_68 = (_func_int_varargs *)puVar8[1];\n    local_64 = (_func_int_varargs *)puVar8[2];\n    layout_00 = (Layout *)puVar8[4];\n  }" { (expression_statement "puVar8 = (undefined4 *)target->MIPS_GP_OFFSET;" (assignment_expression "puVar8 = (undefined4 *)target->MIPS_GP_OFFSET" identifier = (cast_expression "(undefined4 *)target->MIPS_GP_OFFSET" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "target->MIPS_GP_OFFSET" identifier -> field_identifier))) ;) (expression_statement "p_Var20 = (_func_int_varargs *)*puVar8;" (assignment_expression "p_Var20 = (_func_int_varargs *)*puVar8" identifier = (cast_expression "(_func_int_varargs *)*puVar8" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "local_68 = (_func_int_varargs *)puVar8[1];" (assignment_expression "local_68 = (_func_int_varargs *)puVar8[1]" identifier = (cast_expression "(_func_int_varargs *)puVar8[1]" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[1]" identifier [ number_literal ]))) ;) (expression_statement "local_64 = (_func_int_varargs *)puVar8[2];" (assignment_expression "local_64 = (_func_int_varargs *)puVar8[2]" identifier = (cast_expression "(_func_int_varargs *)puVar8[2]" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[2]" identifier [ number_literal ]))) ;) (expression_statement "layout_00 = (Layout *)puVar8[4];" (assignment_expression "layout_00 = (Layout *)puVar8[4]" identifier = (cast_expression "(Layout *)puVar8[4]" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[4]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n    layout_00 = (Layout *)0x0;\n    pp_Var5 = (object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object;\n    p_Var20 = *pp_Var5;\n    local_68 = pp_Var5[1];\n    local_64 = pp_Var5[2];\n  }" else (compound_statement "{\n    layout_00 = (Layout *)0x0;\n    pp_Var5 = (object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object;\n    p_Var20 = *pp_Var5;\n    local_68 = pp_Var5[1];\n    local_64 = pp_Var5[2];\n  }" { (expression_statement "layout_00 = (Layout *)0x0;" (assignment_expression "layout_00 = (Layout *)0x0" identifier = (cast_expression "(Layout *)0x0" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pp_Var5 = (object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object;" (assignment_expression "pp_Var5 = (object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object" identifier = (field_expression "(object->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(object->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(object->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(object->super_Sized_relobj<64,_false>)" ( (comma_expression "object->super_Sized_relobj<64,_false" (binary_expression "object->super_Sized_relobj<64" (field_expression "object->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var20 = *pp_Var5;" (assignment_expression "p_Var20 = *pp_Var5" identifier = (pointer_expression "*pp_Var5" * identifier)) ;) (expression_statement "local_68 = pp_Var5[1];" (assignment_expression "local_68 = pp_Var5[1]" identifier = (subscript_expression "pp_Var5[1]" identifier [ number_literal ])) ;) (expression_statement "local_64 = pp_Var5[2];" (assignment_expression "local_64 = pp_Var5[2]" identifier = (subscript_expression "pp_Var5[2]" identifier [ number_literal ])) ;) }))) (if_statement "if ((Symbol_table *)\n      ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n      (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);\n  }" if (parenthesized_expression "((Symbol_table *)\n      ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n      (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8) <= symtab)" ( (binary_expression "(Symbol_table *)\n      ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n      (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8) <= symtab" (cast_expression "(Symbol_table *)\n      ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n      (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n      (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8)" ( (binary_expression "(*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n      (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8" (parenthesized_expression "(*(int *)(this + 0x1fc) - *(int *)(this + 500))" ( (binary_expression "*(int *)(this + 0x1fc) - *(int *)(this + 500)" (pointer_expression "*(int *)(this + 0x1fc)" * (cast_expression "(int *)(this + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1fc)" ( (binary_expression "this + 0x1fc" identifier + number_literal) )))) - (pointer_expression "*(int *)(this + 500)" * (cast_expression "(int *)(this + 500)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 500)" ( (binary_expression "this + 500" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8" (parenthesized_expression "(*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0))" ( (binary_expression "*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)" (pointer_expression "*(int *)(this + 0x1f8)" * (cast_expression "(int *)(this + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1f8)" ( (binary_expression "this + 0x1f8" identifier + number_literal) )))) - (pointer_expression "*(int *)(this + 0x1f0)" * (cast_expression "(int *)(this + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1f0)" ( (binary_expression "this + 0x1f0" identifier + number_literal) ))))) )) * number_literal)) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);\n  }" { comment (labeled_statement "gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);" (call_expression "do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI)" identifier (argument_list "(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI)" ( (binary_expression "&UNK_002d8ce1 + unaff_EDI" (pointer_expression "&UNK_002d8ce1" & identifier) + identifier) , number_literal , (binary_expression "&UNK_002e244b + unaff_EDI" (pointer_expression "&UNK_002e244b" & identifier) + identifier) ))) ;)) })) (expression_statement "uVar21 = (uint)symtab >> 5;" (assignment_expression "uVar21 = (uint)symtab >> 5" identifier = (binary_expression "(uint)symtab >> 5" (cast_expression "(uint)symtab" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "__args_0 = (Layout *)(1 << ((byte)symtab & 0x1f));" (assignment_expression "__args_0 = (Layout *)(1 << ((byte)symtab & 0x1f))" identifier = (cast_expression "(Layout *)(1 << ((byte)symtab & 0x1f))" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(1 << ((byte)symtab & 0x1f))" ( (binary_expression "1 << ((byte)symtab & 0x1f)" number_literal << (parenthesized_expression "((byte)symtab & 0x1f)" ( (binary_expression "(byte)symtab & 0x1f" (cast_expression "(byte)symtab" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) )))) ;) (if_statement "if ((*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0) == 0) {\n    if ((Symbol_table *)\n        ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n        (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);\n    }\n    if ((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) != 0) goto LAB_0019859c;\n    if ((Symbol_table *)\n        ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n        (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n    }\n    if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (output_section == (Output_section *)0x0) {\n      return;\n    }\n  }\n  else {\nLAB_0019859c:\n    pSVar10 = *(Scan **)(this + 0x170);\n    pSVar18 = this + 0x16c;\n    if (*(Scan **)(this + 0x170) == (Scan *)0x0) {\nLAB_00198b60:\n      aVar15.relobj = (Sized_relobj<64,_false> *)operator_new(0x14);\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object._vptr_Object = (_func_int_varargs **)this;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_dataplus._M_p = (pointer)symtab;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\0';\n      if ((Symbol_table *)\n          ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n          (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);\n      }\n      if ((*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0) == 0) {\n        if ((Symbol_table *)\n            ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n            (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);\n        }\n        if ((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) == 0) {\n          if ((Symbol_table *)\n              ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n          }\n          if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI);\n          }\n        }\n      }\n      view_size = (section_size_type)symtab;\n      local_34.relobj = aVar15.relobj;\n      std::\n      _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n      ::\n      _M_emplace_unique<std::pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>\n                ((_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n                  *)in_stack_ffffff84,\n                 (pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*> *)\n                 __args_0);\n    }\n    else {\n      do {\n        while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }\n        pSVar10 = *(Scan **)(pSVar19 + 8);\n        pSVar18 = pSVar19;\n      } while (*(Scan **)(pSVar19 + 8) != (Scan *)0x0);\nLAB_001985d5:\n      if ((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))\n      goto LAB_00198b60;\n      aVar15 = (anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj;\n      __args_0 = (Layout *)in_stack_ffffff88._M_current;\n    }\n    in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::_M_erase();\n      *(undefined1 *)(view_size + 0x5d) = 0;\n    }\n  }" if (parenthesized_expression "((*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0) == 0)" ( (binary_expression "(*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0) == 0" (parenthesized_expression "(*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0)" ( (binary_expression "*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0" (pointer_expression "*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4)" * (cast_expression "(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(this + 0x1f0) + uVar21 * 4)" ( (binary_expression "*(int *)(this + 0x1f0) + uVar21 * 4" (pointer_expression "*(int *)(this + 0x1f0)" * (cast_expression "(int *)(this + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1f0)" ( (binary_expression "this + 0x1f0" identifier + number_literal) )))) + (binary_expression "uVar21 * 4" identifier * number_literal)) )))) & (cast_expression "(uint)__args_0" ( (type_descriptor "uint" type_identifier) ) identifier)) )) == number_literal) )) (compound_statement "{\n    if ((Symbol_table *)\n        ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n        (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);\n    }\n    if ((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) != 0) goto LAB_0019859c;\n    if ((Symbol_table *)\n        ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n        (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n    }\n    if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (output_section == (Output_section *)0x0) {\n      return;\n    }\n  }" { (if_statement "if ((Symbol_table *)\n        ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n        (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);\n    }" if (parenthesized_expression "((Symbol_table *)\n        ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n        (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab)" ( (binary_expression "(Symbol_table *)\n        ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n        (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab" (cast_expression "(Symbol_table *)\n        ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n        (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n        (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8)" ( (binary_expression "(*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n        (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8" (parenthesized_expression "(*(int *)(this + 0x210) - *(int *)(this + 0x208))" ( (binary_expression "*(int *)(this + 0x210) - *(int *)(this + 0x208)" (pointer_expression "*(int *)(this + 0x210)" * (cast_expression "(int *)(this + 0x210)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x210)" ( (binary_expression "this + 0x210" identifier + number_literal) )))) - (pointer_expression "*(int *)(this + 0x208)" * (cast_expression "(int *)(this + 0x208)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x208)" ( (binary_expression "this + 0x208" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8" (parenthesized_expression "(*(int *)(this + 0x20c) - *(int *)(this + 0x204))" ( (binary_expression "*(int *)(this + 0x20c) - *(int *)(this + 0x204)" (pointer_expression "*(int *)(this + 0x20c)" * (cast_expression "(int *)(this + 0x20c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x20c)" ( (binary_expression "this + 0x20c" identifier + number_literal) )))) - (pointer_expression "*(int *)(this + 0x204)" * (cast_expression "(int *)(this + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x204)" ( (binary_expression "this + 0x204" identifier + number_literal) ))))) )) * number_literal)) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);\n    }" { comment (labeled_statement "gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);" (call_expression "do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI)" identifier (argument_list "(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI)" ( (binary_expression "&UNK_002d8ce1 + unaff_EDI" (pointer_expression "&UNK_002d8ce1" & identifier) + identifier) , number_literal , (binary_expression "&UNK_002e242f + unaff_EDI" (pointer_expression "&UNK_002e242f" & identifier) + identifier) ))) ;)) })) (if_statement "if ((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) != 0) goto LAB_0019859c;" if (parenthesized_expression "((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) != 0)" ( (binary_expression "(*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) != 0" (parenthesized_expression "(*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0)" ( (binary_expression "*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0" (pointer_expression "*(uint *)(*(int *)(this + 0x204) + uVar21 * 4)" * (cast_expression "(uint *)(*(int *)(this + 0x204) + uVar21 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(this + 0x204) + uVar21 * 4)" ( (binary_expression "*(int *)(this + 0x204) + uVar21 * 4" (pointer_expression "*(int *)(this + 0x204)" * (cast_expression "(int *)(this + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x204)" ( (binary_expression "this + 0x204" identifier + number_literal) )))) + (binary_expression "uVar21 * 4" identifier * number_literal)) )))) & (cast_expression "(uint)__args_0" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != number_literal) )) (goto_statement "goto LAB_0019859c;" goto statement_identifier ;)) (if_statement "if ((Symbol_table *)\n        ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n        (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n    }" if (parenthesized_expression "((Symbol_table *)\n        ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n        (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab)" ( (binary_expression "(Symbol_table *)\n        ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n        (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab" (cast_expression "(Symbol_table *)\n        ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n        (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n        (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8)" ( (binary_expression "(*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n        (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8" (parenthesized_expression "(*(int *)(this + 0x224) - *(int *)(this + 0x21c))" ( (binary_expression "*(int *)(this + 0x224) - *(int *)(this + 0x21c)" (pointer_expression "*(int *)(this + 0x224)" * (cast_expression "(int *)(this + 0x224)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x224)" ( (binary_expression "this + 0x224" identifier + number_literal) )))) - (pointer_expression "*(int *)(this + 0x21c)" * (cast_expression "(int *)(this + 0x21c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x21c)" ( (binary_expression "this + 0x21c" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8" (parenthesized_expression "(*(int *)(this + 0x220) - *(int *)(this + 0x218))" ( (binary_expression "*(int *)(this + 0x220) - *(int *)(this + 0x218)" (pointer_expression "*(int *)(this + 0x220)" * (cast_expression "(int *)(this + 0x220)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x220)" ( (binary_expression "this + 0x220" identifier + number_literal) )))) - (pointer_expression "*(int *)(this + 0x218)" * (cast_expression "(int *)(this + 0x218)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x218)" ( (binary_expression "this + 0x218" identifier + number_literal) ))))) )) * number_literal)) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n    }" { comment (labeled_statement "gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);" (call_expression "do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI)" identifier (argument_list "(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI)" ( (binary_expression "&UNK_002d8ce1 + unaff_EDI" (pointer_expression "&UNK_002d8ce1" & identifier) + identifier) , number_literal , (binary_expression "&UNK_002e240f + unaff_EDI" (pointer_expression "&UNK_002e240f" & identifier) + identifier) ))) ;)) })) (if_statement "if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) != 0) goto LAB_0019859c;" if (parenthesized_expression "((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) != 0)" ( (binary_expression "(*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) != 0" (parenthesized_expression "(*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0)" ( (binary_expression "*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0" (pointer_expression "*(uint *)(*(int *)(this + 0x218) + uVar21 * 4)" * (cast_expression "(uint *)(*(int *)(this + 0x218) + uVar21 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(this + 0x218) + uVar21 * 4)" ( (binary_expression "*(int *)(this + 0x218) + uVar21 * 4" (pointer_expression "*(int *)(this + 0x218)" * (cast_expression "(int *)(this + 0x218)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x218)" ( (binary_expression "this + 0x218" identifier + number_literal) )))) + (binary_expression "uVar21 * 4" identifier * number_literal)) )))) & (cast_expression "(uint)__args_0" ( (type_descriptor "uint" type_identifier) ) identifier)) )) != number_literal) )) (goto_statement "goto LAB_0019859c;" goto statement_identifier ;)) (labeled_statement "LAB_001986ca:\n    if (output_section == (Output_section *)0x0) {\n      return;\n    }" statement_identifier : (if_statement "if (output_section == (Output_section *)0x0) {\n      return;\n    }" if (parenthesized_expression "(output_section == (Output_section *)0x0)" ( (binary_expression "output_section == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) }))) }) (else_clause "else {\nLAB_0019859c:\n    pSVar10 = *(Scan **)(this + 0x170);\n    pSVar18 = this + 0x16c;\n    if (*(Scan **)(this + 0x170) == (Scan *)0x0) {\nLAB_00198b60:\n      aVar15.relobj = (Sized_relobj<64,_false> *)operator_new(0x14);\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object._vptr_Object = (_func_int_varargs **)this;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_dataplus._M_p = (pointer)symtab;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\0';\n      if ((Symbol_table *)\n          ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n          (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);\n      }\n      if ((*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0) == 0) {\n        if ((Symbol_table *)\n            ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n            (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);\n        }\n        if ((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) == 0) {\n          if ((Symbol_table *)\n              ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n          }\n          if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI);\n          }\n        }\n      }\n      view_size = (section_size_type)symtab;\n      local_34.relobj = aVar15.relobj;\n      std::\n      _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n      ::\n      _M_emplace_unique<std::pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>\n                ((_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n                  *)in_stack_ffffff84,\n                 (pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*> *)\n                 __args_0);\n    }\n    else {\n      do {\n        while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }\n        pSVar10 = *(Scan **)(pSVar19 + 8);\n        pSVar18 = pSVar19;\n      } while (*(Scan **)(pSVar19 + 8) != (Scan *)0x0);\nLAB_001985d5:\n      if ((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))\n      goto LAB_00198b60;\n      aVar15 = (anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj;\n      __args_0 = (Layout *)in_stack_ffffff88._M_current;\n    }\n    in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::_M_erase();\n      *(undefined1 *)(view_size + 0x5d) = 0;\n    }\n  }" else (compound_statement "{\nLAB_0019859c:\n    pSVar10 = *(Scan **)(this + 0x170);\n    pSVar18 = this + 0x16c;\n    if (*(Scan **)(this + 0x170) == (Scan *)0x0) {\nLAB_00198b60:\n      aVar15.relobj = (Sized_relobj<64,_false> *)operator_new(0x14);\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object._vptr_Object = (_func_int_varargs **)this;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_dataplus._M_p = (pointer)symtab;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\0';\n      if ((Symbol_table *)\n          ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n          (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);\n      }\n      if ((*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0) == 0) {\n        if ((Symbol_table *)\n            ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n            (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);\n        }\n        if ((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) == 0) {\n          if ((Symbol_table *)\n              ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n          }\n          if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI);\n          }\n        }\n      }\n      view_size = (section_size_type)symtab;\n      local_34.relobj = aVar15.relobj;\n      std::\n      _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n      ::\n      _M_emplace_unique<std::pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>\n                ((_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n                  *)in_stack_ffffff84,\n                 (pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*> *)\n                 __args_0);\n    }\n    else {\n      do {\n        while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }\n        pSVar10 = *(Scan **)(pSVar19 + 8);\n        pSVar18 = pSVar19;\n      } while (*(Scan **)(pSVar19 + 8) != (Scan *)0x0);\nLAB_001985d5:\n      if ((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))\n      goto LAB_00198b60;\n      aVar15 = (anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj;\n      __args_0 = (Layout *)in_stack_ffffff88._M_current;\n    }\n    in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::_M_erase();\n      *(undefined1 *)(view_size + 0x5d) = 0;\n    }\n  }" { (labeled_statement "LAB_0019859c:\n    pSVar10 = *(Scan **)(this + 0x170);" statement_identifier : (expression_statement "pSVar10 = *(Scan **)(this + 0x170);" (assignment_expression "pSVar10 = *(Scan **)(this + 0x170)" identifier = (pointer_expression "*(Scan **)(this + 0x170)" * (cast_expression "(Scan **)(this + 0x170)" ( (type_descriptor "Scan **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x170)" ( (binary_expression "this + 0x170" identifier + number_literal) ))))) ;)) (expression_statement "pSVar18 = this + 0x16c;" (assignment_expression "pSVar18 = this + 0x16c" identifier = (binary_expression "this + 0x16c" identifier + number_literal)) ;) (if_statement "if (*(Scan **)(this + 0x170) == (Scan *)0x0) {\nLAB_00198b60:\n      aVar15.relobj = (Sized_relobj<64,_false> *)operator_new(0x14);\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object._vptr_Object = (_func_int_varargs **)this;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_dataplus._M_p = (pointer)symtab;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\0';\n      if ((Symbol_table *)\n          ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n          (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);\n      }\n      if ((*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0) == 0) {\n        if ((Symbol_table *)\n            ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n            (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);\n        }\n        if ((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) == 0) {\n          if ((Symbol_table *)\n              ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n          }\n          if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI);\n          }\n        }\n      }\n      view_size = (section_size_type)symtab;\n      local_34.relobj = aVar15.relobj;\n      std::\n      _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n      ::\n      _M_emplace_unique<std::pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>\n                ((_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n                  *)in_stack_ffffff84,\n                 (pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*> *)\n                 __args_0);\n    }\n    else {\n      do {\n        while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }\n        pSVar10 = *(Scan **)(pSVar19 + 8);\n        pSVar18 = pSVar19;\n      } while (*(Scan **)(pSVar19 + 8) != (Scan *)0x0);\nLAB_001985d5:\n      if ((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))\n      goto LAB_00198b60;\n      aVar15 = (anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj;\n      __args_0 = (Layout *)in_stack_ffffff88._M_current;\n    }\n    in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::_M_erase();\n      *(undefined1 *)(view_size + 0x5d) = 0;\n    }" if (parenthesized_expression "(*(Scan **)(this + 0x170) == (Scan *)0x0)" ( (binary_expression "*(Scan **)(this + 0x170) == (Scan *)0x0" (pointer_expression "*(Scan **)(this + 0x170)" * (cast_expression "(Scan **)(this + 0x170)" ( (type_descriptor "Scan **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x170)" ( (binary_expression "this + 0x170" identifier + number_literal) )))) == (cast_expression "(Scan *)0x0" ( (type_descriptor "Scan *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00198b60:\n      aVar15.relobj = (Sized_relobj<64,_false> *)operator_new(0x14);\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object._vptr_Object = (_func_int_varargs **)this;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_dataplus._M_p = (pointer)symtab;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\0';\n      if ((Symbol_table *)\n          ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n          (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);\n      }\n      if ((*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0) == 0) {\n        if ((Symbol_table *)\n            ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n            (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);\n        }\n        if ((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) == 0) {\n          if ((Symbol_table *)\n              ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n          }\n          if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI);\n          }\n        }\n      }\n      view_size = (section_size_type)symtab;\n      local_34.relobj = aVar15.relobj;\n      std::\n      _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n      ::\n      _M_emplace_unique<std::pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>\n                ((_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n                  *)in_stack_ffffff84,\n                 (pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*> *)\n                 __args_0);\n    }\n    else {\n      do {\n        while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }\n        pSVar10 = *(Scan **)(pSVar19 + 8);\n        pSVar18 = pSVar19;\n      } while (*(Scan **)(pSVar19 + 8) != (Scan *)0x0);\nLAB_001985d5:\n      if ((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))\n      goto LAB_00198b60;\n      aVar15 = (anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj;\n      __args_0 = (Layout *)in_stack_ffffff88._M_current;\n    }\n    in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::_M_erase();\n      *(undefined1 *)(view_size + 0x5d) = 0;\n    }" { (labeled_statement "LAB_00198b60:\n      aVar15.relobj = (Sized_relobj<64,_false> *)operator_new(0x14);" statement_identifier : (expression_statement "aVar15.relobj = (Sized_relobj<64,_false> *)operator_new(0x14);" (assignment_expression "aVar15.relobj = (Sized_relobj<64,_false> *)operator_new(0x14)" (field_expression "aVar15.relobj" identifier . field_identifier) = (parenthesized_expression "(Sized_relobj<64,_false> *)operator_new(0x14)" ( (comma_expression "Sized_relobj<64,_false> *)operator_new(0x14)" (binary_expression "Sized_relobj<64" identifier < number_literal) , (binary_expression "_false> *)operator_new(0x14)" identifier > (pointer_expression "*)operator_new(0x14)" * (ERROR ")" )) (call_expression "operator_new(0x14)" identifier (argument_list "(0x14)" ( number_literal )))))) ))) ;)) (expression_statement "((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;" (assignment_expression "((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_" (field_expression "((aVar15.relobj)->super_Relobj).super_Object" (parenthesized_expression "((aVar15.relobj)->super_Relobj)" ( (field_expression "(aVar15.relobj)->super_Relobj" (parenthesized_expression "(aVar15.relobj)" ( (field_expression "aVar15.relobj" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "((aVar15.relobj)->super_Relobj).super_Object._vptr_Object = (_func_int_varargs **)this;" (assignment_expression "((aVar15.relobj)->super_Relobj).super_Object._vptr_Object = (_func_int_varargs **)this" (field_expression "((aVar15.relobj)->super_Relobj).super_Object._vptr_Object" (field_expression "((aVar15.relobj)->super_Relobj).super_Object" (parenthesized_expression "((aVar15.relobj)->super_Relobj)" ( (field_expression "(aVar15.relobj)->super_Relobj" (parenthesized_expression "(aVar15.relobj)" ( (field_expression "aVar15.relobj" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)this" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity = 0;" (assignment_expression "((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity = 0" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_.field_2" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_" (field_expression "((aVar15.relobj)->super_Relobj).super_Object" (parenthesized_expression "((aVar15.relobj)->super_Relobj)" ( (field_expression "(aVar15.relobj)->super_Relobj" (parenthesized_expression "(aVar15.relobj)" ( (field_expression "aVar15.relobj" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "((aVar15.relobj)->super_Relobj).super_Object.name_._M_dataplus._M_p = (pointer)symtab;" (assignment_expression "((aVar15.relobj)->super_Relobj).super_Object.name_._M_dataplus._M_p = (pointer)symtab" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_._M_dataplus._M_p" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_._M_dataplus" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_" (field_expression "((aVar15.relobj)->super_Relobj).super_Object" (parenthesized_expression "((aVar15.relobj)->super_Relobj)" ( (field_expression "(aVar15.relobj)->super_Relobj" (parenthesized_expression "(aVar15.relobj)" ( (field_expression "aVar15.relobj" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)symtab" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\0';" (assignment_expression "((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\0'" (subscript_expression "((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4]" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_.field_2" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_" (field_expression "((aVar15.relobj)->super_Relobj).super_Object" (parenthesized_expression "((aVar15.relobj)->super_Relobj)" ( (field_expression "(aVar15.relobj)->super_Relobj" (parenthesized_expression "(aVar15.relobj)" ( (field_expression "aVar15.relobj" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if ((Symbol_table *)\n          ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n          (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);\n      }" if (parenthesized_expression "((Symbol_table *)\n          ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n          (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8) <= symtab)" ( (binary_expression "(Symbol_table *)\n          ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n          (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8) <= symtab" (cast_expression "(Symbol_table *)\n          ((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n          (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n          (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8)" ( (binary_expression "(*(int *)(this + 0x1fc) - *(int *)(this + 500)) +\n          (*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8" (parenthesized_expression "(*(int *)(this + 0x1fc) - *(int *)(this + 500))" ( (binary_expression "*(int *)(this + 0x1fc) - *(int *)(this + 500)" (pointer_expression "*(int *)(this + 0x1fc)" * (cast_expression "(int *)(this + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1fc)" ( (binary_expression "this + 0x1fc" identifier + number_literal) )))) - (pointer_expression "*(int *)(this + 500)" * (cast_expression "(int *)(this + 500)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 500)" ( (binary_expression "this + 500" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)) * 8" (parenthesized_expression "(*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0))" ( (binary_expression "*(int *)(this + 0x1f8) - *(int *)(this + 0x1f0)" (pointer_expression "*(int *)(this + 0x1f8)" * (cast_expression "(int *)(this + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1f8)" ( (binary_expression "this + 0x1f8" identifier + number_literal) )))) - (pointer_expression "*(int *)(this + 0x1f0)" * (cast_expression "(int *)(this + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1f0)" ( (binary_expression "this + 0x1f0" identifier + number_literal) ))))) )) * number_literal)) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);\n      }" { comment (labeled_statement "gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI);" (call_expression "do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI)" identifier (argument_list "(&UNK_002d8ce1 + unaff_EDI,0x711,&UNK_002e244b + unaff_EDI)" ( (binary_expression "&UNK_002d8ce1 + unaff_EDI" (pointer_expression "&UNK_002d8ce1" & identifier) + identifier) , number_literal , (binary_expression "&UNK_002e244b + unaff_EDI" (pointer_expression "&UNK_002e244b" & identifier) + identifier) ))) ;)) })) (if_statement "if ((*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0) == 0) {\n        if ((Symbol_table *)\n            ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n            (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);\n        }\n        if ((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) == 0) {\n          if ((Symbol_table *)\n              ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n          }\n          if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI);\n          }\n        }\n      }" if (parenthesized_expression "((*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0) == 0)" ( (binary_expression "(*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0) == 0" (parenthesized_expression "(*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0)" ( (binary_expression "*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4) & (uint)__args_0" (pointer_expression "*(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4)" * (cast_expression "(uint *)(*(int *)(this + 0x1f0) + uVar21 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(this + 0x1f0) + uVar21 * 4)" ( (binary_expression "*(int *)(this + 0x1f0) + uVar21 * 4" (pointer_expression "*(int *)(this + 0x1f0)" * (cast_expression "(int *)(this + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x1f0)" ( (binary_expression "this + 0x1f0" identifier + number_literal) )))) + (binary_expression "uVar21 * 4" identifier * number_literal)) )))) & (cast_expression "(uint)__args_0" ( (type_descriptor "uint" type_identifier) ) identifier)) )) == number_literal) )) (compound_statement "{\n        if ((Symbol_table *)\n            ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n            (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);\n        }\n        if ((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) == 0) {\n          if ((Symbol_table *)\n              ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n          }\n          if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI);\n          }\n        }\n      }" { (if_statement "if ((Symbol_table *)\n            ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n            (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);\n        }" if (parenthesized_expression "((Symbol_table *)\n            ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n            (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab)" ( (binary_expression "(Symbol_table *)\n            ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n            (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8) <= symtab" (cast_expression "(Symbol_table *)\n            ((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n            (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n            (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8)" ( (binary_expression "(*(int *)(this + 0x210) - *(int *)(this + 0x208)) +\n            (*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8" (parenthesized_expression "(*(int *)(this + 0x210) - *(int *)(this + 0x208))" ( (binary_expression "*(int *)(this + 0x210) - *(int *)(this + 0x208)" (pointer_expression "*(int *)(this + 0x210)" * (cast_expression "(int *)(this + 0x210)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x210)" ( (binary_expression "this + 0x210" identifier + number_literal) )))) - (pointer_expression "*(int *)(this + 0x208)" * (cast_expression "(int *)(this + 0x208)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x208)" ( (binary_expression "this + 0x208" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(this + 0x20c) - *(int *)(this + 0x204)) * 8" (parenthesized_expression "(*(int *)(this + 0x20c) - *(int *)(this + 0x204))" ( (binary_expression "*(int *)(this + 0x20c) - *(int *)(this + 0x204)" (pointer_expression "*(int *)(this + 0x20c)" * (cast_expression "(int *)(this + 0x20c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x20c)" ( (binary_expression "this + 0x20c" identifier + number_literal) )))) - (pointer_expression "*(int *)(this + 0x204)" * (cast_expression "(int *)(this + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x204)" ( (binary_expression "this + 0x204" identifier + number_literal) ))))) )) * number_literal)) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);\n        }" { comment (labeled_statement "gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI);" (call_expression "do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI)" identifier (argument_list "(&UNK_002d8ce1 + unaff_EDI,0x71a,&UNK_002e242f + unaff_EDI)" ( (binary_expression "&UNK_002d8ce1 + unaff_EDI" (pointer_expression "&UNK_002d8ce1" & identifier) + identifier) , number_literal , (binary_expression "&UNK_002e242f + unaff_EDI" (pointer_expression "&UNK_002e242f" & identifier) + identifier) ))) ;)) })) (if_statement "if ((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) == 0) {\n          if ((Symbol_table *)\n              ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n          }\n          if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI);\n          }\n        }" if (parenthesized_expression "((*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) == 0)" ( (binary_expression "(*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0) == 0" (parenthesized_expression "(*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0)" ( (binary_expression "*(uint *)(*(int *)(this + 0x204) + uVar21 * 4) & (uint)__args_0" (pointer_expression "*(uint *)(*(int *)(this + 0x204) + uVar21 * 4)" * (cast_expression "(uint *)(*(int *)(this + 0x204) + uVar21 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(this + 0x204) + uVar21 * 4)" ( (binary_expression "*(int *)(this + 0x204) + uVar21 * 4" (pointer_expression "*(int *)(this + 0x204)" * (cast_expression "(int *)(this + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x204)" ( (binary_expression "this + 0x204" identifier + number_literal) )))) + (binary_expression "uVar21 * 4" identifier * number_literal)) )))) & (cast_expression "(uint)__args_0" ( (type_descriptor "uint" type_identifier) ) identifier)) )) == number_literal) )) (compound_statement "{\n          if ((Symbol_table *)\n              ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n          }\n          if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI);\n          }\n        }" { (if_statement "if ((Symbol_table *)\n              ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n          }" if (parenthesized_expression "((Symbol_table *)\n              ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab)" ( (binary_expression "(Symbol_table *)\n              ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8) <= symtab" (cast_expression "(Symbol_table *)\n              ((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8)" ( (binary_expression "(*(int *)(this + 0x224) - *(int *)(this + 0x21c)) +\n              (*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8" (parenthesized_expression "(*(int *)(this + 0x224) - *(int *)(this + 0x21c))" ( (binary_expression "*(int *)(this + 0x224) - *(int *)(this + 0x21c)" (pointer_expression "*(int *)(this + 0x224)" * (cast_expression "(int *)(this + 0x224)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x224)" ( (binary_expression "this + 0x224" identifier + number_literal) )))) - (pointer_expression "*(int *)(this + 0x21c)" * (cast_expression "(int *)(this + 0x21c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x21c)" ( (binary_expression "this + 0x21c" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(this + 0x220) - *(int *)(this + 0x218)) * 8" (parenthesized_expression "(*(int *)(this + 0x220) - *(int *)(this + 0x218))" ( (binary_expression "*(int *)(this + 0x220) - *(int *)(this + 0x218)" (pointer_expression "*(int *)(this + 0x220)" * (cast_expression "(int *)(this + 0x220)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x220)" ( (binary_expression "this + 0x220" identifier + number_literal) )))) - (pointer_expression "*(int *)(this + 0x218)" * (cast_expression "(int *)(this + 0x218)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x218)" ( (binary_expression "this + 0x218" identifier + number_literal) ))))) )) * number_literal)) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);\n          }" { comment comment (labeled_statement "gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI);" (call_expression "do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI)" identifier (argument_list "(&UNK_002d8ce1 + unaff_EDI,0x723,&UNK_002e240f + unaff_EDI)" ( (binary_expression "&UNK_002d8ce1 + unaff_EDI" (pointer_expression "&UNK_002d8ce1" & identifier) + identifier) , number_literal , (binary_expression "&UNK_002e240f + unaff_EDI" (pointer_expression "&UNK_002e240f" & identifier) + identifier) ))) ;)) })) (if_statement "if ((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI);\n          }" if (parenthesized_expression "((*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) == 0)" ( (binary_expression "(*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0) == 0" (parenthesized_expression "(*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0)" ( (binary_expression "*(uint *)(*(int *)(this + 0x218) + uVar21 * 4) & (uint)__args_0" (pointer_expression "*(uint *)(*(int *)(this + 0x218) + uVar21 * 4)" * (cast_expression "(uint *)(*(int *)(this + 0x218) + uVar21 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(this + 0x218) + uVar21 * 4)" ( (binary_expression "*(int *)(this + 0x218) + uVar21 * 4" (pointer_expression "*(int *)(this + 0x218)" * (cast_expression "(int *)(this + 0x218)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x218)" ( (binary_expression "this + 0x218" identifier + number_literal) )))) + (binary_expression "uVar21 * 4" identifier * number_literal)) )))) & (cast_expression "(uint)__args_0" ( (type_descriptor "uint" type_identifier) ) identifier)) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */\n            gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI);\n          }" { comment comment (labeled_statement "gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI);" (call_expression "do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI)" identifier (argument_list "(&UNK_002d8ce1 + unaff_EDI,0x5b7,&UNK_002e2223 + unaff_EDI)" ( (binary_expression "&UNK_002d8ce1 + unaff_EDI" (pointer_expression "&UNK_002d8ce1" & identifier) + identifier) , number_literal , (binary_expression "&UNK_002e2223 + unaff_EDI" (pointer_expression "&UNK_002e2223" & identifier) + identifier) ))) ;)) })) })) })) (expression_statement "view_size = (section_size_type)symtab;" (assignment_expression "view_size = (section_size_type)symtab" identifier = (cast_expression "(section_size_type)symtab" ( (type_descriptor "section_size_type" type_identifier) ) identifier)) ;) (expression_statement "local_34.relobj = aVar15.relobj;" (assignment_expression "local_34.relobj = aVar15.relobj" (field_expression "local_34.relobj" identifier . field_identifier) = (field_expression "aVar15.relobj" identifier . field_identifier)) ;) (ERROR "std::\n      _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n      ::\n      _M_emplace_unique<std::pair<unsigned_int,_(anonymous_namespace)::" (comma_expression "std::\n      _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std" identifier (ERROR "::\n      _Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>" : : (comma_expression "_Rb_tree<unsigned_int,_std" (binary_expression "_Rb_tree<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_(anonymous_namespace)" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Mips16_stub_section<64,_false>*>,_std" (binary_expression "Mips16_stub_section<64" identifier < number_literal) , (binary_expression "_false>*>,_std" identifier > (pointer_expression "*>,_std" * (ERROR ">," > ,) identifier))) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_(anonymous_namespace)" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Mips16_stub_section<64,_false>*>_>,_std" (binary_expression "Mips16_stub_section<64" identifier < number_literal) , (binary_expression "_false>*>_>,_std" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) > (ERROR "," ,) identifier)) : : (binary_expression "less<unsigned_int" identifier < identifier) >) , identifier) : : identifier < identifier : : (comma_expression "pair<unsigned_int_const,_(anonymous_namespace)" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Mips16_stub_section<64,_false>*>_>_>\n      ::\n      _M_emplace_unique<std" (binary_expression "Mips16_stub_section<64" identifier < number_literal) , (binary_expression "_false>*>_>_>\n      ::\n      _M_emplace_unique<std" (binary_expression "_false>*>_>_>\n      ::\n      _M_emplace_unique" (binary_expression "_false>*>_>_" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) > identifier) > (ERROR "::" : :) identifier) < identifier)) : : (comma_expression "pair<unsigned_int,_(anonymous_namespace)" (binary_expression "pair<unsigned_int" identifier < identifier) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : :) (expression_statement "Mips16_stub_section<64,_false>*>_>\n                ((_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n                  *)in_stack_ffffff84,\n                 (pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*> *)\n                 __args_0);\n    }\n    else {\n      do {\n        while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }\n        pSVar10 = *(Scan **)(pSVar19 + 8);\n        pSVar18 = pSVar19;\n      } while (*(Scan **)(pSVar19 + 8) != (Scan *)0x0);\nLAB_001985d5:\n      if ((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))\n      goto LAB_00198b60;\n      aVar15 = (anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj;\n      __args_0 = (Layout *)in_stack_ffffff88._M_current;\n    }\n    in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::_M_erase();" (comma_expression "Mips16_stub_section<64,_false>*>_>\n                ((_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n                  *)in_stack_ffffff84,\n                 (pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*> *)\n                 __args_0);\n    }\n    else {\n      do {\n        while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }\n        pSVar10 = *(Scan **)(pSVar19 + 8);\n        pSVar18 = pSVar19;\n      } while (*(Scan **)(pSVar19 + 8) != (Scan *)0x0);\nLAB_001985d5:\n      if ((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))\n      goto LAB_00198b60;\n      aVar15 = (anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj;\n      __args_0 = (Layout *)in_stack_ffffff88._M_current;\n    }\n    in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::_M_erase()" (binary_expression "Mips16_stub_section<64" identifier < number_literal) , (binary_expression "_false>*>_>\n                ((_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n                  *)in_stack_ffffff84,\n                 (pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*> *)\n                 __args_0);\n    }\n    else {\n      do {\n        while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }\n        pSVar10 = *(Scan **)(pSVar19 + 8);\n        pSVar18 = pSVar19;\n      } while (*(Scan **)(pSVar19 + 8) != (Scan *)0x0);\nLAB_001985d5:\n      if ((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))\n      goto LAB_00198b60;\n      aVar15 = (anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj;\n      __args_0 = (Layout *)in_stack_ffffff88._M_current;\n    }\n    in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::_M_erase()" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) > (parenthesized_expression "((_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n                  *)in_stack_ffffff84,\n                 (pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*> *)\n                 __args_0);\n    }\n    else {\n      do {\n        while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }\n        pSVar10 = *(Scan **)(pSVar19 + 8);\n        pSVar18 = pSVar19;\n      } while (*(Scan **)(pSVar19 + 8) != (Scan *)0x0);\nLAB_001985d5:\n      if ((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))\n      goto LAB_00198b60;\n      aVar15 = (anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj;\n      __args_0 = (Layout *)in_stack_ffffff88._M_current;\n    }\n    in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::_M_erase()" ( (parenthesized_expression "(_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n                  *)in_stack_ffffff84,\n                 (pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*> *)\n                 __args_0);\n    }\n    else {\n      do {\n        while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }\n        pSVar10 = *(Scan **)(pSVar19 + 8);\n        pSVar18 = pSVar19;\n      } while (*(Scan **)(pSVar19 + 8) != (Scan *)0x0);\nLAB_001985d5:\n      if ((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))\n      goto LAB_00198b60;\n      aVar15 = (anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj;\n      __args_0 = (Layout *)in_stack_ffffff88._M_current;\n    }\n    in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::_M_erase()" ( (ERROR "_Rb_tree<unsigned_int,_std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>,_std::_Select1st<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>,_std::less<unsigned_int>,_std::allocator<std::pair<unsigned_int_const,_(anonymous_namespace)::Mips16_stub_section<64,_false>*>_>_>\n                  *)in_stack_ffffff84,\n                 (pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*> *)\n                 __args_0);\n    }\n    else {\n      do {\n        while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }\n        pSVar10 = *(Scan **)(pSVar19 + 8);\n        pSVar18 = pSVar19;\n      } while (*(Scan **)(pSVar19 + 8) != (Scan *)0x0);\nLAB_001985d5:\n      if ((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))\n      goto LAB_00198b60;\n      aVar15 = (anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj;\n      __args_0 = (Layout *)in_stack_ffffff88._M_current;\n    }" (comma_expression "_Rb_tree<unsigned_int,_std" (binary_expression "_Rb_tree<unsigned_int" identifier < identifier) , identifier) : : (comma_expression "pair<unsigned_int_const,_(anonymous_namespace)" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Mips16_stub_section<64,_false>*>,_std" (binary_expression "Mips16_stub_section<64" identifier < number_literal) , (binary_expression "_false>*>,_std" identifier > (pointer_expression "*>,_std" * (ERROR ">," > ,) identifier))) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_(anonymous_namespace)" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Mips16_stub_section<64,_false>*>_>,_std" (binary_expression "Mips16_stub_section<64" identifier < number_literal) , (binary_expression "_false>*>_>,_std" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) > (ERROR "," ,) identifier)) : : (binary_expression "less<unsigned_int>,_std" (binary_expression "less<unsigned_int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<unsigned_int_const,_(anonymous_namespace)" (binary_expression "pair<unsigned_int_const" identifier < identifier) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Mips16_stub_section<64,_false>*>_>_>\n                  *)in_stack_ffffff84,\n                 (pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*> *)\n                 __args_0)" (binary_expression "Mips16_stub_section<64" identifier < number_literal) , (comma_expression "_false>*>_>_>\n                  *)in_stack_ffffff84,\n                 (pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*> *)\n                 __args_0)" (binary_expression "_false>*>_>_>\n                  *)in_stack_ffffff84" (binary_expression "_false>*>_>_" (binary_expression "_false>*>_" identifier > (pointer_expression "*>_" * (ERROR ">" >) identifier)) > identifier) > (pointer_expression "*)in_stack_ffffff84" * (ERROR ")" )) identifier)) , (parenthesized_expression "(pair<unsigned_int,_(anonymous_namespace)::Mips16_stub_section<64,_false>*> *)\n                 __args_0)" ( (ERROR "pair<unsigned_int,_(anonymous_namespace)::" (comma_expression "pair<unsigned_int,_(anonymous_namespace)" (binary_expression "pair<unsigned_int" identifier < identifier) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : :) (comma_expression "Mips16_stub_section<64,_false>*> *)\n                 __args_0" (binary_expression "Mips16_stub_section<64" identifier < number_literal) , (binary_expression "_false>*> *)\n                 __args_0" identifier > (pointer_expression "*> *)\n                 __args_0" * (ERROR ">" >) (pointer_expression "*)\n                 __args_0" * (ERROR ")" )) identifier)))) )))) ; } else (compound_statement "{\n      do {\n        while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }\n        pSVar10 = *(Scan **)(pSVar19 + 8);\n        pSVar18 = pSVar19;\n      } while (*(Scan **)(pSVar19 + 8) != (Scan *)0x0);\nLAB_001985d5:\n      if ((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))\n      goto LAB_00198b60;\n      aVar15 = (anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj;\n      __args_0 = (Layout *)in_stack_ffffff88._M_current;\n    }" { (do_statement "do {\n        while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }\n        pSVar10 = *(Scan **)(pSVar19 + 8);\n        pSVar18 = pSVar19;\n      } while (*(Scan **)(pSVar19 + 8) != (Scan *)0x0);" do (compound_statement "{\n        while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }\n        pSVar10 = *(Scan **)(pSVar19 + 8);\n        pSVar18 = pSVar19;\n      }" { (while_statement "while (pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab) {\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }" while (parenthesized_expression "(pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab)" ( (comma_expression "pSVar19 = pSVar10, *(Symbol_table **)(pSVar19 + 0x10) < symtab" (assignment_expression "pSVar19 = pSVar10" identifier = identifier) , (binary_expression "*(Symbol_table **)(pSVar19 + 0x10) < symtab" (pointer_expression "*(Symbol_table **)(pSVar19 + 0x10)" * (cast_expression "(Symbol_table **)(pSVar19 + 0x10)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pSVar19 + 0x10)" ( (binary_expression "pSVar19 + 0x10" identifier + number_literal) )))) < identifier)) )) (compound_statement "{\n          pSVar1 = pSVar19 + 0xc;\n          pSVar10 = *(Scan **)pSVar1;\n          pSVar19 = pSVar18;\n          if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;\n        }" { (expression_statement "pSVar1 = pSVar19 + 0xc;" (assignment_expression "pSVar1 = pSVar19 + 0xc" identifier = (binary_expression "pSVar19 + 0xc" identifier + number_literal)) ;) (expression_statement "pSVar10 = *(Scan **)pSVar1;" (assignment_expression "pSVar10 = *(Scan **)pSVar1" identifier = (pointer_expression "*(Scan **)pSVar1" * (cast_expression "(Scan **)pSVar1" ( (type_descriptor "Scan **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pSVar19 = pSVar18;" (assignment_expression "pSVar19 = pSVar18" identifier = identifier) ;) (if_statement "if (*(Scan **)pSVar1 == (Scan *)0x0) goto LAB_001985d5;" if (parenthesized_expression "(*(Scan **)pSVar1 == (Scan *)0x0)" ( (binary_expression "*(Scan **)pSVar1 == (Scan *)0x0" (pointer_expression "*(Scan **)pSVar1" * (cast_expression "(Scan **)pSVar1" ( (type_descriptor "Scan **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) == (cast_expression "(Scan *)0x0" ( (type_descriptor "Scan *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001985d5;" goto statement_identifier ;)) })) (expression_statement "pSVar10 = *(Scan **)(pSVar19 + 8);" (assignment_expression "pSVar10 = *(Scan **)(pSVar19 + 8)" identifier = (pointer_expression "*(Scan **)(pSVar19 + 8)" * (cast_expression "(Scan **)(pSVar19 + 8)" ( (type_descriptor "Scan **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pSVar19 + 8)" ( (binary_expression "pSVar19 + 8" identifier + number_literal) ))))) ;) (expression_statement "pSVar18 = pSVar19;" (assignment_expression "pSVar18 = pSVar19" identifier = identifier) ;) }) while (parenthesized_expression "(*(Scan **)(pSVar19 + 8) != (Scan *)0x0)" ( (binary_expression "*(Scan **)(pSVar19 + 8) != (Scan *)0x0" (pointer_expression "*(Scan **)(pSVar19 + 8)" * (cast_expression "(Scan **)(pSVar19 + 8)" ( (type_descriptor "Scan **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pSVar19 + 8)" ( (binary_expression "pSVar19 + 8" identifier + number_literal) )))) != (cast_expression "(Scan *)0x0" ( (type_descriptor "Scan *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_001985d5:\n      if ((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))\n      goto LAB_00198b60;" statement_identifier : (if_statement "if ((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))\n      goto LAB_00198b60;" if (parenthesized_expression "((pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10)))" ( (binary_expression "(pSVar19 == this + 0x16c) || (symtab < *(Symbol_table **)(pSVar19 + 0x10))" (parenthesized_expression "(pSVar19 == this + 0x16c)" ( (binary_expression "pSVar19 == this + 0x16c" identifier == (binary_expression "this + 0x16c" identifier + number_literal)) )) || (parenthesized_expression "(symtab < *(Symbol_table **)(pSVar19 + 0x10))" ( (binary_expression "symtab < *(Symbol_table **)(pSVar19 + 0x10)" identifier < (pointer_expression "*(Symbol_table **)(pSVar19 + 0x10)" * (cast_expression "(Symbol_table **)(pSVar19 + 0x10)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pSVar19 + 0x10)" ( (binary_expression "pSVar19 + 0x10" identifier + number_literal) ))))) ))) )) (goto_statement "goto LAB_00198b60;" goto statement_identifier ;))) (expression_statement "aVar15 = (anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj;" (assignment_expression "aVar15 = (anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj" identifier = (field_expression "(anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))->relobj" (call_expression "(anon_union_4_2_238bdeaa_for_u2_)\n               ((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))" (parenthesized_expression "(anon_union_4_2_238bdeaa_for_u2_)" ( identifier )) (argument_list "((anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14))" ( (cast_expression "(anon_union_4_2_238bdeaa_for_u2_ *)(pSVar19 + 0x14)" ( (type_descriptor "anon_union_4_2_238bdeaa_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar19 + 0x14)" ( (binary_expression "pSVar19 + 0x14" identifier + number_literal) ))) ))) -> field_identifier)) ;) (expression_statement "__args_0 = (Layout *)in_stack_ffffff88._M_current;" (assignment_expression "__args_0 = (Layout *)in_stack_ffffff88._M_current" identifier = (cast_expression "(Layout *)in_stack_ffffff88._M_current" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "in_stack_ffffff88._M_current" identifier . field_identifier))) ;) })) (comma_expression "in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std" (binary_expression "in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std" (binary_expression "in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64" (binary_expression "in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)" (binary_expression "in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64" (assignment_expression "in_stack_ffffff88._M_current = (Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)" (field_expression "in_stack_ffffff88._M_current" identifier . field_identifier) = (parenthesized_expression "(Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)" ( (comma_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std" (binary_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std" (binary_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64" (binary_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)" (binary_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std" (binary_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64" (binary_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)" (binary_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)::Mips_symbol<64" (binary_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {\n      std::\n      _Hashtable<(anonymous_namespace)" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1;\n    if ((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0'))" (binary_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)&rela[0x12].p_ + 1) = 1" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))\n      goto LAB_0019878c;\n    }\n    else if (output_section == (Output_section *)0x25)" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20) {\n      if (((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68) {\n    if (output_section < (Output_section *)0x20)" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67) goto LAB_0019878c;\n  if (output_section < (Output_section *)0x68)" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1;\n  if (output_section == (Output_section *)0x67)" (binary_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1;\n  *(undefined1 *)&rela[0x12].p_ = 1" (binary_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)&rela[0x14].p_ = 1" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))()" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1;\n  }\n  if (output_section < (Output_section *)0xfa)" (binary_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))) {\n    *(undefined1 *)&rela[0x10].p_ = 1" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n    }\n  }\n  if ((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c)))" (assignment_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela" (field_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity" (field_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2" (field_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_" (field_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj).super_Object" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {\n      ((aVar15.relobj)->super_Relobj)" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela;\n      return;\n    }\n    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0))" (assignment_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =\n           (size_type)rela" (field_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity" (field_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2" (field_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object.name_" (field_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj).super_Object" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';\n      ((aVar15.relobj)->super_Relobj)" (assignment_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01'" (subscript_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4]" (field_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf" (field_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2" (field_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object.name_" (field_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj).super_Object" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;\n      ((aVar15.relobj)->super_Relobj)" (assignment_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0" (field_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length" (field_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object.name_" (field_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj).super_Object" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0) {\n      ((aVar15.relobj)->super_Relobj)" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')\n    goto LAB_001986ca;\n    if (output_section == (Output_section *)0x0)" (call_expression "Mips_symbol<64> **)__args_0;\n    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')" (binary_expression "Mips_symbol<64> **)__args_0" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "**)__args_0" * (pointer_expression "*)__args_0" * (ERROR ")" )) identifier))) (ERROR ";\n    if" ; if) (argument_list "(((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')" ( (binary_expression "((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0'" (subscript_expression "((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4]" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_.field_2" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_" (field_expression "((aVar15.relobj)->super_Relobj).super_Object" (parenthesized_expression "((aVar15.relobj)->super_Relobj)" ( (field_expression "(aVar15.relobj)->super_Relobj" (parenthesized_expression "(aVar15.relobj)" ( (field_expression "aVar15.relobj" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) ))) (ERROR "goto LAB_001986ca;\n    if" identifier identifier ; if) (argument_list "(output_section == (Output_section *)0x0)" ( (binary_expression "output_section == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) (ERROR "{" {) (argument_list "((aVar15.relobj)->super_Relobj)" ( (field_expression "(aVar15.relobj)->super_Relobj" (parenthesized_expression "(aVar15.relobj)" ( (field_expression "aVar15.relobj" identifier . field_identifier) )) -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) = number_literal) (ERROR ";" ;) (argument_list "((aVar15.relobj)->super_Relobj)" ( (field_expression "(aVar15.relobj)->super_Relobj" (parenthesized_expression "(aVar15.relobj)" ( (field_expression "aVar15.relobj" identifier . field_identifier) )) -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) (ERROR ";" ;) (argument_list "((aVar15.relobj)->super_Relobj)" ( (field_expression "(aVar15.relobj)->super_Relobj" (parenthesized_expression "(aVar15.relobj)" ( (field_expression "aVar15.relobj" identifier . field_identifier) )) -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(size_type)rela" ( (type_descriptor "size_type" type_identifier) ) identifier)) (ERROR ";\n      return;\n    }\n    if" ; return ; } if) (argument_list "((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0))" ( (binary_expression "(((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&\n       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)" (parenthesized_expression "(((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0)" ( (binary_expression "((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_" (field_expression "((aVar15.relobj)->super_Relobj).super_Object" (parenthesized_expression "((aVar15.relobj)->super_Relobj)" ( (field_expression "(aVar15.relobj)->super_Relobj" (parenthesized_expression "(aVar15.relobj)" ( (field_expression "aVar15.relobj" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) == number_literal) )) && (parenthesized_expression "(((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)" ( (binary_expression "((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_.field_2" (field_expression "((aVar15.relobj)->super_Relobj).super_Object.name_" (field_expression "((aVar15.relobj)->super_Relobj).super_Object" (parenthesized_expression "((aVar15.relobj)->super_Relobj)" ( (field_expression "(aVar15.relobj)->super_Relobj" (parenthesized_expression "(aVar15.relobj)" ( (field_expression "aVar15.relobj" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) == number_literal) ))) ))) (ERROR "{" {) (argument_list "((aVar15.relobj)->super_Relobj)" ( (field_expression "(aVar15.relobj)->super_Relobj" (parenthesized_expression "(aVar15.relobj)" ( (field_expression "aVar15.relobj" identifier . field_identifier) )) -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(size_type)rela" ( (type_descriptor "size_type" type_identifier) ) identifier)) (ERROR ";\n    }\n  }\n  if" ; } } if) (argument_list "((((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c)))" ( (binary_expression "(((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)) &&\n     (symtab != *(Symbol_table **)(this + 0x22c))" (parenthesized_expression "(((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11))" ( (binary_expression "((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)) &&\n      (bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)" (parenthesized_expression "((output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64))" ( (binary_expression "(output_section != (Output_section *)0x67) && (output_section != (Output_section *)0x64)" (parenthesized_expression "(output_section != (Output_section *)0x67)" ( (binary_expression "output_section != (Output_section *)0x67" identifier != (cast_expression "(Output_section *)0x67" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(output_section != (Output_section *)0x64)" ( (binary_expression "output_section != (Output_section *)0x64" identifier != (cast_expression "(Output_section *)0x64" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11)" ( (comma_expression "bVar11 = Mips_relobj<64,_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11" (assignment_expression "bVar11 = Mips_relobj<64" identifier = (binary_expression "Mips_relobj<64" identifier < number_literal)) , (comma_expression "_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current), !bVar11" (binary_expression "_false>::is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current)" identifier > (ERROR "::" : :) (call_expression "is_mips16_stub_section\n                          (in_stack_ffffff84,(uint)in_stack_ffffff88._M_current)" identifier (argument_list "(in_stack_ffffff84,(uint)in_stack_ffffff88._M_current)" ( identifier , (cast_expression "(uint)in_stack_ffffff88._M_current" ( (type_descriptor "uint" type_identifier) ) (field_expression "in_stack_ffffff88._M_current" identifier . field_identifier)) )))) , (unary_expression "!bVar11" ! identifier))) ))) )) && (parenthesized_expression "(symtab != *(Symbol_table **)(this + 0x22c))" ( (binary_expression "symtab != *(Symbol_table **)(this + 0x22c)" identifier != (pointer_expression "*(Symbol_table **)(this + 0x22c)" * (cast_expression "(Symbol_table **)(this + 0x22c)" ( (type_descriptor "Symbol_table **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x22c)" ( (binary_expression "this + 0x22c" identifier + number_literal) ))))) ))) ))) (ERROR "{" {) * (cast_expression "(undefined1 *)&rela[0x10].p_ = 1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "&rela[0x10].p_ = 1" (pointer_expression "&rela[0x10].p_" & (field_expression "rela[0x10].p_" (subscript_expression "rela[0x10]" identifier [ number_literal ]) . field_identifier)) = number_literal))) (ERROR ";\n  }\n  if" ; } if) (argument_list "(output_section < (Output_section *)0xfa)" ( (binary_expression "output_section < (Output_section *)0xfa" identifier < (cast_expression "(Output_section *)0xfa" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) (ERROR "{" {) comment comment (argument_list "(*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI))" ( (pointer_expression "*(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI)" * (cast_expression "(code *)(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI)" ( (binary_expression "&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI) + unaff_EDI" (binary_expression "&UNK_00451af7 +\n              *(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI)" (pointer_expression "&UNK_00451af7" & identifier) + (pointer_expression "*(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI)" * (cast_expression "(int *)(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI)" ( (binary_expression "&UNK_002dbf73 + (int)output_section * 4 + unaff_EDI" (binary_expression "&UNK_002dbf73 + (int)output_section * 4" (pointer_expression "&UNK_002dbf73" & identifier) + (binary_expression "(int)output_section * 4" (cast_expression "(int)output_section" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + identifier) ))))) + identifier) )))) ))) (argument_list "()" ( ))) (ERROR ";\n    return;\n  }" ; return ; }) * (cast_expression "(undefined1 *)&rela[0x14].p_ = 1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "&rela[0x14].p_ = 1" (pointer_expression "&rela[0x14].p_" & (field_expression "rela[0x14].p_" (subscript_expression "rela[0x14]" identifier [ number_literal ]) . field_identifier)) = number_literal))) (ERROR ";" ;) * (cast_expression "(undefined1 *)&rela[0x12].p_ = 1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "&rela[0x12].p_ = 1" (pointer_expression "&rela[0x12].p_" & (field_expression "rela[0x12].p_" (subscript_expression "rela[0x12]" identifier [ number_literal ]) . field_identifier)) = number_literal))) (ERROR ";\n  if" ; if) (argument_list "(output_section == (Output_section *)0x67)" ( (binary_expression "output_section == (Output_section *)0x67" identifier == (cast_expression "(Output_section *)0x67" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) (ERROR "goto LAB_0019878c;\n  if" identifier identifier ; if) (argument_list "(output_section < (Output_section *)0x68)" ( (binary_expression "output_section < (Output_section *)0x68" identifier < (cast_expression "(Output_section *)0x68" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) (ERROR "{\n    if" { if) (argument_list "(output_section < (Output_section *)0x20)" ( (binary_expression "output_section < (Output_section *)0x20" identifier < (cast_expression "(Output_section *)0x20" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) (ERROR "{\n      if" { if) (argument_list "(((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb))" ( (binary_expression "((Output_section *)0x1d < output_section) || (output_section == (Output_section *)0xb)" (parenthesized_expression "((Output_section *)0x1d < output_section)" ( (binary_expression "(Output_section *)0x1d < output_section" (cast_expression "(Output_section *)0x1d" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) || (parenthesized_expression "(output_section == (Output_section *)0xb)" ( (binary_expression "output_section == (Output_section *)0xb" identifier == (cast_expression "(Output_section *)0xb" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) ))) (ERROR "goto LAB_0019878c;\n    }\n    else if" identifier identifier ; } else if) (argument_list "(output_section == (Output_section *)0x25)" ( (binary_expression "output_section == (Output_section *)0x25" identifier == (cast_expression "(Output_section *)0x25" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) (ERROR "goto LAB_0019878c;\nLAB_001988ea:" identifier identifier ; identifier :) * (cast_expression "(undefined1 *)((int)&rela[0x12].p_ + 1) = 1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "((int)&rela[0x12].p_ + 1) = 1" (parenthesized_expression "((int)&rela[0x12].p_ + 1)" ( (binary_expression "(int)&rela[0x12].p_ + 1" (cast_expression "(int)&rela[0x12].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[0x12].p_" & (field_expression "rela[0x12].p_" (subscript_expression "rela[0x12]" identifier [ number_literal ]) . field_identifier))) + number_literal) )) = number_literal))) (ERROR ";\n    if" ; if) (argument_list "((extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0'))" ( (binary_expression "(extraout_ECX->out_shndx_ != 0) &&\n       (view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')" (parenthesized_expression "(extraout_ECX->out_shndx_ != 0)" ( (binary_expression "extraout_ECX->out_shndx_ != 0" (field_expression "extraout_ECX->out_shndx_" identifier -> field_identifier) != number_literal) )) && (parenthesized_expression "(view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')" ( (comma_expression "view_size = (section_size_type)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0'" (assignment_expression "view_size = (section_size_type)rela" identifier = (cast_expression "(section_size_type)rela" ( (type_descriptor "section_size_type" type_identifier) ) identifier)) , (binary_expression "*(char *)((int)&rela[0x17].p_ + 1) != '\0'" (pointer_expression "*(char *)((int)&rela[0x17].p_ + 1)" * (cast_expression "(char *)((int)&rela[0x17].p_ + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rela[0x17].p_ + 1)" ( (binary_expression "(int)&rela[0x17].p_ + 1" (cast_expression "(int)&rela[0x17].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[0x17].p_" & (field_expression "rela[0x17].p_" (subscript_expression "rela[0x17]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) ))) ))) (ERROR "{\n      std::\n      _Hashtable" { identifier : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Mips_symbol" : : identifier) < number_literal) > (pointer_expression "*,_(anonymous_namespace)" * (ERROR "," ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) (ERROR "::Mips_symbol" : : identifier) < number_literal) > (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Mips_symbol" : : identifier) < number_literal) > (pointer_expression "*>,_std" * (ERROR ">," > ,) identifier)) (ERROR "::__detail::_Identity" : : identifier : : identifier) , identifier) (ERROR "::equal_to<(anonymous_namespace" : : identifier < ( identifier) ))) (ERROR "::Mips_symbol" : : identifier) < number_literal) > (pointer_expression "*>,_(anonymous_namespace)" * (ERROR ">," > ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) (ERROR "::Mips_symbol_hash" : : identifier) < number_literal) > (ERROR "," ,) identifier) (ERROR "::__detail::_Mod_range_hashing" : : identifier : : identifier) , identifier) (ERROR "::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::_M_erase(" : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier < true , identifier , identifier > identifier > : : identifier () )) )))) ;) (expression_statement "*(undefined1 *)(view_size + 0x5d) = 0;" (assignment_expression "*(undefined1 *)(view_size + 0x5d) = 0" (pointer_expression "*(undefined1 *)(view_size + 0x5d)" * (cast_expression "(undefined1 *)(view_size + 0x5d)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(view_size + 0x5d)" ( (binary_expression "view_size + 0x5d" identifier + number_literal) )))) = number_literal) ;) })) }))) (expression_statement "else" identifier ;) (compound_statement "{\n    if (output_section < (Output_section *)0x9b) {\n      if ((Output_section *)0x98 < output_section) goto LAB_0019878c;\n      if (output_section != (Output_section *)0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)&rela[0x12].p_ + 1);\n    }\n    else {\n      if (output_section != (Output_section *)0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)&rela[0x12].p_ + 1);\n    }\n    if (cVar3 == '\0') {\n      bVar11 = gold::Symbol::needs_plt_entry((Symbol *)rela);\n      bVar4 = *(byte *)((int)&rela[10].p_ + 2);\n      in_stack_ffffff88._M_current =\n           (Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4);\n      if (bVar11) {\n        if ((bVar4 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar4 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((rela[2].p_[1].r_addend & 0x100000000) == 0) goto LAB_00199108;\n      }\n      else {\n        if ((bVar4 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((rela[3].p_ != (Mips64_rela_data *)0x0) || (((uint)rela[10].p_ & 0x20000000) == 0))\n        goto LAB_001987a0;\nLAB_00199001:\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      if (extraout_ECX->out_shndx_ == 0) {\n        pOVar17 = (Output_section_data *)operator_new(0x54);\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 8;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar21 = 0;\n        do {\n          *(undefined4 *)((int)&pOVar17[1].super_Output_data._vptr_Output_data + uVar21) = 0;\n          uVar21 = uVar21 + 4;\n        } while (uVar21 < 0x1c);\n        pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)((int)&pOVar17[1].super_Output_data.offset_ + 4);\n        *(Output_section **)&pOVar17[1].addralign_ = extraout_ECX;\n        extraout_ECX->out_shndx_ = (uint)pOVar17;\n        *(undefined4 *)&pOVar17[1].super_Output_data.address_ = 1;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0x3f800000;\n        *(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0xffffffff;\n        *(undefined1 *)&pOVar17[1].output_section_ = 0;\n        gold::Layout::add_output_section_data\n                  (this_01,&UNK_002d8d0c + unaff_EDI,1,6,pOVar17,ORDER_PLT,false);\n      }\n      view_size = (section_size_type)rela;\n      if ((*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&\n         (rela[6].p_ == (Mips64_rela_data *)0xffffffff)) {\n        std::\n        _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::\n        _M_insert<(anonymous_namespace)::Mips_symbol<64>*_const&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<(anonymous_namespace)::Mips_symbol<64>*,_true>_>_>_>\n                  ();\n        *(undefined1 *)(view_size + 0x5d) = 1;\n      }\n    }\n  }" { (if_statement "if (output_section < (Output_section *)0x9b) {\n      if ((Output_section *)0x98 < output_section) goto LAB_0019878c;\n      if (output_section != (Output_section *)0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)&rela[0x12].p_ + 1);\n    }\n    else {\n      if (output_section != (Output_section *)0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)&rela[0x12].p_ + 1);\n    }" if (parenthesized_expression "(output_section < (Output_section *)0x9b)" ( (binary_expression "output_section < (Output_section *)0x9b" identifier < (cast_expression "(Output_section *)0x9b" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if ((Output_section *)0x98 < output_section) goto LAB_0019878c;\n      if (output_section != (Output_section *)0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)&rela[0x12].p_ + 1);\n    }" { (if_statement "if ((Output_section *)0x98 < output_section) goto LAB_0019878c;" if (parenthesized_expression "((Output_section *)0x98 < output_section)" ( (binary_expression "(Output_section *)0x98 < output_section" (cast_expression "(Output_section *)0x98" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (goto_statement "goto LAB_0019878c;" goto statement_identifier ;)) (if_statement "if (output_section != (Output_section *)0x8e) goto LAB_001988ea;" if (parenthesized_expression "(output_section != (Output_section *)0x8e)" ( (binary_expression "output_section != (Output_section *)0x8e" identifier != (cast_expression "(Output_section *)0x8e" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001988ea;" goto statement_identifier ;)) (expression_statement "cVar3 = *(char *)((int)&rela[0x12].p_ + 1);" (assignment_expression "cVar3 = *(char *)((int)&rela[0x12].p_ + 1)" identifier = (pointer_expression "*(char *)((int)&rela[0x12].p_ + 1)" * (cast_expression "(char *)((int)&rela[0x12].p_ + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rela[0x12].p_ + 1)" ( (binary_expression "(int)&rela[0x12].p_ + 1" (cast_expression "(int)&rela[0x12].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[0x12].p_" & (field_expression "rela[0x12].p_" (subscript_expression "rela[0x12]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) }) (else_clause "else {\n      if (output_section != (Output_section *)0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)&rela[0x12].p_ + 1);\n    }" else (compound_statement "{\n      if (output_section != (Output_section *)0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)&rela[0x12].p_ + 1);\n    }" { (if_statement "if (output_section != (Output_section *)0x9c) goto LAB_001988ea;" if (parenthesized_expression "(output_section != (Output_section *)0x9c)" ( (binary_expression "output_section != (Output_section *)0x9c" identifier != (cast_expression "(Output_section *)0x9c" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001988ea;" goto statement_identifier ;)) (labeled_statement "LAB_0019878c:\n      cVar3 = *(char *)((int)&rela[0x12].p_ + 1);" statement_identifier : (expression_statement "cVar3 = *(char *)((int)&rela[0x12].p_ + 1);" (assignment_expression "cVar3 = *(char *)((int)&rela[0x12].p_ + 1)" identifier = (pointer_expression "*(char *)((int)&rela[0x12].p_ + 1)" * (cast_expression "(char *)((int)&rela[0x12].p_ + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rela[0x12].p_ + 1)" ( (binary_expression "(int)&rela[0x12].p_ + 1" (cast_expression "(int)&rela[0x12].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[0x12].p_" & (field_expression "rela[0x12].p_" (subscript_expression "rela[0x12]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;)) }))) (if_statement "if (cVar3 == '\0') {\n      bVar11 = gold::Symbol::needs_plt_entry((Symbol *)rela);\n      bVar4 = *(byte *)((int)&rela[10].p_ + 2);\n      in_stack_ffffff88._M_current =\n           (Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4);\n      if (bVar11) {\n        if ((bVar4 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar4 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((rela[2].p_[1].r_addend & 0x100000000) == 0) goto LAB_00199108;\n      }\n      else {\n        if ((bVar4 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((rela[3].p_ != (Mips64_rela_data *)0x0) || (((uint)rela[10].p_ & 0x20000000) == 0))\n        goto LAB_001987a0;\nLAB_00199001:\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      if (extraout_ECX->out_shndx_ == 0) {\n        pOVar17 = (Output_section_data *)operator_new(0x54);\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 8;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar21 = 0;\n        do {\n          *(undefined4 *)((int)&pOVar17[1].super_Output_data._vptr_Output_data + uVar21) = 0;\n          uVar21 = uVar21 + 4;\n        } while (uVar21 < 0x1c);\n        pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)((int)&pOVar17[1].super_Output_data.offset_ + 4);\n        *(Output_section **)&pOVar17[1].addralign_ = extraout_ECX;\n        extraout_ECX->out_shndx_ = (uint)pOVar17;\n        *(undefined4 *)&pOVar17[1].super_Output_data.address_ = 1;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0x3f800000;\n        *(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0xffffffff;\n        *(undefined1 *)&pOVar17[1].output_section_ = 0;\n        gold::Layout::add_output_section_data\n                  (this_01,&UNK_002d8d0c + unaff_EDI,1,6,pOVar17,ORDER_PLT,false);\n      }\n      view_size = (section_size_type)rela;\n      if ((*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&\n         (rela[6].p_ == (Mips64_rela_data *)0xffffffff)) {\n        std::\n        _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::\n        _M_insert<(anonymous_namespace)::Mips_symbol<64>*_const&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<(anonymous_namespace)::Mips_symbol<64>*,_true>_>_>_>\n                  ();\n        *(undefined1 *)(view_size + 0x5d) = 1;\n      }\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      bVar11 = gold::Symbol::needs_plt_entry((Symbol *)rela);\n      bVar4 = *(byte *)((int)&rela[10].p_ + 2);\n      in_stack_ffffff88._M_current =\n           (Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4);\n      if (bVar11) {\n        if ((bVar4 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar4 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((rela[2].p_[1].r_addend & 0x100000000) == 0) goto LAB_00199108;\n      }\n      else {\n        if ((bVar4 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((rela[3].p_ != (Mips64_rela_data *)0x0) || (((uint)rela[10].p_ & 0x20000000) == 0))\n        goto LAB_001987a0;\nLAB_00199001:\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      if (extraout_ECX->out_shndx_ == 0) {\n        pOVar17 = (Output_section_data *)operator_new(0x54);\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 8;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar21 = 0;\n        do {\n          *(undefined4 *)((int)&pOVar17[1].super_Output_data._vptr_Output_data + uVar21) = 0;\n          uVar21 = uVar21 + 4;\n        } while (uVar21 < 0x1c);\n        pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)((int)&pOVar17[1].super_Output_data.offset_ + 4);\n        *(Output_section **)&pOVar17[1].addralign_ = extraout_ECX;\n        extraout_ECX->out_shndx_ = (uint)pOVar17;\n        *(undefined4 *)&pOVar17[1].super_Output_data.address_ = 1;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0x3f800000;\n        *(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0xffffffff;\n        *(undefined1 *)&pOVar17[1].output_section_ = 0;\n        gold::Layout::add_output_section_data\n                  (this_01,&UNK_002d8d0c + unaff_EDI,1,6,pOVar17,ORDER_PLT,false);\n      }\n      view_size = (section_size_type)rela;\n      if ((*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&\n         (rela[6].p_ == (Mips64_rela_data *)0xffffffff)) {\n        std::\n        _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::\n        _M_insert<(anonymous_namespace)::Mips_symbol<64>*_const&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<(anonymous_namespace)::Mips_symbol<64>*,_true>_>_>_>\n                  ();\n        *(undefined1 *)(view_size + 0x5d) = 1;\n      }\n    }" { (ERROR "bVar11 = gold::" (assignment_expression "bVar11 = gold" identifier = identifier) : :) (labeled_statement "Symbol::needs_plt_entry((Symbol *)rela);" statement_identifier : (ERROR ":" :) (expression_statement "needs_plt_entry((Symbol *)rela);" (call_expression "needs_plt_entry((Symbol *)rela)" identifier (argument_list "((Symbol *)rela)" ( (cast_expression "(Symbol *)rela" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "bVar4 = *(byte *)((int)&rela[10].p_ + 2);" (assignment_expression "bVar4 = *(byte *)((int)&rela[10].p_ + 2)" identifier = (pointer_expression "*(byte *)((int)&rela[10].p_ + 2)" * (cast_expression "(byte *)((int)&rela[10].p_ + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rela[10].p_ + 2)" ( (binary_expression "(int)&rela[10].p_ + 2" (cast_expression "(int)&rela[10].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[10].p_" & (field_expression "rela[10].p_" (subscript_expression "rela[10]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (expression_statement "in_stack_ffffff88._M_current =\n           (Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4);" (assignment_expression "in_stack_ffffff88._M_current =\n           (Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4)" (field_expression "in_stack_ffffff88._M_current" identifier . field_identifier) = (parenthesized_expression "(Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4)" ( (binary_expression "Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4)" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "**)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4)" * (pointer_expression "*)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4)" * (ERROR ")" )) (call_expression "CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4)" identifier (argument_list "((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4)" ( (call_expression "(int3)((uint)in_stack_ffffff88._M_current >> 8)" (parenthesized_expression "(int3)" ( identifier )) (argument_list "((uint)in_stack_ffffff88._M_current >> 8)" ( (binary_expression "(uint)in_stack_ffffff88._M_current >> 8" (cast_expression "(uint)in_stack_ffffff88._M_current" ( (type_descriptor "uint" type_identifier) ) (field_expression "in_stack_ffffff88._M_current" identifier . field_identifier)) >> number_literal) ))) , identifier )))))) ))) ;) (if_statement "if (bVar11) {\n        if ((bVar4 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar4 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((rela[2].p_[1].r_addend & 0x100000000) == 0) goto LAB_00199108;\n      }\n      else {\n        if ((bVar4 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((rela[3].p_ != (Mips64_rela_data *)0x0) || (((uint)rela[10].p_ & 0x20000000) == 0))\n        goto LAB_001987a0;\nLAB_00199001:\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n        if ((bVar4 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar4 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((rela[2].p_[1].r_addend & 0x100000000) == 0) goto LAB_00199108;\n      }" { (if_statement "if ((bVar4 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar4 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }" if (parenthesized_expression "((bVar4 & 7) != 0)" ( (binary_expression "(bVar4 & 7) != 0" (parenthesized_expression "(bVar4 & 7)" ( (binary_expression "bVar4 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00198ff9:\n          if ((bVar4 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }" { (labeled_statement "LAB_00198ff9:\n          if ((bVar4 & 7) != 4) goto LAB_001987a0;" statement_identifier : (if_statement "if ((bVar4 & 7) != 4) goto LAB_001987a0;" if (parenthesized_expression "((bVar4 & 7) != 4)" ( (binary_expression "(bVar4 & 7) != 4" (parenthesized_expression "(bVar4 & 7)" ( (binary_expression "bVar4 & 7" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001987a0;" goto statement_identifier ;))) (goto_statement "goto LAB_00199001;" goto statement_identifier ;) })) (if_statement "if ((rela[2].p_[1].r_addend & 0x100000000) == 0) goto LAB_00199108;" if (parenthesized_expression "((rela[2].p_[1].r_addend & 0x100000000) == 0)" ( (binary_expression "(rela[2].p_[1].r_addend & 0x100000000) == 0" (parenthesized_expression "(rela[2].p_[1].r_addend & 0x100000000)" ( (binary_expression "rela[2].p_[1].r_addend & 0x100000000" (field_expression "rela[2].p_[1].r_addend" (subscript_expression "rela[2].p_[1]" (field_expression "rela[2].p_" (subscript_expression "rela[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00199108;" goto statement_identifier ;)) }) (else_clause "else {\n        if ((bVar4 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((rela[3].p_ != (Mips64_rela_data *)0x0) || (((uint)rela[10].p_ & 0x20000000) == 0))\n        goto LAB_001987a0;\nLAB_00199001:\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }" else (compound_statement "{\n        if ((bVar4 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((rela[3].p_ != (Mips64_rela_data *)0x0) || (((uint)rela[10].p_ & 0x20000000) == 0))\n        goto LAB_001987a0;\nLAB_00199001:\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }" { (if_statement "if ((bVar4 & 7) != 0) goto LAB_00198ff9;" if (parenthesized_expression "((bVar4 & 7) != 0)" ( (binary_expression "(bVar4 & 7) != 0" (parenthesized_expression "(bVar4 & 7)" ( (binary_expression "bVar4 & 7" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00198ff9;" goto statement_identifier ;)) (labeled_statement "LAB_00199108:\n        if ((rela[3].p_ != (Mips64_rela_data *)0x0) || (((uint)rela[10].p_ & 0x20000000) == 0))\n        goto LAB_001987a0;" statement_identifier : (if_statement "if ((rela[3].p_ != (Mips64_rela_data *)0x0) || (((uint)rela[10].p_ & 0x20000000) == 0))\n        goto LAB_001987a0;" if (parenthesized_expression "((rela[3].p_ != (Mips64_rela_data *)0x0) || (((uint)rela[10].p_ & 0x20000000) == 0))" ( (binary_expression "(rela[3].p_ != (Mips64_rela_data *)0x0) || (((uint)rela[10].p_ & 0x20000000) == 0)" (parenthesized_expression "(rela[3].p_ != (Mips64_rela_data *)0x0)" ( (binary_expression "rela[3].p_ != (Mips64_rela_data *)0x0" (field_expression "rela[3].p_" (subscript_expression "rela[3]" identifier [ number_literal ]) . field_identifier) != (cast_expression "(Mips64_rela_data *)0x0" ( (type_descriptor "Mips64_rela_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(((uint)rela[10].p_ & 0x20000000) == 0)" ( (binary_expression "((uint)rela[10].p_ & 0x20000000) == 0" (parenthesized_expression "((uint)rela[10].p_ & 0x20000000)" ( (binary_expression "(uint)rela[10].p_ & 0x20000000" (cast_expression "(uint)rela[10].p_" ( (type_descriptor "uint" type_identifier) ) (field_expression "rela[10].p_" (subscript_expression "rela[10]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_001987a0;" goto statement_identifier ;))) (labeled_statement "LAB_00199001:\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;" statement_identifier : (if_statement "if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;" if (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0019972d;" goto statement_identifier ;))) (if_statement "if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;" if (parenthesized_expression "(*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" * (cast_expression "(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001987a0;" goto statement_identifier ;)) }))) (if_statement "if (extraout_ECX->out_shndx_ == 0) {\n        pOVar17 = (Output_section_data *)operator_new(0x54);\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 8;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar21 = 0;\n        do {\n          *(undefined4 *)((int)&pOVar17[1].super_Output_data._vptr_Output_data + uVar21) = 0;\n          uVar21 = uVar21 + 4;\n        } while (uVar21 < 0x1c);\n        pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)((int)&pOVar17[1].super_Output_data.offset_ + 4);\n        *(Output_section **)&pOVar17[1].addralign_ = extraout_ECX;\n        extraout_ECX->out_shndx_ = (uint)pOVar17;\n        *(undefined4 *)&pOVar17[1].super_Output_data.address_ = 1;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0x3f800000;\n        *(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0xffffffff;\n        *(undefined1 *)&pOVar17[1].output_section_ = 0;\n        gold::Layout::add_output_section_data\n                  (this_01,&UNK_002d8d0c + unaff_EDI,1,6,pOVar17,ORDER_PLT,false);\n      }" if (parenthesized_expression "(extraout_ECX->out_shndx_ == 0)" ( (binary_expression "extraout_ECX->out_shndx_ == 0" (field_expression "extraout_ECX->out_shndx_" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        pOVar17 = (Output_section_data *)operator_new(0x54);\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 8;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar21 = 0;\n        do {\n          *(undefined4 *)((int)&pOVar17[1].super_Output_data._vptr_Output_data + uVar21) = 0;\n          uVar21 = uVar21 + 4;\n        } while (uVar21 < 0x1c);\n        pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)((int)&pOVar17[1].super_Output_data.offset_ + 4);\n        *(Output_section **)&pOVar17[1].addralign_ = extraout_ECX;\n        extraout_ECX->out_shndx_ = (uint)pOVar17;\n        *(undefined4 *)&pOVar17[1].super_Output_data.address_ = 1;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0x3f800000;\n        *(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0xffffffff;\n        *(undefined1 *)&pOVar17[1].output_section_ = 0;\n        gold::Layout::add_output_section_data\n                  (this_01,&UNK_002d8d0c + unaff_EDI,1,6,pOVar17,ORDER_PLT,false);\n      }" { (expression_statement "pOVar17 = (Output_section_data *)operator_new(0x54);" (assignment_expression "pOVar17 = (Output_section_data *)operator_new(0x54)" identifier = (cast_expression "(Output_section_data *)operator_new(0x54)" ( (type_descriptor "Output_section_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x54)" identifier (argument_list "(0x54)" ( number_literal ))))) ;) (expression_statement "puVar12 = &(pOVar17->super_Output_data).field_0x1c;" (assignment_expression "puVar12 = &(pOVar17->super_Output_data).field_0x1c" identifier = (pointer_expression "&(pOVar17->super_Output_data).field_0x1c" & (field_expression "(pOVar17->super_Output_data).field_0x1c" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "*puVar12 = *puVar12 & 0xe0;" (assignment_expression "*puVar12 = *puVar12 & 0xe0" (pointer_expression "*puVar12" * identifier) = (binary_expression "*puVar12 & 0xe0" (pointer_expression "*puVar12" * identifier) & number_literal)) ;) (expression_statement "*(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar17->super_Output_data).address_ = 0" (pointer_expression "*(undefined4 *)&(pOVar17->super_Output_data).address_" * (cast_expression "(undefined4 *)&(pOVar17->super_Output_data).address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar17->super_Output_data).address_" & (field_expression "(pOVar17->super_Output_data).address_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar17->super_Output_data).address_ + 4)" ( (binary_expression "(int)&(pOVar17->super_Output_data).address_ + 4" (cast_expression "(int)&(pOVar17->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar17->super_Output_data).address_" & (field_expression "(pOVar17->super_Output_data).address_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0" (pointer_expression "*(undefined4 *)&(pOVar17->super_Output_data).data_size_" * (cast_expression "(undefined4 *)&(pOVar17->super_Output_data).data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar17->super_Output_data).data_size_" & (field_expression "(pOVar17->super_Output_data).data_size_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar17->super_Output_data).data_size_ + 4)" ( (binary_expression "(int)&(pOVar17->super_Output_data).data_size_ + 4" (cast_expression "(int)&(pOVar17->super_Output_data).data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar17->super_Output_data).data_size_" & (field_expression "(pOVar17->super_Output_data).data_size_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;" (assignment_expression "*(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff" (pointer_expression "*(undefined4 *)&(pOVar17->super_Output_data).offset_" * (cast_expression "(undefined4 *)&(pOVar17->super_Output_data).offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar17->super_Output_data).offset_" & (field_expression "(pOVar17->super_Output_data).offset_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar17->super_Output_data).offset_ + 4)" ( (binary_expression "(int)&(pOVar17->super_Output_data).offset_ + 4" (cast_expression "(int)&(pOVar17->super_Output_data).offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar17->super_Output_data).offset_" & (field_expression "(pOVar17->super_Output_data).offset_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "pOVar17->output_section_ = (Output_section *)0x0;" (assignment_expression "pOVar17->output_section_ = (Output_section *)0x0" (field_expression "pOVar17->output_section_" identifier -> field_identifier) = (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)&pOVar17->addralign_ = 8;" (assignment_expression "*(undefined4 *)&pOVar17->addralign_ = 8" (pointer_expression "*(undefined4 *)&pOVar17->addralign_" * (cast_expression "(undefined4 *)&pOVar17->addralign_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar17->addralign_" & (field_expression "pOVar17->addralign_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pOVar17->addralign_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar17->addralign_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar17->addralign_ + 4)" ( (binary_expression "(int)&pOVar17->addralign_ + 4" (cast_expression "(int)&pOVar17->addralign_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar17->addralign_" & (field_expression "pOVar17->addralign_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "(pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);" (assignment_expression "(pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13)" (field_expression "(pOVar17->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(_func_int_varargs **)\n             ("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13)" ( (binary_expression ""N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13" (binary_expression ""N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI" (string_literal ""N4gold15General_options18Struct_fix_arm1176E"" " string_content ") + identifier) + number_literal) )))) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n          *(undefined4 *)((int)&pOVar17[1].super_Output_data._vptr_Output_data + uVar21) = 0;\n          uVar21 = uVar21 + 4;\n        } while (uVar21 < 0x1c);" do (compound_statement "{\n          *(undefined4 *)((int)&pOVar17[1].super_Output_data._vptr_Output_data + uVar21) = 0;\n          uVar21 = uVar21 + 4;\n        }" { (expression_statement "*(undefined4 *)((int)&pOVar17[1].super_Output_data._vptr_Output_data + uVar21) = 0;" (assignment_expression "*(undefined4 *)((int)&pOVar17[1].super_Output_data._vptr_Output_data + uVar21) = 0" (pointer_expression "*(undefined4 *)((int)&pOVar17[1].super_Output_data._vptr_Output_data + uVar21)" * (cast_expression "(undefined4 *)((int)&pOVar17[1].super_Output_data._vptr_Output_data + uVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar17[1].super_Output_data._vptr_Output_data + uVar21)" ( (binary_expression "(int)&pOVar17[1].super_Output_data._vptr_Output_data + uVar21" (cast_expression "(int)&pOVar17[1].super_Output_data._vptr_Output_data" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar17[1].super_Output_data._vptr_Output_data" & (field_expression "pOVar17[1].super_Output_data._vptr_Output_data" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + identifier) )))) = number_literal) ;) (expression_statement "uVar21 = uVar21 + 4;" (assignment_expression "uVar21 = uVar21 + 4" identifier = (binary_expression "uVar21 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar21 < 0x1c)" ( (binary_expression "uVar21 < 0x1c" identifier < number_literal) )) ;) (expression_statement "pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)((int)&pOVar17[1].super_Output_data.offset_ + 4);" (assignment_expression "pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)((int)&pOVar17[1].super_Output_data.offset_ + 4)" (field_expression "pOVar17[1].super_Output_data._vptr_Output_data" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)((int)&pOVar17[1].super_Output_data.offset_ + 4)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&pOVar17[1].super_Output_data.offset_ + 4)" ( (binary_expression "(int)&pOVar17[1].super_Output_data.offset_ + 4" (cast_expression "(int)&pOVar17[1].super_Output_data.offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar17[1].super_Output_data.offset_" & (field_expression "pOVar17[1].super_Output_data.offset_" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) ;) (expression_statement "*(Output_section **)&pOVar17[1].addralign_ = extraout_ECX;" (assignment_expression "*(Output_section **)&pOVar17[1].addralign_ = extraout_ECX" (pointer_expression "*(Output_section **)&pOVar17[1].addralign_" * (cast_expression "(Output_section **)&pOVar17[1].addralign_" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pOVar17[1].addralign_" & (field_expression "pOVar17[1].addralign_" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (expression_statement "extraout_ECX->out_shndx_ = (uint)pOVar17;" (assignment_expression "extraout_ECX->out_shndx_ = (uint)pOVar17" (field_expression "extraout_ECX->out_shndx_" identifier -> field_identifier) = (cast_expression "(uint)pOVar17" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(undefined4 *)&pOVar17[1].super_Output_data.address_ = 1;" (assignment_expression "*(undefined4 *)&pOVar17[1].super_Output_data.address_ = 1" (pointer_expression "*(undefined4 *)&pOVar17[1].super_Output_data.address_" * (cast_expression "(undefined4 *)&pOVar17[1].super_Output_data.address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar17[1].super_Output_data.address_" & (field_expression "pOVar17[1].super_Output_data.address_" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar17[1].super_Output_data.address_ + 4)" ( (binary_expression "(int)&pOVar17[1].super_Output_data.address_ + 4" (cast_expression "(int)&pOVar17[1].super_Output_data.address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar17[1].super_Output_data.address_" & (field_expression "pOVar17[1].super_Output_data.address_" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;" (assignment_expression "*(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0" (pointer_expression "*(undefined4 *)&pOVar17[1].super_Output_data.data_size_" * (cast_expression "(undefined4 *)&pOVar17[1].super_Output_data.data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar17[1].super_Output_data.data_size_" & (field_expression "pOVar17[1].super_Output_data.data_size_" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0x3f800000;" (assignment_expression "*(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0x3f800000" (pointer_expression "*(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar17[1].super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&pOVar17[1].super_Output_data.data_size_ + 4" (cast_expression "(int)&pOVar17[1].super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar17[1].super_Output_data.data_size_" & (field_expression "pOVar17[1].super_Output_data.data_size_" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;" (assignment_expression "*(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0" (pointer_expression "*(undefined4 *)&pOVar17[1].super_Output_data.offset_" * (cast_expression "(undefined4 *)&pOVar17[1].super_Output_data.offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar17[1].super_Output_data.offset_" & (field_expression "pOVar17[1].super_Output_data.offset_" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar17[1].super_Output_data.offset_ + 4)" ( (binary_expression "(int)&pOVar17[1].super_Output_data.offset_ + 4" (cast_expression "(int)&pOVar17[1].super_Output_data.offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar17[1].super_Output_data.offset_" & (field_expression "pOVar17[1].super_Output_data.offset_" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c" * (cast_expression "(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar17[1].super_Output_data.field_0x1c" & (field_expression "pOVar17[1].super_Output_data.field_0x1c" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined1 *)&pOVar17[1].output_section_ = 0;" (assignment_expression "*(undefined1 *)&pOVar17[1].output_section_ = 0" (pointer_expression "*(undefined1 *)&pOVar17[1].output_section_" * (cast_expression "(undefined1 *)&pOVar17[1].output_section_" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar17[1].output_section_" & (field_expression "pOVar17[1].output_section_" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier)))) = number_literal) ;) (labeled_statement "gold::Layout::add_output_section_data\n                  (this_01,&UNK_002d8d0c + unaff_EDI,1,6,pOVar17,ORDER_PLT,false);" statement_identifier : (ERROR ":" :) (labeled_statement "Layout::add_output_section_data\n                  (this_01,&UNK_002d8d0c + unaff_EDI,1,6,pOVar17,ORDER_PLT,false);" statement_identifier : (ERROR ":" :) (expression_statement "add_output_section_data\n                  (this_01,&UNK_002d8d0c + unaff_EDI,1,6,pOVar17,ORDER_PLT,false);" (call_expression "add_output_section_data\n                  (this_01,&UNK_002d8d0c + unaff_EDI,1,6,pOVar17,ORDER_PLT,false)" identifier (argument_list "(this_01,&UNK_002d8d0c + unaff_EDI,1,6,pOVar17,ORDER_PLT,false)" ( identifier , (binary_expression "&UNK_002d8d0c + unaff_EDI" (pointer_expression "&UNK_002d8d0c" & identifier) + identifier) , number_literal , number_literal , identifier , identifier , false ))) ;))) })) (expression_statement "view_size = (section_size_type)rela;" (assignment_expression "view_size = (section_size_type)rela" identifier = (cast_expression "(section_size_type)rela" ( (type_descriptor "section_size_type" type_identifier) ) identifier)) ;) (if_statement "if ((*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&\n         (rela[6].p_ == (Mips64_rela_data *)0xffffffff)) {\n        std::\n        _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::\n        _M_insert<(anonymous_namespace)::Mips_symbol<64>*_const&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<(anonymous_namespace)::Mips_symbol<64>*,_true>_>_>_>\n                  ();\n        *(undefined1 *)(view_size + 0x5d) = 1;\n      }" if (parenthesized_expression "((*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&\n         (rela[6].p_ == (Mips64_rela_data *)0xffffffff))" ( (binary_expression "(*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&\n         (rela[6].p_ == (Mips64_rela_data *)0xffffffff)" (parenthesized_expression "(*(char *)((int)&rela[0x17].p_ + 1) == '\0')" ( (binary_expression "*(char *)((int)&rela[0x17].p_ + 1) == '\0'" (pointer_expression "*(char *)((int)&rela[0x17].p_ + 1)" * (cast_expression "(char *)((int)&rela[0x17].p_ + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rela[0x17].p_ + 1)" ( (binary_expression "(int)&rela[0x17].p_ + 1" (cast_expression "(int)&rela[0x17].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[0x17].p_" & (field_expression "rela[0x17].p_" (subscript_expression "rela[0x17]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(rela[6].p_ == (Mips64_rela_data *)0xffffffff)" ( (binary_expression "rela[6].p_ == (Mips64_rela_data *)0xffffffff" (field_expression "rela[6].p_" (subscript_expression "rela[6]" identifier [ number_literal ]) . field_identifier) == (cast_expression "(Mips64_rela_data *)0xffffffff" ( (type_descriptor "Mips64_rela_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        std::\n        _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::\n        _M_insert<(anonymous_namespace)::Mips_symbol<64>*_const&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<(anonymous_namespace)::Mips_symbol<64>*,_true>_>_>_>\n                  ();\n        *(undefined1 *)(view_size + 0x5d) = 1;\n      }" { (labeled_statement "std::\n        _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::\n        _M_insert<(anonymous_namespace)::Mips_symbol<64>*_const&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<(anonymous_namespace)::Mips_symbol<64>*,_true>_>_>_>\n                  ();" statement_identifier (ERROR "::\n        _Hashtable<(anonymous_namespace)::Mips_symbol<64>*,_(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>,_std::__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std:" : : (binary_expression "_Hashtable<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (binary_expression "Mips_symbol<64>*,_(anonymous_namespace)" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*,_(anonymous_namespace)" * (ERROR "," ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (binary_expression "Mips_symbol<64>*,_std" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*,_std" * (ERROR "," ,) identifier)) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (binary_expression "Mips_symbol<64>*>,_std" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*>,_std" * (ERROR ">," > ,) identifier)) : : (comma_expression "__detail::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>,_std" identifier (ERROR "::_Identity,_std::equal_to<(anonymous_namespace)::Mips_symbol<64>*>,_(anonymous_namespace)::Mips_symbol_hash<64>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (binary_expression "Mips_symbol<64>*>,_(anonymous_namespace)" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*>,_(anonymous_namespace)" * (ERROR ">," > ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier ))))) : : (binary_expression "Mips_symbol_hash<64" identifier < number_literal) >) , identifier) :) : (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::\n        _M_insert<(anonymous_namespace)::Mips_symbol<64>*_const&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<(anonymous_namespace)::Mips_symbol<64>*,_true>_>_>_>\n                  ();" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::\n        _M_insert<(anonymous_namespace)::Mips_symbol<64>*_const&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<(anonymous_namespace)::Mips_symbol<64>*,_true>_>_>_>\n                  ();" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::\n        _M_insert<(anonymous_namespace)::Mips_symbol<64>*_const&,_std::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<(anonymous_namespace)::Mips_symbol<64>*,_true>_>_>_>\n                  ();" statement_identifier (ERROR "::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n        ::\n        _M_insert<(anonymous_namespace)::Mips_symbol<64>*_const&,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : (comma_expression "__detail::_Hashtable_traits<true,_true,_true>_>\n        ::\n        _M_insert<(anonymous_namespace)::Mips_symbol<64>*_const&,_std" identifier (ERROR "::_Hashtable_traits<true,_true,_true>_>\n        ::\n        _M_insert<(anonymous_namespace)::Mips_symbol<64>*_const&" : : (comma_expression "_Hashtable_traits<true,_true,_true>_>\n        ::\n        _M_insert<(anonymous_namespace)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n        ::\n        _M_insert<(anonymous_namespace)" identifier , (binary_expression "_true>_>\n        ::\n        _M_insert<(anonymous_namespace)" (binary_expression "_true>_>\n        ::\n        _M_insert" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))))) : : (binary_expression "Mips_symbol<64>*_const" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*_const" * identifier)) &) , identifier) :) : (labeled_statement "__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<(anonymous_namespace)::Mips_symbol<64>*,_true>_>_>_>\n                  ();" statement_identifier (ERROR "::_AllocNode<std::allocator<std:" : : (binary_expression "_AllocNode<std" identifier < identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (labeled_statement "__detail::_Hash_node<(anonymous_namespace)::Mips_symbol<64>*,_true>_>_>_>\n                  ();" statement_identifier (ERROR "::_Hash_node<(anonymous_namespace):" : : (binary_expression "_Hash_node<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) :) : (expression_statement "Mips_symbol<64>*,_true>_>_>_>\n                  ();" (binary_expression "Mips_symbol<64>*,_true>_>_>_>\n                  ()" (binary_expression "Mips_symbol<64>*,_true>_>_>_" (binary_expression "Mips_symbol<64>*,_true>_>_" (binary_expression "Mips_symbol<64>*,_true>_" (binary_expression "Mips_symbol<64>*,_true" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*,_true" * (ERROR "," ,) identifier)) > identifier) > identifier) > identifier) > (parenthesized_expression "()" ( identifier ))) ;))))))) (expression_statement "*(undefined1 *)(view_size + 0x5d) = 1;" (assignment_expression "*(undefined1 *)(view_size + 0x5d) = 1" (pointer_expression "*(undefined1 *)(view_size + 0x5d)" * (cast_expression "(undefined1 *)(view_size + 0x5d)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(view_size + 0x5d)" ( (binary_expression "view_size + 0x5d" identifier + number_literal) )))) = number_literal) ;) })) })) }) (labeled_statement "LAB_001987a0:\n  if (((byte)this[0x1e8] & 1) == 0) {\n    if (output_section == (Output_section *)0x64) {\n      bVar4 = *(byte *)((int)&rela[10].p_ + 1);\n      in_stack_ffffff88._M_current =\n           (Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4);\n      if ((bVar4 >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (output_section < (Output_section *)0x65) {\n      if (output_section == (Output_section *)0xa) {\nLAB_00198a07:\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n      else if (output_section < (Output_section *)0xb) {\n        if (output_section == (Output_section *)0x4) goto LAB_00198a07;\n      }\n      else if (&output_section[-1].checkpoint_ < (Checkpoint_output_section **)0x2)\n      goto LAB_00198a07;\n    }\n    else if (output_section < (Output_section *)0x8e) {\n      if ((Output_section *)0x8a < output_section) goto LAB_00198a07;\n      if (output_section == (Output_section *)0x85) {\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n    }\n    else if (output_section == (Output_section *)0xad) {\n      *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n    }\n  }" statement_identifier : (if_statement "if (((byte)this[0x1e8] & 1) == 0) {\n    if (output_section == (Output_section *)0x64) {\n      bVar4 = *(byte *)((int)&rela[10].p_ + 1);\n      in_stack_ffffff88._M_current =\n           (Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4);\n      if ((bVar4 >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (output_section < (Output_section *)0x65) {\n      if (output_section == (Output_section *)0xa) {\nLAB_00198a07:\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n      else if (output_section < (Output_section *)0xb) {\n        if (output_section == (Output_section *)0x4) goto LAB_00198a07;\n      }\n      else if (&output_section[-1].checkpoint_ < (Checkpoint_output_section **)0x2)\n      goto LAB_00198a07;\n    }\n    else if (output_section < (Output_section *)0x8e) {\n      if ((Output_section *)0x8a < output_section) goto LAB_00198a07;\n      if (output_section == (Output_section *)0x85) {\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n    }\n    else if (output_section == (Output_section *)0xad) {\n      *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n    }\n  }" if (parenthesized_expression "(((byte)this[0x1e8] & 1) == 0)" ( (binary_expression "((byte)this[0x1e8] & 1) == 0" (parenthesized_expression "((byte)this[0x1e8] & 1)" ( (binary_expression "(byte)this[0x1e8] & 1" (cast_expression "(byte)this[0x1e8]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "this[0x1e8]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n    if (output_section == (Output_section *)0x64) {\n      bVar4 = *(byte *)((int)&rela[10].p_ + 1);\n      in_stack_ffffff88._M_current =\n           (Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4);\n      if ((bVar4 >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (output_section < (Output_section *)0x65) {\n      if (output_section == (Output_section *)0xa) {\nLAB_00198a07:\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n      else if (output_section < (Output_section *)0xb) {\n        if (output_section == (Output_section *)0x4) goto LAB_00198a07;\n      }\n      else if (&output_section[-1].checkpoint_ < (Checkpoint_output_section **)0x2)\n      goto LAB_00198a07;\n    }\n    else if (output_section < (Output_section *)0x8e) {\n      if ((Output_section *)0x8a < output_section) goto LAB_00198a07;\n      if (output_section == (Output_section *)0x85) {\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n    }\n    else if (output_section == (Output_section *)0xad) {\n      *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n    }\n  }" { (if_statement "if (output_section == (Output_section *)0x64) {\n      bVar4 = *(byte *)((int)&rela[10].p_ + 1);\n      in_stack_ffffff88._M_current =\n           (Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4);\n      if ((bVar4 >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (output_section < (Output_section *)0x65) {\n      if (output_section == (Output_section *)0xa) {\nLAB_00198a07:\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n      else if (output_section < (Output_section *)0xb) {\n        if (output_section == (Output_section *)0x4) goto LAB_00198a07;\n      }\n      else if (&output_section[-1].checkpoint_ < (Checkpoint_output_section **)0x2)\n      goto LAB_00198a07;\n    }\n    else if (output_section < (Output_section *)0x8e) {\n      if ((Output_section *)0x8a < output_section) goto LAB_00198a07;\n      if (output_section == (Output_section *)0x85) {\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n    }\n    else if (output_section == (Output_section *)0xad) {\n      *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n    }" if (parenthesized_expression "(output_section == (Output_section *)0x64)" ( (binary_expression "output_section == (Output_section *)0x64" identifier == (cast_expression "(Output_section *)0x64" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      bVar4 = *(byte *)((int)&rela[10].p_ + 1);\n      in_stack_ffffff88._M_current =\n           (Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4);\n      if ((bVar4 >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }" { (expression_statement "bVar4 = *(byte *)((int)&rela[10].p_ + 1);" (assignment_expression "bVar4 = *(byte *)((int)&rela[10].p_ + 1)" identifier = (pointer_expression "*(byte *)((int)&rela[10].p_ + 1)" * (cast_expression "(byte *)((int)&rela[10].p_ + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rela[10].p_ + 1)" ( (binary_expression "(int)&rela[10].p_ + 1" (cast_expression "(int)&rela[10].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[10].p_" & (field_expression "rela[10].p_" (subscript_expression "rela[10]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (expression_statement "in_stack_ffffff88._M_current =\n           (Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4);" (assignment_expression "in_stack_ffffff88._M_current =\n           (Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4)" (field_expression "in_stack_ffffff88._M_current" identifier . field_identifier) = (parenthesized_expression "(Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4)" ( (binary_expression "Mips_symbol<64> **)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4)" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "**)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4)" * (pointer_expression "*)CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4)" * (ERROR ")" )) (call_expression "CONCAT31((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4)" identifier (argument_list "((int3)((uint)in_stack_ffffff88._M_current >> 8),bVar4)" ( (call_expression "(int3)((uint)in_stack_ffffff88._M_current >> 8)" (parenthesized_expression "(int3)" ( identifier )) (argument_list "((uint)in_stack_ffffff88._M_current >> 8)" ( (binary_expression "(uint)in_stack_ffffff88._M_current >> 8" (cast_expression "(uint)in_stack_ffffff88._M_current" ( (type_descriptor "uint" type_identifier) ) (field_expression "in_stack_ffffff88._M_current" identifier . field_identifier)) >> number_literal) ))) , identifier )))))) ))) ;) (if_statement "if ((bVar4 >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;" if (parenthesized_expression "((bVar4 >> 2 & 0x3c) != 0x3c)" ( (binary_expression "(bVar4 >> 2 & 0x3c) != 0x3c" (parenthesized_expression "(bVar4 >> 2 & 0x3c)" ( (binary_expression "bVar4 >> 2 & 0x3c" (binary_expression "bVar4 >> 2" identifier >> number_literal) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00198a07;" goto statement_identifier ;)) }) (else_clause "else if (output_section < (Output_section *)0x65) {\n      if (output_section == (Output_section *)0xa) {\nLAB_00198a07:\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n      else if (output_section < (Output_section *)0xb) {\n        if (output_section == (Output_section *)0x4) goto LAB_00198a07;\n      }\n      else if (&output_section[-1].checkpoint_ < (Checkpoint_output_section **)0x2)\n      goto LAB_00198a07;\n    }\n    else if (output_section < (Output_section *)0x8e) {\n      if ((Output_section *)0x8a < output_section) goto LAB_00198a07;\n      if (output_section == (Output_section *)0x85) {\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n    }\n    else if (output_section == (Output_section *)0xad) {\n      *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n    }" else (if_statement "if (output_section < (Output_section *)0x65) {\n      if (output_section == (Output_section *)0xa) {\nLAB_00198a07:\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n      else if (output_section < (Output_section *)0xb) {\n        if (output_section == (Output_section *)0x4) goto LAB_00198a07;\n      }\n      else if (&output_section[-1].checkpoint_ < (Checkpoint_output_section **)0x2)\n      goto LAB_00198a07;\n    }\n    else if (output_section < (Output_section *)0x8e) {\n      if ((Output_section *)0x8a < output_section) goto LAB_00198a07;\n      if (output_section == (Output_section *)0x85) {\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n    }\n    else if (output_section == (Output_section *)0xad) {\n      *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n    }" if (parenthesized_expression "(output_section < (Output_section *)0x65)" ( (binary_expression "output_section < (Output_section *)0x65" identifier < (cast_expression "(Output_section *)0x65" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (output_section == (Output_section *)0xa) {\nLAB_00198a07:\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n      else if (output_section < (Output_section *)0xb) {\n        if (output_section == (Output_section *)0x4) goto LAB_00198a07;\n      }\n      else if (&output_section[-1].checkpoint_ < (Checkpoint_output_section **)0x2)\n      goto LAB_00198a07;\n    }" { (if_statement "if (output_section == (Output_section *)0xa) {\nLAB_00198a07:\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n      else if (output_section < (Output_section *)0xb) {\n        if (output_section == (Output_section *)0x4) goto LAB_00198a07;\n      }\n      else if (&output_section[-1].checkpoint_ < (Checkpoint_output_section **)0x2)\n      goto LAB_00198a07;" if (parenthesized_expression "(output_section == (Output_section *)0xa)" ( (binary_expression "output_section == (Output_section *)0xa" identifier == (cast_expression "(Output_section *)0xa" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00198a07:\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }" { (labeled_statement "LAB_00198a07:\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;" statement_identifier : (expression_statement "*(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;" (assignment_expression "*(undefined1 *)((int)&rela[0x10].p_ + 1) = 1" (pointer_expression "*(undefined1 *)((int)&rela[0x10].p_ + 1)" * (cast_expression "(undefined1 *)((int)&rela[0x10].p_ + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rela[0x10].p_ + 1)" ( (binary_expression "(int)&rela[0x10].p_ + 1" (cast_expression "(int)&rela[0x10].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[0x10].p_" & (field_expression "rela[0x10].p_" (subscript_expression "rela[0x10]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = number_literal) ;)) }) (else_clause "else if (output_section < (Output_section *)0xb) {\n        if (output_section == (Output_section *)0x4) goto LAB_00198a07;\n      }\n      else if (&output_section[-1].checkpoint_ < (Checkpoint_output_section **)0x2)\n      goto LAB_00198a07;" else (if_statement "if (output_section < (Output_section *)0xb) {\n        if (output_section == (Output_section *)0x4) goto LAB_00198a07;\n      }\n      else if (&output_section[-1].checkpoint_ < (Checkpoint_output_section **)0x2)\n      goto LAB_00198a07;" if (parenthesized_expression "(output_section < (Output_section *)0xb)" ( (binary_expression "output_section < (Output_section *)0xb" identifier < (cast_expression "(Output_section *)0xb" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (output_section == (Output_section *)0x4) goto LAB_00198a07;\n      }" { (if_statement "if (output_section == (Output_section *)0x4) goto LAB_00198a07;" if (parenthesized_expression "(output_section == (Output_section *)0x4)" ( (binary_expression "output_section == (Output_section *)0x4" identifier == (cast_expression "(Output_section *)0x4" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00198a07;" goto statement_identifier ;)) }) (else_clause "else if (&output_section[-1].checkpoint_ < (Checkpoint_output_section **)0x2)\n      goto LAB_00198a07;" else (if_statement "if (&output_section[-1].checkpoint_ < (Checkpoint_output_section **)0x2)\n      goto LAB_00198a07;" if (parenthesized_expression "(&output_section[-1].checkpoint_ < (Checkpoint_output_section **)0x2)" ( (binary_expression "&output_section[-1].checkpoint_ < (Checkpoint_output_section **)0x2" (pointer_expression "&output_section[-1].checkpoint_" & (field_expression "output_section[-1].checkpoint_" (subscript_expression "output_section[-1]" identifier [ number_literal ]) . field_identifier)) < (cast_expression "(Checkpoint_output_section **)0x2" ( (type_descriptor "Checkpoint_output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_00198a07;" goto statement_identifier ;)))))) }) (else_clause "else if (output_section < (Output_section *)0x8e) {\n      if ((Output_section *)0x8a < output_section) goto LAB_00198a07;\n      if (output_section == (Output_section *)0x85) {\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n    }\n    else if (output_section == (Output_section *)0xad) {\n      *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n    }" else (if_statement "if (output_section < (Output_section *)0x8e) {\n      if ((Output_section *)0x8a < output_section) goto LAB_00198a07;\n      if (output_section == (Output_section *)0x85) {\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n    }\n    else if (output_section == (Output_section *)0xad) {\n      *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n    }" if (parenthesized_expression "(output_section < (Output_section *)0x8e)" ( (binary_expression "output_section < (Output_section *)0x8e" identifier < (cast_expression "(Output_section *)0x8e" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if ((Output_section *)0x8a < output_section) goto LAB_00198a07;\n      if (output_section == (Output_section *)0x85) {\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }\n    }" { (if_statement "if ((Output_section *)0x8a < output_section) goto LAB_00198a07;" if (parenthesized_expression "((Output_section *)0x8a < output_section)" ( (binary_expression "(Output_section *)0x8a < output_section" (cast_expression "(Output_section *)0x8a" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (goto_statement "goto LAB_00198a07;" goto statement_identifier ;)) (if_statement "if (output_section == (Output_section *)0x85) {\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }" if (parenthesized_expression "(output_section == (Output_section *)0x85)" ( (binary_expression "output_section == (Output_section *)0x85" identifier == (cast_expression "(Output_section *)0x85" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n      }" { (expression_statement "*(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;" (assignment_expression "*(undefined1 *)((int)&rela[0x10].p_ + 1) = 1" (pointer_expression "*(undefined1 *)((int)&rela[0x10].p_ + 1)" * (cast_expression "(undefined1 *)((int)&rela[0x10].p_ + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rela[0x10].p_ + 1)" ( (binary_expression "(int)&rela[0x10].p_ + 1" (cast_expression "(int)&rela[0x10].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[0x10].p_" & (field_expression "rela[0x10].p_" (subscript_expression "rela[0x10]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = number_literal) ;) })) }) (else_clause "else if (output_section == (Output_section *)0xad) {\n      *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n    }" else (if_statement "if (output_section == (Output_section *)0xad) {\n      *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n    }" if (parenthesized_expression "(output_section == (Output_section *)0xad)" ( (binary_expression "output_section == (Output_section *)0xad" identifier == (cast_expression "(Output_section *)0xad" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;\n    }" { (expression_statement "*(undefined1 *)((int)&rela[0x10].p_ + 1) = 1;" (assignment_expression "*(undefined1 *)((int)&rela[0x10].p_ + 1) = 1" (pointer_expression "*(undefined1 *)((int)&rela[0x10].p_ + 1)" * (cast_expression "(undefined1 *)((int)&rela[0x10].p_ + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rela[0x10].p_ + 1)" ( (binary_expression "(int)&rela[0x10].p_ + 1" (cast_expression "(int)&rela[0x10].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[0x10].p_" & (field_expression "rela[0x10].p_" (subscript_expression "rela[0x10]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = number_literal) ;) })))))))) }))) (ERROR "bVar11 = gold::" (assignment_expression "bVar11 = gold" identifier = identifier) : :) (labeled_statement "Symbol::needs_plt_entry((Symbol *)rela);" statement_identifier : (ERROR ":" :) (expression_statement "needs_plt_entry((Symbol *)rela);" (call_expression "needs_plt_entry((Symbol *)rela)" identifier (argument_list "((Symbol *)rela)" ( (cast_expression "(Symbol *)rela" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (if_statement "if (bVar11) {\n    if ((*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&\n       (rela[6].p_ == (Mips64_rela_data *)0xffffffff)) {\n      iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n      if (iVar14 == 0) {\n        Target_mips<64,_false>::got_section\n                  ((Target_mips<64,_false> *)in_stack_ffffff84,\n                   (Symbol_table *)in_stack_ffffff88._M_current,layout_00);\n        pOVar17 = (Output_section_data *)operator_new(0x30);\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)(unaff_EDI + 0x4439c7);\n        extraout_ECX->name_ = (char *)pOVar17;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 4;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)(&UNK_002b4e97 + unaff_EDI);\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f02),1,3,pOVar17,ORDER_DATA,false);\n        pcVar13 = extraout_ECX->name_;\n        if ((pcVar13[0x1c] & 2U) != 0) goto LAB_001997f3;\n        pcVar13[0xc] = '\x10';\n        pcVar13[0xd] = '\0';\n        pcVar13[0xe] = '\0';\n        pcVar13[0xf] = '\0';\n        pcVar13[0x10] = '\0';\n        pcVar13[0x11] = '\0';\n        pcVar13[0x12] = '\0';\n        pcVar13[0x13] = '\0';\n        pOVar17 = (Output_section_data *)operator_new(0x50);\n        pcVar13 = extraout_ECX->name_;\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 8;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        *(char **)&pOVar17[1].super_Output_data.address_ = pcVar13;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0;\n        pOVar17[1].output_section_ = extraout_ECX;\n                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */\n        this_00 = (Output_data_reloc_generic *)operator_new(0x40);\n        in_stack_ffffff88._M_current = (Mips_symbol<64> **)this_00;\n                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */\n        gold::Output_data_reloc_generic::Output_data_reloc_generic(this_00,0x40,false);\n        this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)0x0;\n        *(undefined4 *)\n         &this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n          address_ = 0;\n        *(undefined4 *)\n         ((int)&this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data.address_ + 4) = 0;\n        pOVar17[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)this_00;\n        (this_00->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)(&UNK_0044971f + unaff_EDI);\n                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f79),9,2,(Output_section_data *)this_00,\n                   ORDER_DYNAMIC_PLT_RELOCS,false);\n        *(Output_section_data **)&(extraout_ECX->super_Output_data).field_0x1c = pOVar17;\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b7b9f),1,6,pOVar17,ORDER_PLT,false);\n        iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n        gold::Output_section::set_info_section\n                  (*(Output_section **)(*(int *)(iVar14 + 0x2c) + 0x20),\n                   *(Output_section **)(iVar14 + 0x20));\n        iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n        if (rela[6].p_ != (Mips64_rela_data *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x1cf4,(char *)(unaff_EDI + 0x2e1fd7))\n          ;\n        }\n      }\n      puVar8 = *(undefined4 **)(iVar14 + 0x38);\n      rela[6].p_ = (Mips64_rela_data *)((((int)puVar8 - *(int *)(iVar14 + 0x34) >> 2) + 2) * 0x10);\n      if (puVar8 == *(undefined4 **)(iVar14 + 0x3c)) {\n        std::\n        vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n        ::_M_realloc_insert<(anonymous_namespace)::Mips_symbol<64>*_const&>\n                  ((vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                    *)in_stack_ffffff84,in_stack_ffffff88,(Mips_symbol<64> **)layout_00);\n      }\n      else {\n        *puVar8 = rela;\n        *(undefined4 **)(iVar14 + 0x38) = puVar8 + 1;\n      }\n      if ((output_section == (Output_section *)0x64 || output_section == (Output_section *)0x4) ||\n         (output_section == (Output_section *)0x85)) {\n        if (output_section == (Output_section *)0x4) {\n          *(undefined1 *)((int)&rela[0x17].p_ + 2) = 1;\n        }\n        else {\n          *(undefined1 *)((int)&rela[0x17].p_ + 3) = 1;\n        }\n      }\n      od = *(Output_data **)(iVar14 + 0x30);\n      iVar9 = (int)od->data_size_;\n      iVar16 = iVar9 + 8;\n      if ((od->field_0x1c & 2) != 0) {\nLAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(gold::General_options::parse_EL + unaff_EDI + 4),0x231,\n                   &UNK_002e21d7 + unaff_EDI);\n      }\n      *(int *)&od->data_size_ = iVar16;\n      *(int *)((int)&od->data_size_ + 4) = iVar16 >> 0x1f;\n      pbVar2 = (byte *)((int)&rela[10].p_ + 2);\n      *pbVar2 = *pbVar2 | 0x40;\n      in_stack_ffffff88._M_current = *(Mips_symbol<64> ***)(iVar14 + 0x2c);\n      gold::Output_reloc<9,_true,_64,_false>::Output_reloc\n                ((Output_reloc<9,_true,_64,_false> *)&view_size,(Symbol *)rela,0x7f,od,\n                 (longlong)iVar9,false,false,false);\n      gold::Output_data_reloc_base<9,_true,_64,_false>::add\n                ((Output_data_reloc_base<9,_true,_64,_false> *)in_stack_ffffff88._M_current,od,\n                 (Output_reloc<9,_true,_64,_false> *)&view_size);\n    }\n    if ((((uint)rela[10].p_ & 0x70000) == 0) && ((rela[2].p_[1].r_addend & 0x100000000) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (gold::Symbol::set_needs_dynsym_value((Symbol *)rela), *(char *)&rela[0x14].p_ != '\0')) {\n        bVar4 = *(byte *)((int)&rela[10].p_ + 1);\n        if ((bVar4 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)&rela[10].p_ + 1) = bVar4 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)&rela[10].p_ + 1) = (byte)((bVar4 >> 2 & 0x30 | 2) << 2) | bVar4 & 3;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n    if ((*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&\n       (rela[6].p_ == (Mips64_rela_data *)0xffffffff)) {\n      iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n      if (iVar14 == 0) {\n        Target_mips<64,_false>::got_section\n                  ((Target_mips<64,_false> *)in_stack_ffffff84,\n                   (Symbol_table *)in_stack_ffffff88._M_current,layout_00);\n        pOVar17 = (Output_section_data *)operator_new(0x30);\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)(unaff_EDI + 0x4439c7);\n        extraout_ECX->name_ = (char *)pOVar17;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 4;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)(&UNK_002b4e97 + unaff_EDI);\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f02),1,3,pOVar17,ORDER_DATA,false);\n        pcVar13 = extraout_ECX->name_;\n        if ((pcVar13[0x1c] & 2U) != 0) goto LAB_001997f3;\n        pcVar13[0xc] = '\x10';\n        pcVar13[0xd] = '\0';\n        pcVar13[0xe] = '\0';\n        pcVar13[0xf] = '\0';\n        pcVar13[0x10] = '\0';\n        pcVar13[0x11] = '\0';\n        pcVar13[0x12] = '\0';\n        pcVar13[0x13] = '\0';\n        pOVar17 = (Output_section_data *)operator_new(0x50);\n        pcVar13 = extraout_ECX->name_;\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 8;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        *(char **)&pOVar17[1].super_Output_data.address_ = pcVar13;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0;\n        pOVar17[1].output_section_ = extraout_ECX;\n                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */\n        this_00 = (Output_data_reloc_generic *)operator_new(0x40);\n        in_stack_ffffff88._M_current = (Mips_symbol<64> **)this_00;\n                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */\n        gold::Output_data_reloc_generic::Output_data_reloc_generic(this_00,0x40,false);\n        this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)0x0;\n        *(undefined4 *)\n         &this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n          address_ = 0;\n        *(undefined4 *)\n         ((int)&this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data.address_ + 4) = 0;\n        pOVar17[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)this_00;\n        (this_00->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)(&UNK_0044971f + unaff_EDI);\n                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f79),9,2,(Output_section_data *)this_00,\n                   ORDER_DYNAMIC_PLT_RELOCS,false);\n        *(Output_section_data **)&(extraout_ECX->super_Output_data).field_0x1c = pOVar17;\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b7b9f),1,6,pOVar17,ORDER_PLT,false);\n        iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n        gold::Output_section::set_info_section\n                  (*(Output_section **)(*(int *)(iVar14 + 0x2c) + 0x20),\n                   *(Output_section **)(iVar14 + 0x20));\n        iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n        if (rela[6].p_ != (Mips64_rela_data *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x1cf4,(char *)(unaff_EDI + 0x2e1fd7))\n          ;\n        }\n      }\n      puVar8 = *(undefined4 **)(iVar14 + 0x38);\n      rela[6].p_ = (Mips64_rela_data *)((((int)puVar8 - *(int *)(iVar14 + 0x34) >> 2) + 2) * 0x10);\n      if (puVar8 == *(undefined4 **)(iVar14 + 0x3c)) {\n        std::\n        vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n        ::_M_realloc_insert<(anonymous_namespace)::Mips_symbol<64>*_const&>\n                  ((vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                    *)in_stack_ffffff84,in_stack_ffffff88,(Mips_symbol<64> **)layout_00);\n      }\n      else {\n        *puVar8 = rela;\n        *(undefined4 **)(iVar14 + 0x38) = puVar8 + 1;\n      }\n      if ((output_section == (Output_section *)0x64 || output_section == (Output_section *)0x4) ||\n         (output_section == (Output_section *)0x85)) {\n        if (output_section == (Output_section *)0x4) {\n          *(undefined1 *)((int)&rela[0x17].p_ + 2) = 1;\n        }\n        else {\n          *(undefined1 *)((int)&rela[0x17].p_ + 3) = 1;\n        }\n      }\n      od = *(Output_data **)(iVar14 + 0x30);\n      iVar9 = (int)od->data_size_;\n      iVar16 = iVar9 + 8;\n      if ((od->field_0x1c & 2) != 0) {\nLAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(gold::General_options::parse_EL + unaff_EDI + 4),0x231,\n                   &UNK_002e21d7 + unaff_EDI);\n      }\n      *(int *)&od->data_size_ = iVar16;\n      *(int *)((int)&od->data_size_ + 4) = iVar16 >> 0x1f;\n      pbVar2 = (byte *)((int)&rela[10].p_ + 2);\n      *pbVar2 = *pbVar2 | 0x40;\n      in_stack_ffffff88._M_current = *(Mips_symbol<64> ***)(iVar14 + 0x2c);\n      gold::Output_reloc<9,_true,_64,_false>::Output_reloc\n                ((Output_reloc<9,_true,_64,_false> *)&view_size,(Symbol *)rela,0x7f,od,\n                 (longlong)iVar9,false,false,false);\n      gold::Output_data_reloc_base<9,_true,_64,_false>::add\n                ((Output_data_reloc_base<9,_true,_64,_false> *)in_stack_ffffff88._M_current,od,\n                 (Output_reloc<9,_true,_64,_false> *)&view_size);\n    }\n    if ((((uint)rela[10].p_ & 0x70000) == 0) && ((rela[2].p_[1].r_addend & 0x100000000) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (gold::Symbol::set_needs_dynsym_value((Symbol *)rela), *(char *)&rela[0x14].p_ != '\0')) {\n        bVar4 = *(byte *)((int)&rela[10].p_ + 1);\n        if ((bVar4 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)&rela[10].p_ + 1) = bVar4 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)&rela[10].p_ + 1) = (byte)((bVar4 >> 2 & 0x30 | 2) << 2) | bVar4 & 3;\n        }\n      }\n    }\n  }" { (if_statement "if ((*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&\n       (rela[6].p_ == (Mips64_rela_data *)0xffffffff)) {\n      iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n      if (iVar14 == 0) {\n        Target_mips<64,_false>::got_section\n                  ((Target_mips<64,_false> *)in_stack_ffffff84,\n                   (Symbol_table *)in_stack_ffffff88._M_current,layout_00);\n        pOVar17 = (Output_section_data *)operator_new(0x30);\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)(unaff_EDI + 0x4439c7);\n        extraout_ECX->name_ = (char *)pOVar17;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 4;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)(&UNK_002b4e97 + unaff_EDI);\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f02),1,3,pOVar17,ORDER_DATA,false);\n        pcVar13 = extraout_ECX->name_;\n        if ((pcVar13[0x1c] & 2U) != 0) goto LAB_001997f3;\n        pcVar13[0xc] = '\x10';\n        pcVar13[0xd] = '\0';\n        pcVar13[0xe] = '\0';\n        pcVar13[0xf] = '\0';\n        pcVar13[0x10] = '\0';\n        pcVar13[0x11] = '\0';\n        pcVar13[0x12] = '\0';\n        pcVar13[0x13] = '\0';\n        pOVar17 = (Output_section_data *)operator_new(0x50);\n        pcVar13 = extraout_ECX->name_;\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 8;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        *(char **)&pOVar17[1].super_Output_data.address_ = pcVar13;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0;\n        pOVar17[1].output_section_ = extraout_ECX;\n                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */\n        this_00 = (Output_data_reloc_generic *)operator_new(0x40);\n        in_stack_ffffff88._M_current = (Mips_symbol<64> **)this_00;\n                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */\n        gold::Output_data_reloc_generic::Output_data_reloc_generic(this_00,0x40,false);\n        this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)0x0;\n        *(undefined4 *)\n         &this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n          address_ = 0;\n        *(undefined4 *)\n         ((int)&this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data.address_ + 4) = 0;\n        pOVar17[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)this_00;\n        (this_00->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)(&UNK_0044971f + unaff_EDI);\n                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f79),9,2,(Output_section_data *)this_00,\n                   ORDER_DYNAMIC_PLT_RELOCS,false);\n        *(Output_section_data **)&(extraout_ECX->super_Output_data).field_0x1c = pOVar17;\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b7b9f),1,6,pOVar17,ORDER_PLT,false);\n        iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n        gold::Output_section::set_info_section\n                  (*(Output_section **)(*(int *)(iVar14 + 0x2c) + 0x20),\n                   *(Output_section **)(iVar14 + 0x20));\n        iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n        if (rela[6].p_ != (Mips64_rela_data *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x1cf4,(char *)(unaff_EDI + 0x2e1fd7))\n          ;\n        }\n      }\n      puVar8 = *(undefined4 **)(iVar14 + 0x38);\n      rela[6].p_ = (Mips64_rela_data *)((((int)puVar8 - *(int *)(iVar14 + 0x34) >> 2) + 2) * 0x10);\n      if (puVar8 == *(undefined4 **)(iVar14 + 0x3c)) {\n        std::\n        vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n        ::_M_realloc_insert<(anonymous_namespace)::Mips_symbol<64>*_const&>\n                  ((vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                    *)in_stack_ffffff84,in_stack_ffffff88,(Mips_symbol<64> **)layout_00);\n      }\n      else {\n        *puVar8 = rela;\n        *(undefined4 **)(iVar14 + 0x38) = puVar8 + 1;\n      }\n      if ((output_section == (Output_section *)0x64 || output_section == (Output_section *)0x4) ||\n         (output_section == (Output_section *)0x85)) {\n        if (output_section == (Output_section *)0x4) {\n          *(undefined1 *)((int)&rela[0x17].p_ + 2) = 1;\n        }\n        else {\n          *(undefined1 *)((int)&rela[0x17].p_ + 3) = 1;\n        }\n      }\n      od = *(Output_data **)(iVar14 + 0x30);\n      iVar9 = (int)od->data_size_;\n      iVar16 = iVar9 + 8;\n      if ((od->field_0x1c & 2) != 0) {\nLAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(gold::General_options::parse_EL + unaff_EDI + 4),0x231,\n                   &UNK_002e21d7 + unaff_EDI);\n      }\n      *(int *)&od->data_size_ = iVar16;\n      *(int *)((int)&od->data_size_ + 4) = iVar16 >> 0x1f;\n      pbVar2 = (byte *)((int)&rela[10].p_ + 2);\n      *pbVar2 = *pbVar2 | 0x40;\n      in_stack_ffffff88._M_current = *(Mips_symbol<64> ***)(iVar14 + 0x2c);\n      gold::Output_reloc<9,_true,_64,_false>::Output_reloc\n                ((Output_reloc<9,_true,_64,_false> *)&view_size,(Symbol *)rela,0x7f,od,\n                 (longlong)iVar9,false,false,false);\n      gold::Output_data_reloc_base<9,_true,_64,_false>::add\n                ((Output_data_reloc_base<9,_true,_64,_false> *)in_stack_ffffff88._M_current,od,\n                 (Output_reloc<9,_true,_64,_false> *)&view_size);\n    }" if (parenthesized_expression "((*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&\n       (rela[6].p_ == (Mips64_rela_data *)0xffffffff))" ( (binary_expression "(*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&\n       (rela[6].p_ == (Mips64_rela_data *)0xffffffff)" (parenthesized_expression "(*(char *)((int)&rela[0x17].p_ + 1) == '\0')" ( (binary_expression "*(char *)((int)&rela[0x17].p_ + 1) == '\0'" (pointer_expression "*(char *)((int)&rela[0x17].p_ + 1)" * (cast_expression "(char *)((int)&rela[0x17].p_ + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rela[0x17].p_ + 1)" ( (binary_expression "(int)&rela[0x17].p_ + 1" (cast_expression "(int)&rela[0x17].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[0x17].p_" & (field_expression "rela[0x17].p_" (subscript_expression "rela[0x17]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(rela[6].p_ == (Mips64_rela_data *)0xffffffff)" ( (binary_expression "rela[6].p_ == (Mips64_rela_data *)0xffffffff" (field_expression "rela[6].p_" (subscript_expression "rela[6]" identifier [ number_literal ]) . field_identifier) == (cast_expression "(Mips64_rela_data *)0xffffffff" ( (type_descriptor "Mips64_rela_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n      if (iVar14 == 0) {\n        Target_mips<64,_false>::got_section\n                  ((Target_mips<64,_false> *)in_stack_ffffff84,\n                   (Symbol_table *)in_stack_ffffff88._M_current,layout_00);\n        pOVar17 = (Output_section_data *)operator_new(0x30);\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)(unaff_EDI + 0x4439c7);\n        extraout_ECX->name_ = (char *)pOVar17;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 4;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)(&UNK_002b4e97 + unaff_EDI);\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f02),1,3,pOVar17,ORDER_DATA,false);\n        pcVar13 = extraout_ECX->name_;\n        if ((pcVar13[0x1c] & 2U) != 0) goto LAB_001997f3;\n        pcVar13[0xc] = '\x10';\n        pcVar13[0xd] = '\0';\n        pcVar13[0xe] = '\0';\n        pcVar13[0xf] = '\0';\n        pcVar13[0x10] = '\0';\n        pcVar13[0x11] = '\0';\n        pcVar13[0x12] = '\0';\n        pcVar13[0x13] = '\0';\n        pOVar17 = (Output_section_data *)operator_new(0x50);\n        pcVar13 = extraout_ECX->name_;\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 8;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        *(char **)&pOVar17[1].super_Output_data.address_ = pcVar13;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0;\n        pOVar17[1].output_section_ = extraout_ECX;\n                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */\n        this_00 = (Output_data_reloc_generic *)operator_new(0x40);\n        in_stack_ffffff88._M_current = (Mips_symbol<64> **)this_00;\n                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */\n        gold::Output_data_reloc_generic::Output_data_reloc_generic(this_00,0x40,false);\n        this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)0x0;\n        *(undefined4 *)\n         &this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n          address_ = 0;\n        *(undefined4 *)\n         ((int)&this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data.address_ + 4) = 0;\n        pOVar17[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)this_00;\n        (this_00->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)(&UNK_0044971f + unaff_EDI);\n                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f79),9,2,(Output_section_data *)this_00,\n                   ORDER_DYNAMIC_PLT_RELOCS,false);\n        *(Output_section_data **)&(extraout_ECX->super_Output_data).field_0x1c = pOVar17;\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b7b9f),1,6,pOVar17,ORDER_PLT,false);\n        iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n        gold::Output_section::set_info_section\n                  (*(Output_section **)(*(int *)(iVar14 + 0x2c) + 0x20),\n                   *(Output_section **)(iVar14 + 0x20));\n        iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n        if (rela[6].p_ != (Mips64_rela_data *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x1cf4,(char *)(unaff_EDI + 0x2e1fd7))\n          ;\n        }\n      }\n      puVar8 = *(undefined4 **)(iVar14 + 0x38);\n      rela[6].p_ = (Mips64_rela_data *)((((int)puVar8 - *(int *)(iVar14 + 0x34) >> 2) + 2) * 0x10);\n      if (puVar8 == *(undefined4 **)(iVar14 + 0x3c)) {\n        std::\n        vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n        ::_M_realloc_insert<(anonymous_namespace)::Mips_symbol<64>*_const&>\n                  ((vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                    *)in_stack_ffffff84,in_stack_ffffff88,(Mips_symbol<64> **)layout_00);\n      }\n      else {\n        *puVar8 = rela;\n        *(undefined4 **)(iVar14 + 0x38) = puVar8 + 1;\n      }\n      if ((output_section == (Output_section *)0x64 || output_section == (Output_section *)0x4) ||\n         (output_section == (Output_section *)0x85)) {\n        if (output_section == (Output_section *)0x4) {\n          *(undefined1 *)((int)&rela[0x17].p_ + 2) = 1;\n        }\n        else {\n          *(undefined1 *)((int)&rela[0x17].p_ + 3) = 1;\n        }\n      }\n      od = *(Output_data **)(iVar14 + 0x30);\n      iVar9 = (int)od->data_size_;\n      iVar16 = iVar9 + 8;\n      if ((od->field_0x1c & 2) != 0) {\nLAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(gold::General_options::parse_EL + unaff_EDI + 4),0x231,\n                   &UNK_002e21d7 + unaff_EDI);\n      }\n      *(int *)&od->data_size_ = iVar16;\n      *(int *)((int)&od->data_size_ + 4) = iVar16 >> 0x1f;\n      pbVar2 = (byte *)((int)&rela[10].p_ + 2);\n      *pbVar2 = *pbVar2 | 0x40;\n      in_stack_ffffff88._M_current = *(Mips_symbol<64> ***)(iVar14 + 0x2c);\n      gold::Output_reloc<9,_true,_64,_false>::Output_reloc\n                ((Output_reloc<9,_true,_64,_false> *)&view_size,(Symbol *)rela,0x7f,od,\n                 (longlong)iVar9,false,false,false);\n      gold::Output_data_reloc_base<9,_true,_64,_false>::add\n                ((Output_data_reloc_base<9,_true,_64,_false> *)in_stack_ffffff88._M_current,od,\n                 (Output_reloc<9,_true,_64,_false> *)&view_size);\n    }" { (expression_statement "iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;" (assignment_expression "iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c" identifier = (pointer_expression "*(int *)&(extraout_ECX->super_Output_data).field_0x1c" * (cast_expression "(int *)&(extraout_ECX->super_Output_data).field_0x1c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(extraout_ECX->super_Output_data).field_0x1c" & (field_expression "(extraout_ECX->super_Output_data).field_0x1c" (parenthesized_expression "(extraout_ECX->super_Output_data)" ( (field_expression "extraout_ECX->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (if_statement "if (iVar14 == 0) {\n        Target_mips<64,_false>::got_section\n                  ((Target_mips<64,_false> *)in_stack_ffffff84,\n                   (Symbol_table *)in_stack_ffffff88._M_current,layout_00);\n        pOVar17 = (Output_section_data *)operator_new(0x30);\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)(unaff_EDI + 0x4439c7);\n        extraout_ECX->name_ = (char *)pOVar17;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 4;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)(&UNK_002b4e97 + unaff_EDI);\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f02),1,3,pOVar17,ORDER_DATA,false);\n        pcVar13 = extraout_ECX->name_;\n        if ((pcVar13[0x1c] & 2U) != 0) goto LAB_001997f3;\n        pcVar13[0xc] = '\x10';\n        pcVar13[0xd] = '\0';\n        pcVar13[0xe] = '\0';\n        pcVar13[0xf] = '\0';\n        pcVar13[0x10] = '\0';\n        pcVar13[0x11] = '\0';\n        pcVar13[0x12] = '\0';\n        pcVar13[0x13] = '\0';\n        pOVar17 = (Output_section_data *)operator_new(0x50);\n        pcVar13 = extraout_ECX->name_;\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 8;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        *(char **)&pOVar17[1].super_Output_data.address_ = pcVar13;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0;\n        pOVar17[1].output_section_ = extraout_ECX;\n                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */\n        this_00 = (Output_data_reloc_generic *)operator_new(0x40);\n        in_stack_ffffff88._M_current = (Mips_symbol<64> **)this_00;\n                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */\n        gold::Output_data_reloc_generic::Output_data_reloc_generic(this_00,0x40,false);\n        this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)0x0;\n        *(undefined4 *)\n         &this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n          address_ = 0;\n        *(undefined4 *)\n         ((int)&this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data.address_ + 4) = 0;\n        pOVar17[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)this_00;\n        (this_00->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)(&UNK_0044971f + unaff_EDI);\n                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f79),9,2,(Output_section_data *)this_00,\n                   ORDER_DYNAMIC_PLT_RELOCS,false);\n        *(Output_section_data **)&(extraout_ECX->super_Output_data).field_0x1c = pOVar17;\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b7b9f),1,6,pOVar17,ORDER_PLT,false);\n        iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n        gold::Output_section::set_info_section\n                  (*(Output_section **)(*(int *)(iVar14 + 0x2c) + 0x20),\n                   *(Output_section **)(iVar14 + 0x20));\n        iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n        if (rela[6].p_ != (Mips64_rela_data *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x1cf4,(char *)(unaff_EDI + 0x2e1fd7))\n          ;\n        }\n      }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n        Target_mips<64,_false>::got_section\n                  ((Target_mips<64,_false> *)in_stack_ffffff84,\n                   (Symbol_table *)in_stack_ffffff88._M_current,layout_00);\n        pOVar17 = (Output_section_data *)operator_new(0x30);\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)(unaff_EDI + 0x4439c7);\n        extraout_ECX->name_ = (char *)pOVar17;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 4;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)(&UNK_002b4e97 + unaff_EDI);\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f02),1,3,pOVar17,ORDER_DATA,false);\n        pcVar13 = extraout_ECX->name_;\n        if ((pcVar13[0x1c] & 2U) != 0) goto LAB_001997f3;\n        pcVar13[0xc] = '\x10';\n        pcVar13[0xd] = '\0';\n        pcVar13[0xe] = '\0';\n        pcVar13[0xf] = '\0';\n        pcVar13[0x10] = '\0';\n        pcVar13[0x11] = '\0';\n        pcVar13[0x12] = '\0';\n        pcVar13[0x13] = '\0';\n        pOVar17 = (Output_section_data *)operator_new(0x50);\n        pcVar13 = extraout_ECX->name_;\n        puVar12 = &(pOVar17->super_Output_data).field_0x1c;\n        *puVar12 = *puVar12 & 0xe0;\n        *(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;\n        *(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;\n        *(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;\n        pOVar17->output_section_ = (Output_section *)0x0;\n        *(undefined4 *)&pOVar17->addralign_ = 8;\n        *(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;\n        (pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        *(char **)&pOVar17[1].super_Output_data.address_ = pcVar13;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;\n        *(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;\n        *(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0;\n        pOVar17[1].output_section_ = extraout_ECX;\n                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */\n        this_00 = (Output_data_reloc_generic *)operator_new(0x40);\n        in_stack_ffffff88._M_current = (Mips_symbol<64> **)this_00;\n                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */\n        gold::Output_data_reloc_generic::Output_data_reloc_generic(this_00,0x40,false);\n        this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)0x0;\n        *(undefined4 *)\n         &this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n          address_ = 0;\n        *(undefined4 *)\n         ((int)&this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data.address_ + 4) = 0;\n        pOVar17[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)this_00;\n        (this_00->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)(&UNK_0044971f + unaff_EDI);\n                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f79),9,2,(Output_section_data *)this_00,\n                   ORDER_DYNAMIC_PLT_RELOCS,false);\n        *(Output_section_data **)&(extraout_ECX->super_Output_data).field_0x1c = pOVar17;\n        gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b7b9f),1,6,pOVar17,ORDER_PLT,false);\n        iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n        gold::Output_section::set_info_section\n                  (*(Output_section **)(*(int *)(iVar14 + 0x2c) + 0x20),\n                   *(Output_section **)(iVar14 + 0x20));\n        iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;\n        if (rela[6].p_ != (Mips64_rela_data *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x1cf4,(char *)(unaff_EDI + 0x2e1fd7))\n          ;\n        }\n      }" { (expression_statement "Target_mips<64,_false>::got_section\n                  ((Target_mips<64,_false> *)in_stack_ffffff84,\n                   (Symbol_table *)in_stack_ffffff88._M_current,layout_00);" (comma_expression "Target_mips<64,_false>::got_section\n                  ((Target_mips<64,_false> *)in_stack_ffffff84,\n                   (Symbol_table *)in_stack_ffffff88._M_current,layout_00)" (binary_expression "Target_mips<64" identifier < number_literal) , (binary_expression "_false>::got_section\n                  ((Target_mips<64,_false> *)in_stack_ffffff84,\n                   (Symbol_table *)in_stack_ffffff88._M_current,layout_00)" identifier > (ERROR "::" : :) (call_expression "got_section\n                  ((Target_mips<64,_false> *)in_stack_ffffff84,\n                   (Symbol_table *)in_stack_ffffff88._M_current,layout_00)" identifier (argument_list "((Target_mips<64,_false> *)in_stack_ffffff84,\n                   (Symbol_table *)in_stack_ffffff88._M_current,layout_00)" ( (parenthesized_expression "(Target_mips<64,_false> *)in_stack_ffffff84,\n                   (Symbol_table *)in_stack_ffffff88._M_current,layout_00)" ( (comma_expression "Target_mips<64,_false> *)in_stack_ffffff84,\n                   (Symbol_table *)in_stack_ffffff88._M_current,layout_00" (binary_expression "Target_mips<64" identifier < number_literal) , (comma_expression "_false> *)in_stack_ffffff84,\n                   (Symbol_table *)in_stack_ffffff88._M_current,layout_00" (binary_expression "_false> *)in_stack_ffffff84" identifier > (pointer_expression "*)in_stack_ffffff84" * (ERROR ")" )) identifier)) , (comma_expression "(Symbol_table *)in_stack_ffffff88._M_current,layout_00" (cast_expression "(Symbol_table *)in_stack_ffffff88._M_current" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "in_stack_ffffff88._M_current" identifier . field_identifier)) , identifier))) )) ))))) ;) (expression_statement "pOVar17 = (Output_section_data *)operator_new(0x30);" (assignment_expression "pOVar17 = (Output_section_data *)operator_new(0x30)" identifier = (cast_expression "(Output_section_data *)operator_new(0x30)" ( (type_descriptor "Output_section_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x30)" identifier (argument_list "(0x30)" ( number_literal ))))) ;) (expression_statement "(pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)(unaff_EDI + 0x4439c7);" (assignment_expression "(pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)(unaff_EDI + 0x4439c7)" (field_expression "(pOVar17->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(_func_int_varargs **)(unaff_EDI + 0x4439c7)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x4439c7)" ( (binary_expression "unaff_EDI + 0x4439c7" identifier + number_literal) )))) ;) (expression_statement "extraout_ECX->name_ = (char *)pOVar17;" (assignment_expression "extraout_ECX->name_ = (char *)pOVar17" (field_expression "extraout_ECX->name_" identifier -> field_identifier) = (cast_expression "(char *)pOVar17" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar17->super_Output_data).address_ = 0" (pointer_expression "*(undefined4 *)&(pOVar17->super_Output_data).address_" * (cast_expression "(undefined4 *)&(pOVar17->super_Output_data).address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar17->super_Output_data).address_" & (field_expression "(pOVar17->super_Output_data).address_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar17->super_Output_data).address_ + 4)" ( (binary_expression "(int)&(pOVar17->super_Output_data).address_ + 4" (cast_expression "(int)&(pOVar17->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar17->super_Output_data).address_" & (field_expression "(pOVar17->super_Output_data).address_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0" (pointer_expression "*(undefined4 *)&(pOVar17->super_Output_data).data_size_" * (cast_expression "(undefined4 *)&(pOVar17->super_Output_data).data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar17->super_Output_data).data_size_" & (field_expression "(pOVar17->super_Output_data).data_size_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar17->super_Output_data).data_size_ + 4)" ( (binary_expression "(int)&(pOVar17->super_Output_data).data_size_ + 4" (cast_expression "(int)&(pOVar17->super_Output_data).data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar17->super_Output_data).data_size_" & (field_expression "(pOVar17->super_Output_data).data_size_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;" (assignment_expression "*(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff" (pointer_expression "*(undefined4 *)&(pOVar17->super_Output_data).offset_" * (cast_expression "(undefined4 *)&(pOVar17->super_Output_data).offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar17->super_Output_data).offset_" & (field_expression "(pOVar17->super_Output_data).offset_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar17->super_Output_data).offset_ + 4)" ( (binary_expression "(int)&(pOVar17->super_Output_data).offset_ + 4" (cast_expression "(int)&(pOVar17->super_Output_data).offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar17->super_Output_data).offset_" & (field_expression "(pOVar17->super_Output_data).offset_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "puVar12 = &(pOVar17->super_Output_data).field_0x1c;" (assignment_expression "puVar12 = &(pOVar17->super_Output_data).field_0x1c" identifier = (pointer_expression "&(pOVar17->super_Output_data).field_0x1c" & (field_expression "(pOVar17->super_Output_data).field_0x1c" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "*puVar12 = *puVar12 & 0xe0;" (assignment_expression "*puVar12 = *puVar12 & 0xe0" (pointer_expression "*puVar12" * identifier) = (binary_expression "*puVar12 & 0xe0" (pointer_expression "*puVar12" * identifier) & number_literal)) ;) (expression_statement "pOVar17->output_section_ = (Output_section *)0x0;" (assignment_expression "pOVar17->output_section_ = (Output_section *)0x0" (field_expression "pOVar17->output_section_" identifier -> field_identifier) = (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)&pOVar17->addralign_ = 4;" (assignment_expression "*(undefined4 *)&pOVar17->addralign_ = 4" (pointer_expression "*(undefined4 *)&pOVar17->addralign_" * (cast_expression "(undefined4 *)&pOVar17->addralign_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar17->addralign_" & (field_expression "pOVar17->addralign_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pOVar17->addralign_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar17->addralign_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar17->addralign_ + 4)" ( (binary_expression "(int)&pOVar17->addralign_ + 4" (cast_expression "(int)&pOVar17->addralign_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar17->addralign_" & (field_expression "pOVar17->addralign_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)(&UNK_002b4e97 + unaff_EDI);" (assignment_expression "pOVar17[1].super_Output_data._vptr_Output_data =\n             (_func_int_varargs **)(&UNK_002b4e97 + unaff_EDI)" (field_expression "pOVar17[1].super_Output_data._vptr_Output_data" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)(&UNK_002b4e97 + unaff_EDI)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_002b4e97 + unaff_EDI)" ( (binary_expression "&UNK_002b4e97 + unaff_EDI" (pointer_expression "&UNK_002b4e97" & identifier) + identifier) )))) ;) (labeled_statement "gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f02),1,3,pOVar17,ORDER_DATA,false);" statement_identifier : (ERROR ":" :) (labeled_statement "Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f02),1,3,pOVar17,ORDER_DATA,false);" statement_identifier : (ERROR ":" :) (expression_statement "add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f02),1,3,pOVar17,ORDER_DATA,false);" (call_expression "add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f02),1,3,pOVar17,ORDER_DATA,false)" identifier (argument_list "(this_01,(char *)(unaff_EDI + 0x2b4f02),1,3,pOVar17,ORDER_DATA,false)" ( identifier , (cast_expression "(char *)(unaff_EDI + 0x2b4f02)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x2b4f02)" ( (binary_expression "unaff_EDI + 0x2b4f02" identifier + number_literal) ))) , number_literal , number_literal , identifier , identifier , false ))) ;))) (expression_statement "pcVar13 = extraout_ECX->name_;" (assignment_expression "pcVar13 = extraout_ECX->name_" identifier = (field_expression "extraout_ECX->name_" identifier -> field_identifier)) ;) (if_statement "if ((pcVar13[0x1c] & 2U) != 0) goto LAB_001997f3;" if (parenthesized_expression "((pcVar13[0x1c] & 2U) != 0)" ( (binary_expression "(pcVar13[0x1c] & 2U) != 0" (parenthesized_expression "(pcVar13[0x1c] & 2U)" ( (binary_expression "pcVar13[0x1c] & 2U" (subscript_expression "pcVar13[0x1c]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001997f3;" goto statement_identifier ;)) (expression_statement "pcVar13[0xc] = '\x10';" (assignment_expression "pcVar13[0xc] = '\x10'" (subscript_expression "pcVar13[0xc]" identifier [ number_literal ]) = (char_literal "'\x10'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0xd] = '\0';" (assignment_expression "pcVar13[0xd] = '\0'" (subscript_expression "pcVar13[0xd]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0xe] = '\0';" (assignment_expression "pcVar13[0xe] = '\0'" (subscript_expression "pcVar13[0xe]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0xf] = '\0';" (assignment_expression "pcVar13[0xf] = '\0'" (subscript_expression "pcVar13[0xf]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x10] = '\0';" (assignment_expression "pcVar13[0x10] = '\0'" (subscript_expression "pcVar13[0x10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x11] = '\0';" (assignment_expression "pcVar13[0x11] = '\0'" (subscript_expression "pcVar13[0x11]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x12] = '\0';" (assignment_expression "pcVar13[0x12] = '\0'" (subscript_expression "pcVar13[0x12]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13[0x13] = '\0';" (assignment_expression "pcVar13[0x13] = '\0'" (subscript_expression "pcVar13[0x13]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pOVar17 = (Output_section_data *)operator_new(0x50);" (assignment_expression "pOVar17 = (Output_section_data *)operator_new(0x50)" identifier = (cast_expression "(Output_section_data *)operator_new(0x50)" ( (type_descriptor "Output_section_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x50)" identifier (argument_list "(0x50)" ( number_literal ))))) ;) (expression_statement "pcVar13 = extraout_ECX->name_;" (assignment_expression "pcVar13 = extraout_ECX->name_" identifier = (field_expression "extraout_ECX->name_" identifier -> field_identifier)) ;) (expression_statement "puVar12 = &(pOVar17->super_Output_data).field_0x1c;" (assignment_expression "puVar12 = &(pOVar17->super_Output_data).field_0x1c" identifier = (pointer_expression "&(pOVar17->super_Output_data).field_0x1c" & (field_expression "(pOVar17->super_Output_data).field_0x1c" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "*puVar12 = *puVar12 & 0xe0;" (assignment_expression "*puVar12 = *puVar12 & 0xe0" (pointer_expression "*puVar12" * identifier) = (binary_expression "*puVar12 & 0xe0" (pointer_expression "*puVar12" * identifier) & number_literal)) ;) (expression_statement "*(undefined4 *)&(pOVar17->super_Output_data).address_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar17->super_Output_data).address_ = 0" (pointer_expression "*(undefined4 *)&(pOVar17->super_Output_data).address_" * (cast_expression "(undefined4 *)&(pOVar17->super_Output_data).address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar17->super_Output_data).address_" & (field_expression "(pOVar17->super_Output_data).address_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar17->super_Output_data).address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar17->super_Output_data).address_ + 4)" ( (binary_expression "(int)&(pOVar17->super_Output_data).address_ + 4" (cast_expression "(int)&(pOVar17->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar17->super_Output_data).address_" & (field_expression "(pOVar17->super_Output_data).address_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar17->super_Output_data).data_size_ = 0" (pointer_expression "*(undefined4 *)&(pOVar17->super_Output_data).data_size_" * (cast_expression "(undefined4 *)&(pOVar17->super_Output_data).data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar17->super_Output_data).data_size_" & (field_expression "(pOVar17->super_Output_data).data_size_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar17->super_Output_data).data_size_ + 4)" ( (binary_expression "(int)&(pOVar17->super_Output_data).data_size_ + 4" (cast_expression "(int)&(pOVar17->super_Output_data).data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar17->super_Output_data).data_size_" & (field_expression "(pOVar17->super_Output_data).data_size_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;" (assignment_expression "*(undefined4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff" (pointer_expression "*(undefined4 *)&(pOVar17->super_Output_data).offset_" * (cast_expression "(undefined4 *)&(pOVar17->super_Output_data).offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar17->super_Output_data).offset_" & (field_expression "(pOVar17->super_Output_data).offset_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar17->super_Output_data).offset_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar17->super_Output_data).offset_ + 4)" ( (binary_expression "(int)&(pOVar17->super_Output_data).offset_ + 4" (cast_expression "(int)&(pOVar17->super_Output_data).offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar17->super_Output_data).offset_" & (field_expression "(pOVar17->super_Output_data).offset_" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "pOVar17->output_section_ = (Output_section *)0x0;" (assignment_expression "pOVar17->output_section_ = (Output_section *)0x0" (field_expression "pOVar17->output_section_" identifier -> field_identifier) = (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)&pOVar17->addralign_ = 8;" (assignment_expression "*(undefined4 *)&pOVar17->addralign_ = 8" (pointer_expression "*(undefined4 *)&pOVar17->addralign_" * (cast_expression "(undefined4 *)&pOVar17->addralign_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar17->addralign_" & (field_expression "pOVar17->addralign_" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pOVar17->addralign_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pOVar17->addralign_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar17->addralign_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar17->addralign_ + 4)" ( (binary_expression "(int)&pOVar17->addralign_ + 4" (cast_expression "(int)&pOVar17->addralign_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar17->addralign_" & (field_expression "pOVar17->addralign_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "(pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);" (assignment_expression "(pOVar17->super_Output_data)._vptr_Output_data =\n             (_func_int_varargs **)\n             ("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27)" (field_expression "(pOVar17->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar17->super_Output_data)" ( (field_expression "pOVar17->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(_func_int_varargs **)\n             ("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27)" ( (binary_expression ""N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27" (binary_expression ""N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI" (string_literal ""N4gold15General_options24Struct_no_fatal_warningsE"" " string_content ") + identifier) + number_literal) )))) ;) (expression_statement "*(char **)&pOVar17[1].super_Output_data.address_ = pcVar13;" (assignment_expression "*(char **)&pOVar17[1].super_Output_data.address_ = pcVar13" (pointer_expression "*(char **)&pOVar17[1].super_Output_data.address_" * (cast_expression "(char **)&pOVar17[1].super_Output_data.address_" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pOVar17[1].super_Output_data.address_" & (field_expression "pOVar17[1].super_Output_data.address_" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar17[1].super_Output_data.address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar17[1].super_Output_data.address_ + 4)" ( (binary_expression "(int)&pOVar17[1].super_Output_data.address_ + 4" (cast_expression "(int)&pOVar17[1].super_Output_data.address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar17[1].super_Output_data.address_" & (field_expression "pOVar17[1].super_Output_data.address_" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0;" (assignment_expression "*(undefined4 *)&pOVar17[1].super_Output_data.data_size_ = 0" (pointer_expression "*(undefined4 *)&pOVar17[1].super_Output_data.data_size_" * (cast_expression "(undefined4 *)&pOVar17[1].super_Output_data.data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar17[1].super_Output_data.data_size_" & (field_expression "pOVar17[1].super_Output_data.data_size_" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar17[1].super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&pOVar17[1].super_Output_data.data_size_ + 4" (cast_expression "(int)&pOVar17[1].super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar17[1].super_Output_data.data_size_" & (field_expression "pOVar17[1].super_Output_data.data_size_" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0;" (assignment_expression "*(undefined4 *)&pOVar17[1].super_Output_data.offset_ = 0" (pointer_expression "*(undefined4 *)&pOVar17[1].super_Output_data.offset_" * (cast_expression "(undefined4 *)&pOVar17[1].super_Output_data.offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar17[1].super_Output_data.offset_" & (field_expression "pOVar17[1].super_Output_data.offset_" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar17[1].super_Output_data.offset_ + 4)" ( (binary_expression "(int)&pOVar17[1].super_Output_data.offset_ + 4" (cast_expression "(int)&pOVar17[1].super_Output_data.offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar17[1].super_Output_data.offset_" & (field_expression "pOVar17[1].super_Output_data.offset_" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0;" (assignment_expression "*(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c = 0" (pointer_expression "*(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c" * (cast_expression "(undefined4 *)&pOVar17[1].super_Output_data.field_0x1c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar17[1].super_Output_data.field_0x1c" & (field_expression "pOVar17[1].super_Output_data.field_0x1c" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "pOVar17[1].output_section_ = extraout_ECX;" (assignment_expression "pOVar17[1].output_section_ = extraout_ECX" (field_expression "pOVar17[1].output_section_" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) comment (expression_statement "this_00 = (Output_data_reloc_generic *)operator_new(0x40);" (assignment_expression "this_00 = (Output_data_reloc_generic *)operator_new(0x40)" identifier = (cast_expression "(Output_data_reloc_generic *)operator_new(0x40)" ( (type_descriptor "Output_data_reloc_generic *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) (expression_statement "in_stack_ffffff88._M_current = (Mips_symbol<64> **)this_00;" (assignment_expression "in_stack_ffffff88._M_current = (Mips_symbol<64> **)this_00" (field_expression "in_stack_ffffff88._M_current" identifier . field_identifier) = (parenthesized_expression "(Mips_symbol<64> **)this_00" ( (binary_expression "Mips_symbol<64> **)this_00" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "**)this_00" * (pointer_expression "*)this_00" * (ERROR ")" )) identifier))) ))) ;) comment (labeled_statement "gold::Output_data_reloc_generic::Output_data_reloc_generic(this_00,0x40,false);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_data_reloc_generic::Output_data_reloc_generic(this_00,0x40,false);" statement_identifier : (ERROR ":" :) (expression_statement "Output_data_reloc_generic(this_00,0x40,false);" (call_expression "Output_data_reloc_generic(this_00,0x40,false)" identifier (argument_list "(this_00,0x40,false)" ( identifier , number_literal , false ))) ;))) (expression_statement "this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)0x0;" (assignment_expression "this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)0x0" (field_expression "this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n        _vptr_Output_data" (field_expression "this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data" (field_expression "this_00[1].super_Output_section_data_build.super_Output_section_data" (field_expression "this_00[1].super_Output_section_data_build" (subscript_expression "this_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "*(undefined4 *)\n         &this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n          address_ = 0;" (assignment_expression "*(undefined4 *)\n         &this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n          address_ = 0" (pointer_expression "*(undefined4 *)\n         &this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n          address_" * (cast_expression "(undefined4 *)\n         &this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n          address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n          address_" & (field_expression "this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.\n          address_" (field_expression "this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data" (field_expression "this_00[1].super_Output_section_data_build.super_Output_section_data" (field_expression "this_00[1].super_Output_section_data_build" (subscript_expression "this_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)\n         ((int)&this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data.address_ + 4) = 0;" (assignment_expression "*(undefined4 *)\n         ((int)&this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data.address_ + 4) = 0" (pointer_expression "*(undefined4 *)\n         ((int)&this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data.address_ + 4)" * (cast_expression "(undefined4 *)\n         ((int)&this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data.address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data.address_ + 4)" ( (binary_expression "(int)&this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data.address_ + 4" (cast_expression "(int)&this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data.address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data.address_" & (field_expression "this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data.address_" (field_expression "this_00[1].super_Output_section_data_build.super_Output_section_data.\n                super_Output_data" (field_expression "this_00[1].super_Output_section_data_build.super_Output_section_data" (field_expression "this_00[1].super_Output_section_data_build" (subscript_expression "this_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "pOVar17[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)this_00;" (assignment_expression "pOVar17[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)this_00" (field_expression "pOVar17[1].super_Output_data._vptr_Output_data" (field_expression "pOVar17[1].super_Output_data" (subscript_expression "pOVar17[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)this_00" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "(this_00->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)(&UNK_0044971f + unaff_EDI);" (assignment_expression "(this_00->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        _vptr_Output_data = (_func_int_varargs **)(&UNK_0044971f + unaff_EDI)" (field_expression "(this_00->super_Output_section_data_build).super_Output_section_data.super_Output_data.\n        _vptr_Output_data" (field_expression "(this_00->super_Output_section_data_build).super_Output_section_data.super_Output_data" (field_expression "(this_00->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(this_00->super_Output_section_data_build)" ( (field_expression "this_00->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)(&UNK_0044971f + unaff_EDI)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_0044971f + unaff_EDI)" ( (binary_expression "&UNK_0044971f + unaff_EDI" (pointer_expression "&UNK_0044971f" & identifier) + identifier) )))) ;) comment (labeled_statement "gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f79),9,2,(Output_section_data *)this_00,\n                   ORDER_DYNAMIC_PLT_RELOCS,false);" statement_identifier : (ERROR ":" :) (labeled_statement "Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f79),9,2,(Output_section_data *)this_00,\n                   ORDER_DYNAMIC_PLT_RELOCS,false);" statement_identifier : (ERROR ":" :) (expression_statement "add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f79),9,2,(Output_section_data *)this_00,\n                   ORDER_DYNAMIC_PLT_RELOCS,false);" (call_expression "add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b4f79),9,2,(Output_section_data *)this_00,\n                   ORDER_DYNAMIC_PLT_RELOCS,false)" identifier (argument_list "(this_01,(char *)(unaff_EDI + 0x2b4f79),9,2,(Output_section_data *)this_00,\n                   ORDER_DYNAMIC_PLT_RELOCS,false)" ( identifier , (cast_expression "(char *)(unaff_EDI + 0x2b4f79)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x2b4f79)" ( (binary_expression "unaff_EDI + 0x2b4f79" identifier + number_literal) ))) , number_literal , number_literal , (cast_expression "(Output_section_data *)this_00" ( (type_descriptor "Output_section_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , false ))) ;))) (expression_statement "*(Output_section_data **)&(extraout_ECX->super_Output_data).field_0x1c = pOVar17;" (assignment_expression "*(Output_section_data **)&(extraout_ECX->super_Output_data).field_0x1c = pOVar17" (pointer_expression "*(Output_section_data **)&(extraout_ECX->super_Output_data).field_0x1c" * (cast_expression "(Output_section_data **)&(extraout_ECX->super_Output_data).field_0x1c" ( (type_descriptor "Output_section_data **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(extraout_ECX->super_Output_data).field_0x1c" & (field_expression "(extraout_ECX->super_Output_data).field_0x1c" (parenthesized_expression "(extraout_ECX->super_Output_data)" ( (field_expression "extraout_ECX->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = identifier) ;) (labeled_statement "gold::Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b7b9f),1,6,pOVar17,ORDER_PLT,false);" statement_identifier : (ERROR ":" :) (labeled_statement "Layout::add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b7b9f),1,6,pOVar17,ORDER_PLT,false);" statement_identifier : (ERROR ":" :) (expression_statement "add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b7b9f),1,6,pOVar17,ORDER_PLT,false);" (call_expression "add_output_section_data\n                  (this_01,(char *)(unaff_EDI + 0x2b7b9f),1,6,pOVar17,ORDER_PLT,false)" identifier (argument_list "(this_01,(char *)(unaff_EDI + 0x2b7b9f),1,6,pOVar17,ORDER_PLT,false)" ( identifier , (cast_expression "(char *)(unaff_EDI + 0x2b7b9f)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x2b7b9f)" ( (binary_expression "unaff_EDI + 0x2b7b9f" identifier + number_literal) ))) , number_literal , number_literal , identifier , identifier , false ))) ;))) (expression_statement "iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;" (assignment_expression "iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c" identifier = (pointer_expression "*(int *)&(extraout_ECX->super_Output_data).field_0x1c" * (cast_expression "(int *)&(extraout_ECX->super_Output_data).field_0x1c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(extraout_ECX->super_Output_data).field_0x1c" & (field_expression "(extraout_ECX->super_Output_data).field_0x1c" (parenthesized_expression "(extraout_ECX->super_Output_data)" ( (field_expression "extraout_ECX->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (labeled_statement "gold::Output_section::set_info_section\n                  (*(Output_section **)(*(int *)(iVar14 + 0x2c) + 0x20),\n                   *(Output_section **)(iVar14 + 0x20));" statement_identifier : (ERROR ":" :) (labeled_statement "Output_section::set_info_section\n                  (*(Output_section **)(*(int *)(iVar14 + 0x2c) + 0x20),\n                   *(Output_section **)(iVar14 + 0x20));" statement_identifier : (ERROR ":" :) (expression_statement "set_info_section\n                  (*(Output_section **)(*(int *)(iVar14 + 0x2c) + 0x20),\n                   *(Output_section **)(iVar14 + 0x20));" (call_expression "set_info_section\n                  (*(Output_section **)(*(int *)(iVar14 + 0x2c) + 0x20),\n                   *(Output_section **)(iVar14 + 0x20))" identifier (argument_list "(*(Output_section **)(*(int *)(iVar14 + 0x2c) + 0x20),\n                   *(Output_section **)(iVar14 + 0x20))" ( (pointer_expression "*(Output_section **)(*(int *)(iVar14 + 0x2c) + 0x20)" * (cast_expression "(Output_section **)(*(int *)(iVar14 + 0x2c) + 0x20)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(iVar14 + 0x2c) + 0x20)" ( (binary_expression "*(int *)(iVar14 + 0x2c) + 0x20" (pointer_expression "*(int *)(iVar14 + 0x2c)" * (cast_expression "(int *)(iVar14 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) )))) + number_literal) )))) , (pointer_expression "*(Output_section **)(iVar14 + 0x20)" * (cast_expression "(Output_section **)(iVar14 + 0x20)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x20)" ( (binary_expression "iVar14 + 0x20" identifier + number_literal) )))) ))) ;))) (expression_statement "iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;" (assignment_expression "iVar14 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c" identifier = (pointer_expression "*(int *)&(extraout_ECX->super_Output_data).field_0x1c" * (cast_expression "(int *)&(extraout_ECX->super_Output_data).field_0x1c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(extraout_ECX->super_Output_data).field_0x1c" & (field_expression "(extraout_ECX->super_Output_data).field_0x1c" (parenthesized_expression "(extraout_ECX->super_Output_data)" ( (field_expression "extraout_ECX->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (if_statement "if (rela[6].p_ != (Mips64_rela_data *)0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x1cf4,(char *)(unaff_EDI + 0x2e1fd7))\n          ;\n        }" if (parenthesized_expression "(rela[6].p_ != (Mips64_rela_data *)0xffffffff)" ( (binary_expression "rela[6].p_ != (Mips64_rela_data *)0xffffffff" (field_expression "rela[6].p_" (subscript_expression "rela[6]" identifier [ number_literal ]) . field_identifier) != (cast_expression "(Mips64_rela_data *)0xffffffff" ( (type_descriptor "Mips64_rela_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x1cf4,(char *)(unaff_EDI + 0x2e1fd7))\n          ;\n        }" { comment (labeled_statement "gold::do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x1cf4,(char *)(unaff_EDI + 0x2e1fd7))\n          ;" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x1cf4,(char *)(unaff_EDI + 0x2e1fd7))\n          ;" (call_expression "do_gold_unreachable(&UNK_002d8ce1 + unaff_EDI,0x1cf4,(char *)(unaff_EDI + 0x2e1fd7))" identifier (argument_list "(&UNK_002d8ce1 + unaff_EDI,0x1cf4,(char *)(unaff_EDI + 0x2e1fd7))" ( (binary_expression "&UNK_002d8ce1 + unaff_EDI" (pointer_expression "&UNK_002d8ce1" & identifier) + identifier) , number_literal , (cast_expression "(char *)(unaff_EDI + 0x2e1fd7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x2e1fd7)" ( (binary_expression "unaff_EDI + 0x2e1fd7" identifier + number_literal) ))) ))) ;)) })) })) (expression_statement "puVar8 = *(undefined4 **)(iVar14 + 0x38);" (assignment_expression "puVar8 = *(undefined4 **)(iVar14 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(iVar14 + 0x38)" * (cast_expression "(undefined4 **)(iVar14 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "rela[6].p_ = (Mips64_rela_data *)((((int)puVar8 - *(int *)(iVar14 + 0x34) >> 2) + 2) * 0x10);" (assignment_expression "rela[6].p_ = (Mips64_rela_data *)((((int)puVar8 - *(int *)(iVar14 + 0x34) >> 2) + 2) * 0x10)" (field_expression "rela[6].p_" (subscript_expression "rela[6]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Mips64_rela_data *)((((int)puVar8 - *(int *)(iVar14 + 0x34) >> 2) + 2) * 0x10)" ( (type_descriptor "Mips64_rela_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((((int)puVar8 - *(int *)(iVar14 + 0x34) >> 2) + 2) * 0x10)" ( (binary_expression "(((int)puVar8 - *(int *)(iVar14 + 0x34) >> 2) + 2) * 0x10" (parenthesized_expression "(((int)puVar8 - *(int *)(iVar14 + 0x34) >> 2) + 2)" ( (binary_expression "((int)puVar8 - *(int *)(iVar14 + 0x34) >> 2) + 2" (parenthesized_expression "((int)puVar8 - *(int *)(iVar14 + 0x34) >> 2)" ( (binary_expression "(int)puVar8 - *(int *)(iVar14 + 0x34) >> 2" (binary_expression "(int)puVar8 - *(int *)(iVar14 + 0x34)" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(iVar14 + 0x34)" * (cast_expression "(int *)(iVar14 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x34)" ( (binary_expression "iVar14 + 0x34" identifier + number_literal) ))))) >> number_literal) )) + number_literal) )) * number_literal) )))) ;) (if_statement "if (puVar8 == *(undefined4 **)(iVar14 + 0x3c)) {\n        std::\n        vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n        ::_M_realloc_insert<(anonymous_namespace)::Mips_symbol<64>*_const&>\n                  ((vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                    *)in_stack_ffffff84,in_stack_ffffff88,(Mips_symbol<64> **)layout_00);\n      }\n      else {\n        *puVar8 = rela;\n        *(undefined4 **)(iVar14 + 0x38) = puVar8 + 1;\n      }" if (parenthesized_expression "(puVar8 == *(undefined4 **)(iVar14 + 0x3c))" ( (binary_expression "puVar8 == *(undefined4 **)(iVar14 + 0x3c)" identifier == (pointer_expression "*(undefined4 **)(iVar14 + 0x3c)" * (cast_expression "(undefined4 **)(iVar14 + 0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x3c)" ( (binary_expression "iVar14 + 0x3c" identifier + number_literal) ))))) )) (compound_statement "{\n        std::\n        vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n        ::_M_realloc_insert<(anonymous_namespace)::Mips_symbol<64>*_const&>\n                  ((vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                    *)in_stack_ffffff84,in_stack_ffffff88,(Mips_symbol<64> **)layout_00);\n      }" { (labeled_statement "std::\n        vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n        ::_M_realloc_insert<(anonymous_namespace)::Mips_symbol<64>*_const&>\n                  ((vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n                    *)in_stack_ffffff84,in_stack_ffffff88,(Mips_symbol<64> **)layout_00);" statement_identifier (ERROR "::\n        vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace)::Mips_symbol<64>*>_>\n        ::_M_realloc_insert<(anonymous_namespace)::Mips_symbol<64>*_const&>\n                  ((vector<(anonymous_namespace)::Mips_symbol<64>*,_std::allocator<(anonymous_namespace):" : : (binary_expression "vector<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (binary_expression "Mips_symbol<64>*,_std" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*,_std" * (ERROR "," ,) identifier)) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (binary_expression "Mips_symbol<64>*>_" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*>_" * (ERROR ">" >) identifier)) > : : (binary_expression "_M_realloc_insert<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (binary_expression "Mips_symbol<64>*_const" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*_const" * identifier)) (ERROR "&" &) > ( ( (binary_expression "vector<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) : : (binary_expression "Mips_symbol<64>*,_std" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*,_std" * (ERROR "," ,) identifier)) : : (binary_expression "allocator<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) :) : (expression_statement "Mips_symbol<64>*>_>\n                    *)in_stack_ffffff84,in_stack_ffffff88,(Mips_symbol<64> **)layout_00);" (comma_expression "Mips_symbol<64>*>_>\n                    *)in_stack_ffffff84,in_stack_ffffff88,(Mips_symbol<64> **)layout_00)" (binary_expression "Mips_symbol<64>*>_>\n                    *)in_stack_ffffff84" (binary_expression "Mips_symbol<64>*>_" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*>_" * (ERROR ">" >) identifier)) > (pointer_expression "*)in_stack_ffffff84" * (ERROR ")" )) identifier)) , (comma_expression "in_stack_ffffff88,(Mips_symbol<64> **)layout_00)" identifier , (parenthesized_expression "(Mips_symbol<64> **)layout_00)" ( (binary_expression "Mips_symbol<64> **)layout_00" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "**)layout_00" * (pointer_expression "*)layout_00" * (ERROR ")" )) identifier))) )))) ;)) }) (else_clause "else {\n        *puVar8 = rela;\n        *(undefined4 **)(iVar14 + 0x38) = puVar8 + 1;\n      }" else (compound_statement "{\n        *puVar8 = rela;\n        *(undefined4 **)(iVar14 + 0x38) = puVar8 + 1;\n      }" { (expression_statement "*puVar8 = rela;" (assignment_expression "*puVar8 = rela" (pointer_expression "*puVar8" * identifier) = identifier) ;) (expression_statement "*(undefined4 **)(iVar14 + 0x38) = puVar8 + 1;" (assignment_expression "*(undefined4 **)(iVar14 + 0x38) = puVar8 + 1" (pointer_expression "*(undefined4 **)(iVar14 + 0x38)" * (cast_expression "(undefined4 **)(iVar14 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x38)" ( (binary_expression "iVar14 + 0x38" identifier + number_literal) )))) = (binary_expression "puVar8 + 1" identifier + number_literal)) ;) }))) (if_statement "if ((output_section == (Output_section *)0x64 || output_section == (Output_section *)0x4) ||\n         (output_section == (Output_section *)0x85)) {\n        if (output_section == (Output_section *)0x4) {\n          *(undefined1 *)((int)&rela[0x17].p_ + 2) = 1;\n        }\n        else {\n          *(undefined1 *)((int)&rela[0x17].p_ + 3) = 1;\n        }\n      }" if (parenthesized_expression "((output_section == (Output_section *)0x64 || output_section == (Output_section *)0x4) ||\n         (output_section == (Output_section *)0x85))" ( (binary_expression "(output_section == (Output_section *)0x64 || output_section == (Output_section *)0x4) ||\n         (output_section == (Output_section *)0x85)" (parenthesized_expression "(output_section == (Output_section *)0x64 || output_section == (Output_section *)0x4)" ( (binary_expression "output_section == (Output_section *)0x64 || output_section == (Output_section *)0x4" (binary_expression "output_section == (Output_section *)0x64" identifier == (cast_expression "(Output_section *)0x64" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (binary_expression "output_section == (Output_section *)0x4" identifier == (cast_expression "(Output_section *)0x4" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) || (parenthesized_expression "(output_section == (Output_section *)0x85)" ( (binary_expression "output_section == (Output_section *)0x85" identifier == (cast_expression "(Output_section *)0x85" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        if (output_section == (Output_section *)0x4) {\n          *(undefined1 *)((int)&rela[0x17].p_ + 2) = 1;\n        }\n        else {\n          *(undefined1 *)((int)&rela[0x17].p_ + 3) = 1;\n        }\n      }" { (if_statement "if (output_section == (Output_section *)0x4) {\n          *(undefined1 *)((int)&rela[0x17].p_ + 2) = 1;\n        }\n        else {\n          *(undefined1 *)((int)&rela[0x17].p_ + 3) = 1;\n        }" if (parenthesized_expression "(output_section == (Output_section *)0x4)" ( (binary_expression "output_section == (Output_section *)0x4" identifier == (cast_expression "(Output_section *)0x4" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(undefined1 *)((int)&rela[0x17].p_ + 2) = 1;\n        }" { (expression_statement "*(undefined1 *)((int)&rela[0x17].p_ + 2) = 1;" (assignment_expression "*(undefined1 *)((int)&rela[0x17].p_ + 2) = 1" (pointer_expression "*(undefined1 *)((int)&rela[0x17].p_ + 2)" * (cast_expression "(undefined1 *)((int)&rela[0x17].p_ + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rela[0x17].p_ + 2)" ( (binary_expression "(int)&rela[0x17].p_ + 2" (cast_expression "(int)&rela[0x17].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[0x17].p_" & (field_expression "rela[0x17].p_" (subscript_expression "rela[0x17]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          *(undefined1 *)((int)&rela[0x17].p_ + 3) = 1;\n        }" else (compound_statement "{\n          *(undefined1 *)((int)&rela[0x17].p_ + 3) = 1;\n        }" { (expression_statement "*(undefined1 *)((int)&rela[0x17].p_ + 3) = 1;" (assignment_expression "*(undefined1 *)((int)&rela[0x17].p_ + 3) = 1" (pointer_expression "*(undefined1 *)((int)&rela[0x17].p_ + 3)" * (cast_expression "(undefined1 *)((int)&rela[0x17].p_ + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rela[0x17].p_ + 3)" ( (binary_expression "(int)&rela[0x17].p_ + 3" (cast_expression "(int)&rela[0x17].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[0x17].p_" & (field_expression "rela[0x17].p_" (subscript_expression "rela[0x17]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = number_literal) ;) }))) })) (expression_statement "od = *(Output_data **)(iVar14 + 0x30);" (assignment_expression "od = *(Output_data **)(iVar14 + 0x30)" identifier = (pointer_expression "*(Output_data **)(iVar14 + 0x30)" * (cast_expression "(Output_data **)(iVar14 + 0x30)" ( (type_descriptor "Output_data **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar14 + 0x30)" ( (binary_expression "iVar14 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = (int)od->data_size_;" (assignment_expression "iVar9 = (int)od->data_size_" identifier = (cast_expression "(int)od->data_size_" ( (type_descriptor "int" primitive_type) ) (field_expression "od->data_size_" identifier -> field_identifier))) ;) (expression_statement "iVar16 = iVar9 + 8;" (assignment_expression "iVar16 = iVar9 + 8" identifier = (binary_expression "iVar9 + 8" identifier + number_literal)) ;) (if_statement "if ((od->field_0x1c & 2) != 0) {\nLAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(gold::General_options::parse_EL + unaff_EDI + 4),0x231,\n                   &UNK_002e21d7 + unaff_EDI);\n      }" if (parenthesized_expression "((od->field_0x1c & 2) != 0)" ( (binary_expression "(od->field_0x1c & 2) != 0" (parenthesized_expression "(od->field_0x1c & 2)" ( (binary_expression "od->field_0x1c & 2" (field_expression "od->field_0x1c" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(gold::General_options::parse_EL + unaff_EDI + 4),0x231,\n                   &UNK_002e21d7 + unaff_EDI);\n      }" { (labeled_statement "LAB_001997f3:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(gold::General_options::parse_EL + unaff_EDI + 4),0x231,\n                   &UNK_002e21d7 + unaff_EDI);" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable\n                  ((char *)(gold::General_options::parse_EL + unaff_EDI + 4),0x231,\n                   &UNK_002e21d7 + unaff_EDI);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                  ((char *)(gold::General_options::parse_EL + unaff_EDI + 4),0x231,\n                   &UNK_002e21d7 + unaff_EDI);" (call_expression "do_gold_unreachable\n                  ((char *)(gold::General_options::parse_EL + unaff_EDI + 4),0x231,\n                   &UNK_002e21d7 + unaff_EDI)" identifier (argument_list "((char *)(gold::General_options::parse_EL + unaff_EDI + 4),0x231,\n                   &UNK_002e21d7 + unaff_EDI)" ( (cast_expression "(char *)(gold::General_options::parse_EL + unaff_EDI + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(gold::General_options::parse_EL + unaff_EDI + 4)" ( (ERROR "gold::General_options::" identifier : : identifier : :) (binary_expression "parse_EL + unaff_EDI + 4" (binary_expression "parse_EL + unaff_EDI" identifier + identifier) + number_literal) ))) , number_literal , (binary_expression "&UNK_002e21d7 + unaff_EDI" (pointer_expression "&UNK_002e21d7" & identifier) + identifier) ))) ;))) })) (expression_statement "*(int *)&od->data_size_ = iVar16;" (assignment_expression "*(int *)&od->data_size_ = iVar16" (pointer_expression "*(int *)&od->data_size_" * (cast_expression "(int *)&od->data_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&od->data_size_" & (field_expression "od->data_size_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(int *)((int)&od->data_size_ + 4) = iVar16 >> 0x1f;" (assignment_expression "*(int *)((int)&od->data_size_ + 4) = iVar16 >> 0x1f" (pointer_expression "*(int *)((int)&od->data_size_ + 4)" * (cast_expression "(int *)((int)&od->data_size_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&od->data_size_ + 4)" ( (binary_expression "(int)&od->data_size_ + 4" (cast_expression "(int)&od->data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&od->data_size_" & (field_expression "od->data_size_" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "iVar16 >> 0x1f" identifier >> number_literal)) ;) (expression_statement "pbVar2 = (byte *)((int)&rela[10].p_ + 2);" (assignment_expression "pbVar2 = (byte *)((int)&rela[10].p_ + 2)" identifier = (cast_expression "(byte *)((int)&rela[10].p_ + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rela[10].p_ + 2)" ( (binary_expression "(int)&rela[10].p_ + 2" (cast_expression "(int)&rela[10].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[10].p_" & (field_expression "rela[10].p_" (subscript_expression "rela[10]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "*pbVar2 = *pbVar2 | 0x40;" (assignment_expression "*pbVar2 = *pbVar2 | 0x40" (pointer_expression "*pbVar2" * identifier) = (binary_expression "*pbVar2 | 0x40" (pointer_expression "*pbVar2" * identifier) | number_literal)) ;) (expression_statement "in_stack_ffffff88._M_current = *(Mips_symbol<64> ***)(iVar14 + 0x2c);" (assignment_expression "in_stack_ffffff88._M_current = *(Mips_symbol<64> ***)(iVar14 + 0x2c)" (field_expression "in_stack_ffffff88._M_current" identifier . field_identifier) = (pointer_expression "*(Mips_symbol<64> ***)(iVar14 + 0x2c)" * (call_expression "(Mips_symbol<64> ***)(iVar14 + 0x2c)" (parenthesized_expression "(Mips_symbol<64> ***)" ( (binary_expression "Mips_symbol<64> ***" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "***" * (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(iVar14 + 0x2c)" ( (binary_expression "iVar14 + 0x2c" identifier + number_literal) ))))) ;) (labeled_statement "gold::Output_reloc<9,_true,_64,_false>::Output_reloc\n                ((Output_reloc<9,_true,_64,_false> *)&view_size,(Symbol *)rela,0x7f,od,\n                 (longlong)iVar9,false,false,false);" statement_identifier : (ERROR ":" :) (expression_statement "Output_reloc<9,_true,_64,_false>::Output_reloc\n                ((Output_reloc<9,_true,_64,_false> *)&view_size,(Symbol *)rela,0x7f,od,\n                 (longlong)iVar9,false,false,false);" (comma_expression "Output_reloc<9,_true,_64,_false>::Output_reloc\n                ((Output_reloc<9,_true,_64,_false> *)&view_size,(Symbol *)rela,0x7f,od,\n                 (longlong)iVar9,false,false,false)" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_64,_false>::Output_reloc\n                ((Output_reloc<9,_true,_64,_false> *)&view_size,(Symbol *)rela,0x7f,od,\n                 (longlong)iVar9,false,false,false)" identifier , (comma_expression "_64,_false>::Output_reloc\n                ((Output_reloc<9,_true,_64,_false> *)&view_size,(Symbol *)rela,0x7f,od,\n                 (longlong)iVar9,false,false,false)" identifier , (binary_expression "_false>::Output_reloc\n                ((Output_reloc<9,_true,_64,_false> *)&view_size,(Symbol *)rela,0x7f,od,\n                 (longlong)iVar9,false,false,false)" identifier > (ERROR "::" : :) (call_expression "Output_reloc\n                ((Output_reloc<9,_true,_64,_false> *)&view_size,(Symbol *)rela,0x7f,od,\n                 (longlong)iVar9,false,false,false)" identifier (argument_list "((Output_reloc<9,_true,_64,_false> *)&view_size,(Symbol *)rela,0x7f,od,\n                 (longlong)iVar9,false,false,false)" ( (binary_expression "(Output_reloc<9,_true,_64,_false> *)&view_size" (parenthesized_expression "(Output_reloc<9,_true,_64,_false> *)" ( (comma_expression "Output_reloc<9,_true,_64,_false> *" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_64,_false> *" identifier , (comma_expression "_64,_false> *" identifier , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))))) )) & identifier) , (cast_expression "(Symbol *)rela" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , identifier , (cast_expression "(longlong)iVar9" ( (type_descriptor "longlong" type_identifier) ) identifier) , false , false , false ))))))) ;)) (labeled_statement "gold::Output_data_reloc_base<9,_true,_64,_false>::add\n                ((Output_data_reloc_base<9,_true,_64,_false> *)in_stack_ffffff88._M_current,od,\n                 (Output_reloc<9,_true,_64,_false> *)&view_size);" statement_identifier : (ERROR ":" :) (expression_statement "Output_data_reloc_base<9,_true,_64,_false>::add\n                ((Output_data_reloc_base<9,_true,_64,_false> *)in_stack_ffffff88._M_current,od,\n                 (Output_reloc<9,_true,_64,_false> *)&view_size);" (comma_expression "Output_data_reloc_base<9,_true,_64,_false>::add" (binary_expression "Output_data_reloc_base<9" identifier < number_literal) , (comma_expression "_true,_64,_false>::add" identifier , (comma_expression "_64,_false>::add" identifier , (binary_expression "_false>::add" identifier > (ERROR "::" : :) identifier)))) (ERROR "((Output_data_reloc_base<9,_true,_64,_false> *)in_stack_ffffff88._M_current,od,\n                 (Output_reloc<9,_true,_64,_false> *)&view_size)" ( ( (comma_expression "Output_data_reloc_base<9,_true,_64,_false> *)in_stack_ffffff88._M_current,od,\n                 (Output_reloc<9,_true,_64,_false> *)&view_size)" (binary_expression "Output_data_reloc_base<9" identifier < number_literal) , (comma_expression "_true,_64,_false> *)in_stack_ffffff88._M_current,od,\n                 (Output_reloc<9,_true,_64,_false> *)&view_size)" identifier , (comma_expression "_64,_false> *)in_stack_ffffff88._M_current,od,\n                 (Output_reloc<9,_true,_64,_false> *)&view_size)" identifier , (comma_expression "_false> *)in_stack_ffffff88._M_current,od,\n                 (Output_reloc<9,_true,_64,_false> *)&view_size)" (binary_expression "_false> *)in_stack_ffffff88._M_current" identifier > (pointer_expression "*)in_stack_ffffff88._M_current" * (ERROR ")" )) (field_expression "in_stack_ffffff88._M_current" identifier . field_identifier))) , (comma_expression "od,\n                 (Output_reloc<9,_true,_64,_false> *)&view_size)" identifier , (parenthesized_expression "(Output_reloc<9,_true,_64,_false> *)&view_size)" ( (comma_expression "Output_reloc<9,_true,_64,_false> *)&view_size" (binary_expression "Output_reloc<9" identifier < number_literal) , (comma_expression "_true,_64,_false> *)&view_size" identifier , (comma_expression "_64,_false> *)&view_size" identifier , (binary_expression "_false> *)&view_size" identifier > (pointer_expression "*)&view_size" * (ERROR ")" )) (pointer_expression "&view_size" & identifier)))))) )))))))) ;)) })) (if_statement "if ((((uint)rela[10].p_ & 0x70000) == 0) && ((rela[2].p_[1].r_addend & 0x100000000) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (gold::Symbol::set_needs_dynsym_value((Symbol *)rela), *(char *)&rela[0x14].p_ != '\0')) {\n        bVar4 = *(byte *)((int)&rela[10].p_ + 1);\n        if ((bVar4 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)&rela[10].p_ + 1) = bVar4 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)&rela[10].p_ + 1) = (byte)((bVar4 >> 2 & 0x30 | 2) << 2) | bVar4 & 3;\n        }\n      }\n    }" if (parenthesized_expression "((((uint)rela[10].p_ & 0x70000) == 0) && ((rela[2].p_[1].r_addend & 0x100000000) != 0))" ( (binary_expression "(((uint)rela[10].p_ & 0x70000) == 0) && ((rela[2].p_[1].r_addend & 0x100000000) != 0)" (parenthesized_expression "(((uint)rela[10].p_ & 0x70000) == 0)" ( (binary_expression "((uint)rela[10].p_ & 0x70000) == 0" (parenthesized_expression "((uint)rela[10].p_ & 0x70000)" ( (binary_expression "(uint)rela[10].p_ & 0x70000" (cast_expression "(uint)rela[10].p_" ( (type_descriptor "uint" type_identifier) ) (field_expression "rela[10].p_" (subscript_expression "rela[10]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) )) && (parenthesized_expression "((rela[2].p_[1].r_addend & 0x100000000) != 0)" ( (binary_expression "(rela[2].p_[1].r_addend & 0x100000000) != 0" (parenthesized_expression "(rela[2].p_[1].r_addend & 0x100000000)" ( (binary_expression "rela[2].p_[1].r_addend & 0x100000000" (field_expression "rela[2].p_[1].r_addend" (subscript_expression "rela[2].p_[1]" (field_expression "rela[2].p_" (subscript_expression "rela[2]" identifier [ number_literal ]) . field_identifier) [ number_literal ]) . field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (gold::Symbol::set_needs_dynsym_value((Symbol *)rela), *(char *)&rela[0x14].p_ != '\0')) {\n        bVar4 = *(byte *)((int)&rela[10].p_ + 1);\n        if ((bVar4 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)&rela[10].p_ + 1) = bVar4 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)&rela[10].p_ + 1) = (byte)((bVar4 >> 2 & 0x30 | 2) << 2) | bVar4 & 3;\n        }\n      }\n    }" { (if_statement "if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;" if (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0019972d;" goto statement_identifier ;)) (if_statement "if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (gold::Symbol::set_needs_dynsym_value((Symbol *)rela), *(char *)&rela[0x14].p_ != '\0')) {\n        bVar4 = *(byte *)((int)&rela[10].p_ + 1);\n        if ((bVar4 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)&rela[10].p_ + 1) = bVar4 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)&rela[10].p_ + 1) = (byte)((bVar4 >> 2 & 0x30 | 2) << 2) | bVar4 & 3;\n        }\n      }" if (parenthesized_expression "((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (gold::Symbol::set_needs_dynsym_value((Symbol *)rela), *(char *)&rela[0x14].p_ != '\0'))" ( (binary_expression "(*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (gold::Symbol::set_needs_dynsym_value((Symbol *)rela), *(char *)&rela[0x14].p_ != '\0')" (parenthesized_expression "(*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" * (cast_expression "(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(gold::Symbol::set_needs_dynsym_value((Symbol *)rela), *(char *)&rela[0x14].p_ != '\0')" ( (ERROR "gold::Symbol::" identifier : : identifier : :) (comma_expression "set_needs_dynsym_value((Symbol *)rela), *(char *)&rela[0x14].p_ != '\0'" (call_expression "set_needs_dynsym_value((Symbol *)rela)" identifier (argument_list "((Symbol *)rela)" ( (cast_expression "(Symbol *)rela" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) , (binary_expression "*(char *)&rela[0x14].p_ != '\0'" (pointer_expression "*(char *)&rela[0x14].p_" * (cast_expression "(char *)&rela[0x14].p_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rela[0x14].p_" & (field_expression "rela[0x14].p_" (subscript_expression "rela[0x14]" identifier [ number_literal ]) . field_identifier)))) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n        bVar4 = *(byte *)((int)&rela[10].p_ + 1);\n        if ((bVar4 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)&rela[10].p_ + 1) = bVar4 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)&rela[10].p_ + 1) = (byte)((bVar4 >> 2 & 0x30 | 2) << 2) | bVar4 & 3;\n        }\n      }" { (expression_statement "bVar4 = *(byte *)((int)&rela[10].p_ + 1);" (assignment_expression "bVar4 = *(byte *)((int)&rela[10].p_ + 1)" identifier = (pointer_expression "*(byte *)((int)&rela[10].p_ + 1)" * (cast_expression "(byte *)((int)&rela[10].p_ + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rela[10].p_ + 1)" ( (binary_expression "(int)&rela[10].p_ + 1" (cast_expression "(int)&rela[10].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[10].p_" & (field_expression "rela[10].p_" (subscript_expression "rela[10]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (if_statement "if ((bVar4 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)&rela[10].p_ + 1) = bVar4 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)&rela[10].p_ + 1) = (byte)((bVar4 >> 2 & 0x30 | 2) << 2) | bVar4 & 3;\n        }" if (parenthesized_expression "((bVar4 >> 2 & 0x3c) == 0x3c)" ( (binary_expression "(bVar4 >> 2 & 0x3c) == 0x3c" (parenthesized_expression "(bVar4 >> 2 & 0x3c)" ( (binary_expression "bVar4 >> 2 & 0x3c" (binary_expression "bVar4 >> 2" identifier >> number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          *(byte *)((int)&rela[10].p_ + 1) = bVar4 & 3 | 0xf8;\n        }" { (expression_statement "*(byte *)((int)&rela[10].p_ + 1) = bVar4 & 3 | 0xf8;" (assignment_expression "*(byte *)((int)&rela[10].p_ + 1) = bVar4 & 3 | 0xf8" (pointer_expression "*(byte *)((int)&rela[10].p_ + 1)" * (cast_expression "(byte *)((int)&rela[10].p_ + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rela[10].p_ + 1)" ( (binary_expression "(int)&rela[10].p_ + 1" (cast_expression "(int)&rela[10].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[10].p_" & (field_expression "rela[10].p_" (subscript_expression "rela[10]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = (binary_expression "bVar4 & 3 | 0xf8" (binary_expression "bVar4 & 3" identifier & number_literal) | number_literal)) ;) }) (else_clause "else {\n          *(byte *)((int)&rela[10].p_ + 1) = (byte)((bVar4 >> 2 & 0x30 | 2) << 2) | bVar4 & 3;\n        }" else (compound_statement "{\n          *(byte *)((int)&rela[10].p_ + 1) = (byte)((bVar4 >> 2 & 0x30 | 2) << 2) | bVar4 & 3;\n        }" { (expression_statement "*(byte *)((int)&rela[10].p_ + 1) = (byte)((bVar4 >> 2 & 0x30 | 2) << 2) | bVar4 & 3;" (assignment_expression "*(byte *)((int)&rela[10].p_ + 1) = (byte)((bVar4 >> 2 & 0x30 | 2) << 2) | bVar4 & 3" (pointer_expression "*(byte *)((int)&rela[10].p_ + 1)" * (cast_expression "(byte *)((int)&rela[10].p_ + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&rela[10].p_ + 1)" ( (binary_expression "(int)&rela[10].p_ + 1" (cast_expression "(int)&rela[10].p_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rela[10].p_" & (field_expression "rela[10].p_" (subscript_expression "rela[10]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = (binary_expression "(byte)((bVar4 >> 2 & 0x30 | 2) << 2) | bVar4 & 3" (call_expression "(byte)((bVar4 >> 2 & 0x30 | 2) << 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((bVar4 >> 2 & 0x30 | 2) << 2)" ( (binary_expression "(bVar4 >> 2 & 0x30 | 2) << 2" (parenthesized_expression "(bVar4 >> 2 & 0x30 | 2)" ( (binary_expression "bVar4 >> 2 & 0x30 | 2" (binary_expression "bVar4 >> 2 & 0x30" (binary_expression "bVar4 >> 2" identifier >> number_literal) & number_literal) | number_literal) )) << number_literal) ))) | (binary_expression "bVar4 & 3" identifier & number_literal))) ;) }))) })) })) })) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (if_statement "if ((undefined1 *)((int)&output_section[-1].reloc_section_ + 3U) < (undefined1 *)0xf9) {\n    iVar14 = (int)*(char *)((int)&output_section[0x32c6].addralign_ + unaff_EDI + 2);\n  }" if (parenthesized_expression "((undefined1 *)((int)&output_section[-1].reloc_section_ + 3U) < (undefined1 *)0xf9)" ( (binary_expression "(undefined1 *)((int)&output_section[-1].reloc_section_ + 3U) < (undefined1 *)0xf9" (cast_expression "(undefined1 *)((int)&output_section[-1].reloc_section_ + 3U)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&output_section[-1].reloc_section_ + 3U)" ( (binary_expression "(int)&output_section[-1].reloc_section_ + 3U" (cast_expression "(int)&output_section[-1].reloc_section_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&output_section[-1].reloc_section_" & (field_expression "output_section[-1].reloc_section_" (subscript_expression "output_section[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) < (cast_expression "(undefined1 *)0xf9" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar14 = (int)*(char *)((int)&output_section[0x32c6].addralign_ + unaff_EDI + 2);\n  }" { (expression_statement "iVar14 = (int)*(char *)((int)&output_section[0x32c6].addralign_ + unaff_EDI + 2);" (assignment_expression "iVar14 = (int)*(char *)((int)&output_section[0x32c6].addralign_ + unaff_EDI + 2)" identifier = (cast_expression "(int)*(char *)((int)&output_section[0x32c6].addralign_ + unaff_EDI + 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)&output_section[0x32c6].addralign_ + unaff_EDI + 2)" * (cast_expression "(char *)((int)&output_section[0x32c6].addralign_ + unaff_EDI + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&output_section[0x32c6].addralign_ + unaff_EDI + 2)" ( (binary_expression "(int)&output_section[0x32c6].addralign_ + unaff_EDI + 2" (binary_expression "(int)&output_section[0x32c6].addralign_ + unaff_EDI" (cast_expression "(int)&output_section[0x32c6].addralign_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&output_section[0x32c6].addralign_" & (field_expression "output_section[0x32c6].addralign_" (subscript_expression "output_section[0x32c6]" identifier [ number_literal ]) . field_identifier))) + identifier) + number_literal) )))))) ;) })) (ERROR "bVar11 = gold::" (assignment_expression "bVar11 = gold" identifier = identifier) : :) (labeled_statement "Symbol::needs_dynamic_reloc((Symbol *)rela,iVar14);" statement_identifier : (ERROR ":" :) (expression_statement "needs_dynamic_reloc((Symbol *)rela,iVar14);" (call_expression "needs_dynamic_reloc((Symbol *)rela,iVar14)" identifier (argument_list "((Symbol *)rela,iVar14)" ( (cast_expression "(Symbol *)rela" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;)) (if_statement "if (bVar11) {\n    bVar11 = gold::Symbol::may_need_copy_reloc((Symbol *)rela);\n    if (bVar11) {\n      reloc_section =\n           rel_dyn_section((Target_mips<64,_false> *)in_stack_ffffff84,\n                           (Layout *)in_stack_ffffff88._M_current);\n      sym = gold::Symbol_table::get_sized_symbol<64>\n                      ((Symbol_table *)in_stack_ffffff84,(Symbol *)in_stack_ffffff88._M_current);\n      gold::Copy_relocs<9,_64,_false>::copy_reloc\n                ((Copy_relocs<9,_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4);\n  pcVar13 = (char *)gettext(unaff_EDI + 0x2d9187);\n  gold::gold_error(pcVar13,uVar7,output_section,pMVar6);\n  return;\n}" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n    bVar11 = gold::Symbol::may_need_copy_reloc((Symbol *)rela);\n    if (bVar11) {\n      reloc_section =\n           rel_dyn_section((Target_mips<64,_false> *)in_stack_ffffff84,\n                           (Layout *)in_stack_ffffff88._M_current);\n      sym = gold::Symbol_table::get_sized_symbol<64>\n                      ((Symbol_table *)in_stack_ffffff84,(Symbol *)in_stack_ffffff88._M_current);\n      gold::Copy_relocs<9,_64,_false>::copy_reloc\n                ((Copy_relocs<9,_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4);\n  pcVar13 = (char *)gettext(unaff_EDI + 0x2d9187);\n  gold::gold_error(pcVar13,uVar7,output_section,pMVar6);\n  return;\n}" { (ERROR "bVar11 = gold::" (assignment_expression "bVar11 = gold" identifier = identifier) : :) (labeled_statement "Symbol::may_need_copy_reloc((Symbol *)rela);" statement_identifier : (ERROR ":" :) (expression_statement "may_need_copy_reloc((Symbol *)rela);" (call_expression "may_need_copy_reloc((Symbol *)rela)" identifier (argument_list "((Symbol *)rela)" ( (cast_expression "(Symbol *)rela" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (if_statement "if (bVar11) {\n      reloc_section =\n           rel_dyn_section((Target_mips<64,_false> *)in_stack_ffffff84,\n                           (Layout *)in_stack_ffffff88._M_current);\n      sym = gold::Symbol_table::get_sized_symbol<64>\n                      ((Symbol_table *)in_stack_ffffff84,(Symbol *)in_stack_ffffff88._M_current);\n      gold::Copy_relocs<9,_64,_false>::copy_reloc\n                ((Copy_relocs<9,_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4);\n  pcVar13 = (char *)gettext(unaff_EDI + 0x2d9187);\n  gold::gold_error(pcVar13,uVar7,output_section,pMVar6);\n  return;\n}" if (parenthesized_expression "(bVar11)" ( identifier )) (compound_statement "{\n      reloc_section =\n           rel_dyn_section((Target_mips<64,_false> *)in_stack_ffffff84,\n                           (Layout *)in_stack_ffffff88._M_current);\n      sym = gold::Symbol_table::get_sized_symbol<64>\n                      ((Symbol_table *)in_stack_ffffff84,(Symbol *)in_stack_ffffff88._M_current);\n      gold::Copy_relocs<9,_64,_false>::copy_reloc\n                ((Copy_relocs<9,_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4);\n  pcVar13 = (char *)gettext(unaff_EDI + 0x2d9187);\n  gold::gold_error(pcVar13,uVar7,output_section,pMVar6);\n  return;\n}" { (expression_statement "reloc_section =\n           rel_dyn_section((Target_mips<64,_false> *)in_stack_ffffff84,\n                           (Layout *)in_stack_ffffff88._M_current);" (assignment_expression "reloc_section =\n           rel_dyn_section((Target_mips<64,_false> *)in_stack_ffffff84,\n                           (Layout *)in_stack_ffffff88._M_current)" identifier = (call_expression "rel_dyn_section((Target_mips<64,_false> *)in_stack_ffffff84,\n                           (Layout *)in_stack_ffffff88._M_current)" identifier (argument_list "((Target_mips<64,_false> *)in_stack_ffffff84,\n                           (Layout *)in_stack_ffffff88._M_current)" ( (parenthesized_expression "(Target_mips<64,_false> *)in_stack_ffffff84,\n                           (Layout *)in_stack_ffffff88._M_current)" ( (comma_expression "Target_mips<64,_false> *)in_stack_ffffff84,\n                           (Layout *)in_stack_ffffff88._M_current" (binary_expression "Target_mips<64" identifier < number_literal) , (comma_expression "_false> *)in_stack_ffffff84,\n                           (Layout *)in_stack_ffffff88._M_current" (binary_expression "_false> *)in_stack_ffffff84" identifier > (pointer_expression "*)in_stack_ffffff84" * (ERROR ")" )) identifier)) , (cast_expression "(Layout *)in_stack_ffffff88._M_current" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "in_stack_ffffff88._M_current" identifier . field_identifier)))) )) )))) ;) (ERROR "sym = gold::" (assignment_expression "sym = gold" identifier = identifier) : :) (labeled_statement "Symbol_table::get_sized_symbol<64>\n                      ((Symbol_table *)in_stack_ffffff84,(Symbol *)in_stack_ffffff88._M_current);" statement_identifier : (ERROR ":" :) (expression_statement "get_sized_symbol<64>\n                      ((Symbol_table *)in_stack_ffffff84,(Symbol *)in_stack_ffffff88._M_current);" (binary_expression "get_sized_symbol<64>\n                      ((Symbol_table *)in_stack_ffffff84,(Symbol *)in_stack_ffffff88._M_current)" (binary_expression "get_sized_symbol<64" identifier < number_literal) > (parenthesized_expression "((Symbol_table *)in_stack_ffffff84,(Symbol *)in_stack_ffffff88._M_current)" ( (comma_expression "(Symbol_table *)in_stack_ffffff84,(Symbol *)in_stack_ffffff88._M_current" (cast_expression "(Symbol_table *)in_stack_ffffff84" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Symbol *)in_stack_ffffff88._M_current" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "in_stack_ffffff88._M_current" identifier . field_identifier))) ))) ;)) (labeled_statement "gold::Copy_relocs<9,_64,_false>::copy_reloc\n                ((Copy_relocs<9,_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4);\n  pcVar13 = (char *)gettext(unaff_EDI + 0x2d9187);" statement_identifier : (ERROR ":" :) (expression_statement "Copy_relocs<9,_64,_false>::copy_reloc\n                ((Copy_relocs<9,_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4);\n  pcVar13 = (char *)gettext(unaff_EDI + 0x2d9187);" (comma_expression "Copy_relocs<9,_64,_false>::copy_reloc\n                ((Copy_relocs<9,_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4);\n  pcVar13 = (char *)gettext(unaff_EDI + 0x2d9187)" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "_64,_false>::copy_reloc\n                ((Copy_relocs<9,_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4);\n  pcVar13 = (char *)gettext(unaff_EDI + 0x2d9187)" identifier , (binary_expression "_false>::copy_reloc\n                ((Copy_relocs<9,_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4);\n  pcVar13 = (char *)gettext(unaff_EDI + 0x2d9187)" identifier > (ERROR "::" : :) (call_expression "copy_reloc\n                ((Copy_relocs<9,_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4);\n  pcVar13 = (char *)gettext(unaff_EDI + 0x2d9187)" identifier (argument_list "((Copy_relocs<9,_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4);\n  pcVar13 = (char *)gettext(unaff_EDI + 0x2d9187)" ( (binary_expression "(Copy_relocs<9,_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4);\n  pcVar13 = (char *)gettext(unaff_EDI + 0x2d9187" (parenthesized_expression "(Copy_relocs<9,_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4);\n  pcVar13 = (char *)" ( (comma_expression "Copy_relocs<9,_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4)" (binary_expression "Copy_relocs<9" identifier < number_literal) , (comma_expression "_64,_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4)" identifier , (comma_expression "_false> *)&extraout_ECX->entsize_,(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4)" (binary_expression "_false> *)&extraout_ECX->entsize_" identifier > (pointer_expression "*)&extraout_ECX->entsize_" * (ERROR ")" )) (pointer_expression "&extraout_ECX->entsize_" & (field_expression "extraout_ECX->entsize_" identifier -> field_identifier)))) , (comma_expression "(Symbol_table *)uVar22,this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4)" (cast_expression "(Symbol_table *)uVar22" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "this_01\n                 ,sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4)" identifier , (comma_expression "sym,(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4)" identifier , (call_expression "(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)(this + 4)" (parenthesized_expression "(Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64) {\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *)" ( (ERROR "Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_;\n      pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153);\n      gold::gold_error(pcVar13,pMVar6);\n    }\n  }\n  puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1) {\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (output_section != (Output_section *)0x64)" (comma_expression "Sized_relobj_file<64,_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (comma_expression "_false> *)this,(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_" (binary_expression "_false> *)this" identifier > (pointer_expression "*)this" * (ERROR ")" )) identifier)) , (comma_expression "(uint)symtab,(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_" (cast_expression "(uint)symtab" ( (type_descriptor "uint" type_identifier) ) identifier) , (comma_expression "(Output_section *)layout,\n                 (uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_" (cast_expression "(Output_section *)layout" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "(uint)output_section,CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_" (cast_expression "(uint)output_section" ( (type_descriptor "uint" type_identifier) ) identifier) , (comma_expression "CONCAT44(local_68,p_Var20),0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_" (call_expression "CONCAT44(local_68,p_Var20)" identifier (argument_list "(local_68,p_Var20)" ( identifier , identifier ))) , (comma_expression "0,\n                 &reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_" number_literal , (comma_expression "&reloc_section->super_Output_data_reloc<9,_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_" (binary_expression "&reloc_section->super_Output_data_reloc<9" (pointer_expression "&reloc_section->super_Output_data_reloc" & (field_expression "reloc_section->super_Output_data_reloc" identifier -> field_identifier)) < number_literal) , (comma_expression "_true,_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_" identifier , (comma_expression "_64,_false>);\n    }\n    else {\n      pMVar6 = rela->p_" identifier , (binary_expression "_false>);\n    }\n    else {\n      pMVar6 = rela->p_" identifier > (ERROR ");\n    }\n    else {" ) ; } else {) (assignment_expression "pMVar6 = rela->p_" identifier = (field_expression "rela->p_" identifier -> field_identifier))))))))))))) ; (assignment_expression "pcVar13 = (char *)gettext(unaff_EDI + 0x2d9153)" identifier = (cast_expression "(char *)gettext(unaff_EDI + 0x2d9153)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(unaff_EDI + 0x2d9153)" identifier (argument_list "(unaff_EDI + 0x2d9153)" ( (binary_expression "unaff_EDI + 0x2d9153" identifier + number_literal) ))))) ; identifier : : (call_expression "gold_error(pcVar13,pMVar6)" identifier (argument_list "(pcVar13,pMVar6)" ( identifier , identifier ))) ; } } (call_expression "puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3);\n  if (puVar12 < (undefined1 *)0xf1)" (assignment_expression "puVar12 = (undefined1 *)((int)&output_section[-1].patch_space_ + 3)" identifier = (cast_expression "(undefined1 *)((int)&output_section[-1].patch_space_ + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&output_section[-1].patch_space_ + 3)" ( (binary_expression "(int)&output_section[-1].patch_space_ + 3" (cast_expression "(int)&output_section[-1].patch_space_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&output_section[-1].patch_space_" & (field_expression "output_section[-1].patch_space_" (subscript_expression "output_section[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) (ERROR ";\n  if" ; if) (argument_list "(puVar12 < (undefined1 *)0xf1)" ( (binary_expression "puVar12 < (undefined1 *)0xf1" identifier < (cast_expression "(undefined1 *)0xf1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();\n    return;\n  }" { comment comment (expression_statement "(*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ();" (call_expression "(*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))\n              ()" (parenthesized_expression "(*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI))" ( (pointer_expression "*(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI)" * (cast_expression "(code *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI)" ( (binary_expression "&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI) + unaff_EDI" (binary_expression "&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI)" (pointer_expression "&UNK_00451af7" & identifier) + (pointer_expression "*(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI)" * (cast_expression "(int *)(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI)" ( (binary_expression "&UNK_002dc35b + (int)puVar12 * 4 + unaff_EDI" (binary_expression "&UNK_002dc35b + (int)puVar12 * 4" (pointer_expression "&UNK_002dc35b" & identifier) + (binary_expression "(int)puVar12 * 4" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + identifier) ))))) + identifier) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) }) if (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);\n  }" { (labeled_statement "LAB_0019972d:\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI);" (call_expression "do_gold_unreachable((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI)" identifier (argument_list "((char *)(unaff_EDI + 0x2afd64),0x5c,&UNK_002e274f + unaff_EDI)" ( (cast_expression "(char *)(unaff_EDI + 0x2afd64)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x2afd64)" ( (binary_expression "unaff_EDI + 0x2afd64" identifier + number_literal) ))) , number_literal , (binary_expression "&UNK_002e274f + unaff_EDI" (pointer_expression "&UNK_002e274f" & identifier) + identifier) ))) ;))) }) if (parenthesized_expression "(*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" * (cast_expression "(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }) if (parenthesized_expression "(output_section != (Output_section *)0x64)" ( (binary_expression "output_section != (Output_section *)0x64" identifier != (cast_expression "(Output_section *)0x64" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) (compound_statement "{\n    if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }\n    if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }\n  }" { (if_statement "if (output_section < (Output_section *)0x65) {\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }\n    else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }" if (parenthesized_expression "(output_section < (Output_section *)0x65)" ( (binary_expression "output_section < (Output_section *)0x65" identifier < (cast_expression "(Output_section *)0x65" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }\n    }" { (if_statement "if (output_section != (Output_section *)0x5) {\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }" if (parenthesized_expression "(output_section != (Output_section *)0x5)" ( (binary_expression "output_section != (Output_section *)0x5" identifier != (cast_expression "(Output_section *)0x5" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }\n      }" { (if_statement "if (output_section < (Output_section *)0x6) {\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }" if (parenthesized_expression "(output_section < (Output_section *)0x6)" ( (binary_expression "output_section < (Output_section *)0x6" identifier < (cast_expression "(Output_section *)0x6" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (output_section != (Output_section *)0x4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }" { (if_statement "if (output_section != (Output_section *)0x4) {\n            return;\n          }" if (parenthesized_expression "(output_section != (Output_section *)0x4)" ( (binary_expression "output_section != (Output_section *)0x4" identifier != (cast_expression "(Output_section *)0x4" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_0019889d;" goto statement_identifier ;) })) (if_statement "if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)) {\n          return;\n        }" if (parenthesized_expression "((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U))" ( (binary_expression "(undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)" (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined1 *)((int)&output_section[-1].free_list_.length_ + 4U)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&output_section[-1].free_list_.length_ + 4U)" ( (binary_expression "(int)&output_section[-1].free_list_.length_ + 4U" (cast_expression "(int)&output_section[-1].free_list_.length_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&output_section[-1].free_list_.length_" & (field_expression "output_section[-1].free_list_.length_" (field_expression "output_section[-1].free_list_" (subscript_expression "output_section[-1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) }) (else_clause "else if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }" else (if_statement "if (output_section != (Output_section *)0x86) {\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }" if (parenthesized_expression "(output_section != (Output_section *)0x86)" ( (binary_expression "output_section != (Output_section *)0x86" identifier != (cast_expression "(Output_section *)0x86" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }\n    }" { (if_statement "if (output_section < (Output_section *)0x87) {\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }" if (parenthesized_expression "(output_section < (Output_section *)0x87)" ( (binary_expression "output_section < (Output_section *)0x87" identifier < (cast_expression "(Output_section *)0x87" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }" { (if_statement "if (output_section != (Output_section *)0x68) {\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }" if (parenthesized_expression "(output_section != (Output_section *)0x68)" ( (binary_expression "output_section != (Output_section *)0x68" identifier != (cast_expression "(Output_section *)0x68" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (output_section != (Output_section *)0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }" { (if_statement "if (output_section != (Output_section *)0x85) {\n            return;\n          }" if (parenthesized_expression "(output_section != (Output_section *)0x85)" ( (binary_expression "output_section != (Output_section *)0x85" identifier != (cast_expression "(Output_section *)0x85" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_0019889d;" goto statement_identifier ;) })) }) (else_clause "else if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }" else (if_statement "if ((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)) {\n        return;\n      }" if (parenthesized_expression "((undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U))" ( (binary_expression "(undefined1 *)0x1 < (undefined1 *)((int)&output_section[-1].type_ + 1U)" (cast_expression "(undefined1 *)0x1" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (cast_expression "(undefined1 *)((int)&output_section[-1].type_ + 1U)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&output_section[-1].type_ + 1U)" ( (binary_expression "(int)&output_section[-1].type_ + 1U" (cast_expression "(int)&output_section[-1].type_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&output_section[-1].type_" & (field_expression "output_section[-1].type_" (subscript_expression "output_section[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })))) })))) (if_statement "if (local_64 == (_func_int_varargs *)0x0) {\n      return;\n    }" if (parenthesized_expression "(local_64 == (_func_int_varargs *)0x0)" ( (binary_expression "local_64 == (_func_int_varargs *)0x0" identifier == (cast_expression "(_func_int_varargs *)0x0" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) (ERROR "LAB_0019889d:\n  pMVar6 = rela->p_;\n  uVar7 = *(undefined4 *" identifier : identifier = identifier -> identifier ; identifier = * ( identifier *) )) (argument_list "(this + 4)" ( (binary_expression "this + 4" identifier + number_literal) ))))))))) (ERROR ";\n  pcVar13 = (char *" ; identifier = ( primitive_type *) )) (ERROR "gettext(unaff_EDI" identifier ( identifier) + number_literal) )))))) ;)) (labeled_statement "gold::gold_error(pcVar13,uVar7,output_section,pMVar6);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error(pcVar13,uVar7,output_section,pMVar6);" (call_expression "gold_error(pcVar13,uVar7,output_section,pMVar6)" identifier (argument_list "(pcVar13,uVar7,output_section,pMVar6)" ( identifier , identifier , identifier , identifier ))) ;)) (return_statement "return;" return ;) })) })))
(translation_unit "void FUN_00198500(int param_1,undefined4 *param_2,undefined4 param_3,int *param_4,int *param_5,\n                 int param_6,uint param_7,undefined4 *param_8)\n\n{\n  byte bVar1;\n  int iVar2;\n  char cVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  undefined4 *puVar10;\n  int extraout_ECX;\n  int iVar11;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  undefined4 extraout_ECX_04;\n  undefined4 extraout_ECX_05;\n  undefined4 extraout_ECX_06;\n  uint uVar12;\n  uint uVar13;\n  int unaff_EDI;\n  undefined8 uVar14;\n  undefined4 local_68;\n  int local_64;\n  undefined4 *local_38;\n  int *local_34;\n  \n  uVar14 = FUN_00074f0a();\n  uVar8 = (undefined4)((ulonglong)uVar14 >> 0x20);\n  if (param_6 == 4) {\n    puVar10 = (undefined4 *)*param_4;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  else {\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  if ((undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n    FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);\n  }\n  uVar13 = (uint)param_2 >> 5;\n  uVar12 = 1 << ((byte)param_2 & 0x1f);\n  if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n    iVar5 = *(int *)(param_1 + 0x204);\n    if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }\n    if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\n    iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);\n    if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }\n    if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }\n  }\n  else {\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }\n  if ((((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c))) {\n    *(undefined1 *)(param_8 + 0x10) = 1;\n  }\n  if (param_7 < 0xfa) {\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)(param_8 + 0x14) = 1;\n  *(undefined1 *)(param_8 + 0x12) = 1;\n  if (param_7 == 0x67) goto LAB_0019878c;\n  if (param_7 < 0x68) {\n    if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;\n    if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }\n  }\n  else {\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }\nLAB_001987a0:\n  if ((*(byte *)(param_1 + 0x1e8) & 1) == 0) {\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }\n  cVar3 = FUN_0008ff10(param_8);\n  if (cVar3 != '\0') {\n    uVar4 = extraout_ECX_01;\n    if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }\n    if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }\n  }\n  iVar5 = 0;\n  if (param_7 - 1 < 0xf9) {\n    iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);\n  }\n  cVar3 = FUN_00071bb0(param_8,iVar5);\n  uVar4 = extraout_ECX_02;\n  if (cVar3 != '\0') {\n    cVar3 = FUN_00103300(param_8);\n    if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }\n  }\n  if (param_7 - 9 < 0xf1) {\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    \n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (param_7 != 100) {\n    if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }\n    if (local_64 == 0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  uVar8 = *param_8;\n  uVar7 = *(undefined4 *)(param_1 + 4);\n  uVar4 = gettext(unaff_EDI + 0x2d9187);\n  FUN_0023b810(uVar4,uVar7,param_7,uVar8);\n  return;\n}\n\n" (function_definition "void FUN_00198500(int param_1,undefined4 *param_2,undefined4 param_3,int *param_4,int *param_5,\n                 int param_6,uint param_7,undefined4 *param_8)\n\n{\n  byte bVar1;\n  int iVar2;\n  char cVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  undefined4 *puVar10;\n  int extraout_ECX;\n  int iVar11;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  undefined4 extraout_ECX_04;\n  undefined4 extraout_ECX_05;\n  undefined4 extraout_ECX_06;\n  uint uVar12;\n  uint uVar13;\n  int unaff_EDI;\n  undefined8 uVar14;\n  undefined4 local_68;\n  int local_64;\n  undefined4 *local_38;\n  int *local_34;\n  \n  uVar14 = FUN_00074f0a();\n  uVar8 = (undefined4)((ulonglong)uVar14 >> 0x20);\n  if (param_6 == 4) {\n    puVar10 = (undefined4 *)*param_4;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  else {\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  if ((undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n    FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);\n  }\n  uVar13 = (uint)param_2 >> 5;\n  uVar12 = 1 << ((byte)param_2 & 0x1f);\n  if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n    iVar5 = *(int *)(param_1 + 0x204);\n    if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }\n    if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\n    iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);\n    if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }\n    if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }\n  }\n  else {\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }\n  if ((((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c))) {\n    *(undefined1 *)(param_8 + 0x10) = 1;\n  }\n  if (param_7 < 0xfa) {\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)(param_8 + 0x14) = 1;\n  *(undefined1 *)(param_8 + 0x12) = 1;\n  if (param_7 == 0x67) goto LAB_0019878c;\n  if (param_7 < 0x68) {\n    if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;\n    if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }\n  }\n  else {\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }\nLAB_001987a0:\n  if ((*(byte *)(param_1 + 0x1e8) & 1) == 0) {\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }\n  cVar3 = FUN_0008ff10(param_8);\n  if (cVar3 != '\0') {\n    uVar4 = extraout_ECX_01;\n    if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }\n    if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }\n  }\n  iVar5 = 0;\n  if (param_7 - 1 < 0xf9) {\n    iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);\n  }\n  cVar3 = FUN_00071bb0(param_8,iVar5);\n  uVar4 = extraout_ECX_02;\n  if (cVar3 != '\0') {\n    cVar3 = FUN_00103300(param_8);\n    if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }\n  }\n  if (param_7 - 9 < 0xf1) {\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    \n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (param_7 != 100) {\n    if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }\n    if (local_64 == 0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  uVar8 = *param_8;\n  uVar7 = *(undefined4 *)(param_1 + 4);\n  uVar4 = gettext(unaff_EDI + 0x2d9187);\n  FUN_0023b810(uVar4,uVar7,param_7,uVar8);\n  return;\n}" primitive_type (function_declarator "FUN_00198500(int param_1,undefined4 *param_2,undefined4 param_3,int *param_4,int *param_5,\n                 int param_6,uint param_7,undefined4 *param_8)" identifier (parameter_list "(int param_1,undefined4 *param_2,undefined4 param_3,int *param_4,int *param_5,\n                 int param_6,uint param_7,undefined4 *param_8)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "int param_6" primitive_type identifier) , (parameter_declaration "uint param_7" type_identifier identifier) , (parameter_declaration "undefined4 *param_8" type_identifier (pointer_declarator "*param_8" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  char cVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  undefined4 *puVar10;\n  int extraout_ECX;\n  int iVar11;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  undefined4 extraout_ECX_04;\n  undefined4 extraout_ECX_05;\n  undefined4 extraout_ECX_06;\n  uint uVar12;\n  uint uVar13;\n  int unaff_EDI;\n  undefined8 uVar14;\n  undefined4 local_68;\n  int local_64;\n  undefined4 *local_38;\n  int *local_34;\n  \n  uVar14 = FUN_00074f0a();\n  uVar8 = (undefined4)((ulonglong)uVar14 >> 0x20);\n  if (param_6 == 4) {\n    puVar10 = (undefined4 *)*param_4;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  else {\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  if ((undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n    FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);\n  }\n  uVar13 = (uint)param_2 >> 5;\n  uVar12 = 1 << ((byte)param_2 & 0x1f);\n  if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n    iVar5 = *(int *)(param_1 + 0x204);\n    if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }\n    if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\n    iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);\n    if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }\n    if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }\n  }\n  else {\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }\n  if ((((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c))) {\n    *(undefined1 *)(param_8 + 0x10) = 1;\n  }\n  if (param_7 < 0xfa) {\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)(param_8 + 0x14) = 1;\n  *(undefined1 *)(param_8 + 0x12) = 1;\n  if (param_7 == 0x67) goto LAB_0019878c;\n  if (param_7 < 0x68) {\n    if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;\n    if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }\n  }\n  else {\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }\nLAB_001987a0:\n  if ((*(byte *)(param_1 + 0x1e8) & 1) == 0) {\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }\n  cVar3 = FUN_0008ff10(param_8);\n  if (cVar3 != '\0') {\n    uVar4 = extraout_ECX_01;\n    if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }\n    if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }\n  }\n  iVar5 = 0;\n  if (param_7 - 1 < 0xf9) {\n    iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);\n  }\n  cVar3 = FUN_00071bb0(param_8,iVar5);\n  uVar4 = extraout_ECX_02;\n  if (cVar3 != '\0') {\n    cVar3 = FUN_00103300(param_8);\n    if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }\n  }\n  if (param_7 - 9 < 0xf1) {\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    \n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (param_7 != 100) {\n    if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }\n    if (local_64 == 0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  uVar8 = *param_8;\n  uVar7 = *(undefined4 *)(param_1 + 4);\n  uVar4 = gettext(unaff_EDI + 0x2d9187);\n  FUN_0023b810(uVar4,uVar7,param_7,uVar8);\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int extraout_ECX;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined4 extraout_ECX_00;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_01;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_02;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_03;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_04;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_05;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX_06;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "undefined8 uVar14;" type_identifier identifier ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "int local_64;" primitive_type identifier ;) (declaration "undefined4 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (expression_statement "uVar14 = FUN_00074f0a();" (assignment_expression "uVar14 = FUN_00074f0a()" identifier = (call_expression "FUN_00074f0a()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = (undefined4)((ulonglong)uVar14 >> 0x20);" (assignment_expression "uVar8 = (undefined4)((ulonglong)uVar14 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)uVar14 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)uVar14 >> 0x20)" ( (binary_expression "(ulonglong)uVar14 >> 0x20" (cast_expression "(ulonglong)uVar14" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (param_6 == 4) {\n    puVar10 = (undefined4 *)*param_4;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  else {\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }" if (parenthesized_expression "(param_6 == 4)" ( (binary_expression "param_6 == 4" identifier == number_literal) )) (compound_statement "{\n    puVar10 = (undefined4 *)*param_4;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }" { (expression_statement "puVar10 = (undefined4 *)*param_4;" (assignment_expression "puVar10 = (undefined4 *)*param_4" identifier = (cast_expression "(undefined4 *)*param_4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier))) ;) (expression_statement "uVar7 = *puVar10;" (assignment_expression "uVar7 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "local_68 = puVar10[1];" (assignment_expression "local_68 = puVar10[1]" identifier = (subscript_expression "puVar10[1]" identifier [ number_literal ])) ;) (expression_statement "local_64 = puVar10[2];" (assignment_expression "local_64 = puVar10[2]" identifier = (subscript_expression "puVar10[2]" identifier [ number_literal ])) ;) }) (else_clause "else {\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }" else (compound_statement "{\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }" { (expression_statement "puVar10 = (undefined4 *)*param_5;" (assignment_expression "puVar10 = (undefined4 *)*param_5" identifier = (cast_expression "(undefined4 *)*param_5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_5" * identifier))) ;) (expression_statement "uVar7 = *puVar10;" (assignment_expression "uVar7 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "local_68 = puVar10[1];" (assignment_expression "local_68 = puVar10[1]" identifier = (subscript_expression "puVar10[1]" identifier [ number_literal ])) ;) (expression_statement "local_64 = puVar10[2];" (assignment_expression "local_64 = puVar10[2]" identifier = (subscript_expression "puVar10[2]" identifier [ number_literal ])) ;) }))) (if_statement "if ((undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n    FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);\n  }" if (parenthesized_expression "((undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2)" ( (binary_expression "(undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2" (cast_expression "(undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8)" ( (binary_expression "(*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500))" ( (binary_expression "*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 500)" * (cast_expression "(int *)(param_1 + 500)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 500)" ( (binary_expression "param_1 + 500" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0))" ( (binary_expression "*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)" (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x1f0)" * (cast_expression "(int *)(param_1 + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) ))))) )) * number_literal)) ))) <= identifier) )) (compound_statement "{\n                    \n    FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);\n  }" { (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7)" identifier (argument_list "(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7)" ( (binary_expression "unaff_EDI + 0x2d8ce1" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e244b" identifier + number_literal) , identifier ))) ;) })) (expression_statement "uVar13 = (uint)param_2 >> 5;" (assignment_expression "uVar13 = (uint)param_2 >> 5" identifier = (binary_expression "(uint)param_2 >> 5" (cast_expression "(uint)param_2" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal)) ;) (expression_statement "uVar12 = 1 << ((byte)param_2 & 0x1f);" (assignment_expression "uVar12 = 1 << ((byte)param_2 & 0x1f)" identifier = (binary_expression "1 << ((byte)param_2 & 0x1f)" number_literal << (parenthesized_expression "((byte)param_2 & 0x1f)" ( (binary_expression "(byte)param_2 & 0x1f" (cast_expression "(byte)param_2" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (if_statement "if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n    iVar5 = *(int *)(param_1 + 0x204);\n    if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }\n    if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\n    iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);\n    if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }\n    if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }\n  }\n  else {\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }" if (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" ( (binary_expression "*(int *)(param_1 + 0x1f0) + uVar13 * 4" (pointer_expression "*(int *)(param_1 + 0x1f0)" * (cast_expression "(int *)(param_1 + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) )))) + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) & identifier) )) == number_literal) )) (compound_statement "{\n    iVar5 = *(int *)(param_1 + 0x204);\n    if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }\n    if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\n    iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);\n    if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }\n    if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }\n  }" { (expression_statement "iVar5 = *(int *)(param_1 + 0x204);" (assignment_expression "iVar5 = *(int *)(param_1 + 0x204)" identifier = (pointer_expression "*(int *)(param_1 + 0x204)" * (cast_expression "(int *)(param_1 + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x204)" ( (binary_expression "param_1 + 0x204" identifier + number_literal) ))))) ;) (if_statement "if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }" if (parenthesized_expression "((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2)" ( (binary_expression "(undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2" (cast_expression "(undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8)" ( (binary_expression "(*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208))" ( (binary_expression "*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)" (pointer_expression "*(int *)(param_1 + 0x210)" * (cast_expression "(int *)(param_1 + 0x210)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x210)" ( (binary_expression "param_1 + 0x210" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x208)" * (cast_expression "(int *)(param_1 + 0x208)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x208)" ( (binary_expression "param_1 + 0x208" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(param_1 + 0x20c) - iVar5) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x20c) - iVar5)" ( (binary_expression "*(int *)(param_1 + 0x20c) - iVar5" (pointer_expression "*(int *)(param_1 + 0x20c)" * (cast_expression "(int *)(param_1 + 0x20c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20c)" ( (binary_expression "param_1 + 0x20c" identifier + number_literal) )))) - identifier) )) * number_literal)) ))) <= identifier) )) (compound_statement "{\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }" { (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5)" identifier (argument_list "(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5)" ( (binary_expression "unaff_EDI + 0x2d8ce1" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e242f" identifier + number_literal) , identifier ))) ;) })) (if_statement "if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;" if (parenthesized_expression "((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0)" ( (binary_expression "(*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0" (parenthesized_expression "(*(uint *)(iVar5 + uVar13 * 4) & uVar12)" ( (binary_expression "*(uint *)(iVar5 + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(iVar5 + uVar13 * 4)" * (cast_expression "(uint *)(iVar5 + uVar13 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + uVar13 * 4)" ( (binary_expression "iVar5 + uVar13 * 4" identifier + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) & identifier) )) != number_literal) )) (goto_statement "goto LAB_0019859c;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);" (assignment_expression "iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)" identifier = (binary_expression "*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)" (pointer_expression "*(int *)(param_1 + 0x220)" * (cast_expression "(int *)(param_1 + 0x220)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x220)" ( (binary_expression "param_1 + 0x220" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x218)" * (cast_expression "(int *)(param_1 + 0x218)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x218)" ( (binary_expression "param_1 + 0x218" identifier + number_literal) )))))) ;) (if_statement "if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }" if (parenthesized_expression "((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2)" ( (binary_expression "(undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2" (cast_expression "(undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8)" ( (binary_expression "(*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8" (parenthesized_expression "(*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c))" ( (binary_expression "*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)" (pointer_expression "*(int *)(param_1 + 0x224)" * (cast_expression "(int *)(param_1 + 0x224)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x224)" ( (binary_expression "param_1 + 0x224" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x21c)" * (cast_expression "(int *)(param_1 + 0x21c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x21c)" ( (binary_expression "param_1 + 0x21c" identifier + number_literal) ))))) )) + (binary_expression "iVar5 * 8" identifier * number_literal)) ))) <= identifier) )) (compound_statement "{\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }" { (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5)" identifier (argument_list "(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5)" ( (binary_expression "unaff_EDI + 0x2d8ce1" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e240f" identifier + number_literal) , identifier ))) ;) })) (if_statement "if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;" if (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x218) + uVar13 * 4)" ( (binary_expression "*(int *)(param_1 + 0x218) + uVar13 * 4" (pointer_expression "*(int *)(param_1 + 0x218)" * (cast_expression "(int *)(param_1 + 0x218)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x218)" ( (binary_expression "param_1 + 0x218" identifier + number_literal) )))) + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) & identifier) )) != number_literal) )) (goto_statement "goto LAB_0019859c;" goto statement_identifier ;)) (labeled_statement "LAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }" statement_identifier : (if_statement "if (param_7 == 0) {\n      return;\n    }" if (parenthesized_expression "(param_7 == 0)" ( (binary_expression "param_7 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) }))) }) (else_clause "else {\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }" else (compound_statement "{\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }" { (labeled_statement "LAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);" statement_identifier : (expression_statement "iVar5 = *(int *)(param_1 + 0x170);" (assignment_expression "iVar5 = *(int *)(param_1 + 0x170)" identifier = (pointer_expression "*(int *)(param_1 + 0x170)" * (cast_expression "(int *)(param_1 + 0x170)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x170)" ( (binary_expression "param_1 + 0x170" identifier + number_literal) ))))) ;)) (expression_statement "iVar6 = param_1 + 0x16c;" (assignment_expression "iVar6 = param_1 + 0x16c" identifier = (binary_expression "param_1 + 0x16c" identifier + number_literal)) ;) (if_statement "if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x170) == 0)" ( (binary_expression "*(int *)(param_1 + 0x170) == 0" (pointer_expression "*(int *)(param_1 + 0x170)" * (cast_expression "(int *)(param_1 + 0x170)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x170)" ( (binary_expression "param_1 + 0x170" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }" { (labeled_statement "LAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);" statement_identifier : (expression_statement "piVar9 = (int *)FUN_003ac4d0(0x14);" (assignment_expression "piVar9 = (int *)FUN_003ac4d0(0x14)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;)) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar9 = param_1;" (assignment_expression "*piVar9 = param_1" (pointer_expression "*piVar9" * identifier) = identifier) ;) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[1] = (int)param_2;" (assignment_expression "piVar9[1] = (int)param_2" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar9 + 4) = 0;" (assignment_expression "*(undefined1 *)(piVar9 + 4) = 0" (pointer_expression "*(undefined1 *)(piVar9 + 4)" * (cast_expression "(undefined1 *)(piVar9 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 4)" ( (binary_expression "piVar9 + 4" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }" if (parenthesized_expression "((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2)" ( (binary_expression "(undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2" (cast_expression "(undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8)" ( (binary_expression "(*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500))" ( (binary_expression "*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)" (pointer_expression "*(int *)(param_1 + 0x1fc)" * (cast_expression "(int *)(param_1 + 0x1fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1fc)" ( (binary_expression "param_1 + 0x1fc" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 500)" * (cast_expression "(int *)(param_1 + 500)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 500)" ( (binary_expression "param_1 + 500" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0))" ( (binary_expression "*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)" (pointer_expression "*(int *)(param_1 + 0x1f8)" * (cast_expression "(int *)(param_1 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f8)" ( (binary_expression "param_1 + 0x1f8" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x1f0)" * (cast_expression "(int *)(param_1 + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) ))))) )) * number_literal)) ))) <= identifier) )) (compound_statement "{\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }" { (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12)" identifier (argument_list "(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12)" ( (binary_expression "unaff_EDI + 0x2d8ce1" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e244b" identifier + number_literal) , identifier ))) ;) })) (if_statement "if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }" if (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" ( (binary_expression "*(int *)(param_1 + 0x1f0) + uVar13 * 4" (pointer_expression "*(int *)(param_1 + 0x1f0)" * (cast_expression "(int *)(param_1 + 0x1f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) )))) + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) & identifier) )) == number_literal) )) (compound_statement "{\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }" { (expression_statement "puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);" (assignment_expression "puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8)" identifier = (cast_expression "(undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8)" ( (binary_expression "(*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208))" ( (binary_expression "*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)" (pointer_expression "*(int *)(param_1 + 0x210)" * (cast_expression "(int *)(param_1 + 0x210)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x210)" ( (binary_expression "param_1 + 0x210" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x208)" * (cast_expression "(int *)(param_1 + 0x208)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x208)" ( (binary_expression "param_1 + 0x208" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204))" ( (binary_expression "*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)" (pointer_expression "*(int *)(param_1 + 0x20c)" * (cast_expression "(int *)(param_1 + 0x20c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20c)" ( (binary_expression "param_1 + 0x20c" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x204)" * (cast_expression "(int *)(param_1 + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x204)" ( (binary_expression "param_1 + 0x204" identifier + number_literal) ))))) )) * number_literal)) )))) ;) (if_statement "if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }" if (parenthesized_expression "(puVar10 <= param_2)" ( (binary_expression "puVar10 <= param_2" identifier <= identifier) )) (compound_statement "{\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }" { (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10)" identifier (argument_list "(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10)" ( (binary_expression "unaff_EDI + 0x2d8ce1" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e242f" identifier + number_literal) , identifier ))) ;) })) (if_statement "if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }" if (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x204) + uVar13 * 4)" ( (binary_expression "*(int *)(param_1 + 0x204) + uVar13 * 4" (pointer_expression "*(int *)(param_1 + 0x204)" * (cast_expression "(int *)(param_1 + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x204)" ( (binary_expression "param_1 + 0x204" identifier + number_literal) )))) + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) & identifier) )) == number_literal) )) (compound_statement "{\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }" { (expression_statement "puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);" (assignment_expression "puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8)" identifier = (cast_expression "(undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8)" ( (binary_expression "(*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c))" ( (binary_expression "*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)" (pointer_expression "*(int *)(param_1 + 0x224)" * (cast_expression "(int *)(param_1 + 0x224)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x224)" ( (binary_expression "param_1 + 0x224" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x21c)" * (cast_expression "(int *)(param_1 + 0x21c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x21c)" ( (binary_expression "param_1 + 0x21c" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218))" ( (binary_expression "*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)" (pointer_expression "*(int *)(param_1 + 0x220)" * (cast_expression "(int *)(param_1 + 0x220)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x220)" ( (binary_expression "param_1 + 0x220" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x218)" * (cast_expression "(int *)(param_1 + 0x218)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x218)" ( (binary_expression "param_1 + 0x218" identifier + number_literal) ))))) )) * number_literal)) )))) ;) (if_statement "if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }" if (parenthesized_expression "(puVar10 <= param_2)" ( (binary_expression "puVar10 <= param_2" identifier <= identifier) )) (compound_statement "{\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }" { (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10)" identifier (argument_list "(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10)" ( (binary_expression "unaff_EDI + 0x2d8ce1" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e240f" identifier + number_literal) , identifier ))) ;) })) (if_statement "if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }" if (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0)" ( (binary_expression "(*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12)" ( (binary_expression "*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4)" * (cast_expression "(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x218) + uVar13 * 4)" ( (binary_expression "*(int *)(param_1 + 0x218) + uVar13 * 4" (pointer_expression "*(int *)(param_1 + 0x218)" * (cast_expression "(int *)(param_1 + 0x218)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x218)" ( (binary_expression "param_1 + 0x218" identifier + number_literal) )))) + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) & identifier) )) == number_literal) )) (compound_statement "{\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }" { (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10)" identifier (argument_list "(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10)" ( (binary_expression "unaff_EDI + 0x2d8ce1" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e2223" identifier + number_literal) , identifier ))) ;) })) })) })) (expression_statement "local_38 = param_2;" (assignment_expression "local_38 = param_2" identifier = identifier) ;) (expression_statement "local_34 = piVar9;" (assignment_expression "local_34 = piVar9" identifier = identifier) ;) (expression_statement "FUN_001721f0();" (call_expression "FUN_001721f0()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }" else (compound_statement "{\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }" { (do_statement "do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);" do (compound_statement "{\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      }" { (while_statement "while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }" while (parenthesized_expression "(iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2)" ( (comma_expression "iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2" (assignment_expression "iVar11 = iVar5" identifier = identifier) , (binary_expression "*(undefined4 **)(iVar11 + 0x10) < param_2" (pointer_expression "*(undefined4 **)(iVar11 + 0x10)" * (cast_expression "(undefined4 **)(iVar11 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) )))) < identifier)) )) (compound_statement "{\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }" { (expression_statement "piVar9 = (int *)(iVar11 + 0xc);" (assignment_expression "piVar9 = (int *)(iVar11 + 0xc)" identifier = (cast_expression "(int *)(iVar11 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) ;) (expression_statement "iVar5 = *piVar9;" (assignment_expression "iVar5 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "iVar11 = iVar6;" (assignment_expression "iVar11 = iVar6" identifier = identifier) ;) (if_statement "if (*piVar9 == 0) goto LAB_001985d5;" if (parenthesized_expression "(*piVar9 == 0)" ( (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" * identifier) == number_literal) )) (goto_statement "goto LAB_001985d5;" goto statement_identifier ;)) })) (expression_statement "iVar5 = *(int *)(iVar11 + 8);" (assignment_expression "iVar5 = *(int *)(iVar11 + 8)" identifier = (pointer_expression "*(int *)(iVar11 + 8)" * (cast_expression "(int *)(iVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = iVar11;" (assignment_expression "iVar6 = iVar11" identifier = identifier) ;) }) while (parenthesized_expression "(*(int *)(iVar11 + 8) != 0)" ( (binary_expression "*(int *)(iVar11 + 8) != 0" (pointer_expression "*(int *)(iVar11 + 8)" * (cast_expression "(int *)(iVar11 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 8)" ( (binary_expression "iVar11 + 8" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;" statement_identifier : (if_statement "if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;" if (parenthesized_expression "((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))" ( (binary_expression "(iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10))" (parenthesized_expression "(iVar11 == param_1 + 0x16c)" ( (binary_expression "iVar11 == param_1 + 0x16c" identifier == (binary_expression "param_1 + 0x16c" identifier + number_literal)) )) || (parenthesized_expression "(param_2 < *(undefined4 **)(iVar11 + 0x10))" ( (binary_expression "param_2 < *(undefined4 **)(iVar11 + 0x10)" identifier < (pointer_expression "*(undefined4 **)(iVar11 + 0x10)" * (cast_expression "(undefined4 **)(iVar11 + 0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) ))))) ))) )) (goto_statement "goto LAB_00198b60;" goto statement_identifier ;))) (expression_statement "piVar9 = *(int **)(iVar11 + 0x14);" (assignment_expression "piVar9 = *(int **)(iVar11 + 0x14)" identifier = (pointer_expression "*(int **)(iVar11 + 0x14)" * (cast_expression "(int **)(iVar11 + 0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar11 + 0x14)" ( (binary_expression "iVar11 + 0x14" identifier + number_literal) ))))) ;) }))) (if_statement "if ((char)piVar9[4] != '\0') goto LAB_001986ca;" if (parenthesized_expression "((char)piVar9[4] != '\0')" ( (binary_expression "(char)piVar9[4] != '\0'" (cast_expression "(char)piVar9[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar9[4]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001986ca;" goto statement_identifier ;)) (if_statement "if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }" if (parenthesized_expression "(param_7 == 0)" ( (binary_expression "param_7 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }" { (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar9 + 4) = 1;" (assignment_expression "*(undefined1 *)(piVar9 + 4) = 1" (pointer_expression "*(undefined1 *)(piVar9 + 4)" * (cast_expression "(undefined1 *)(piVar9 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 4)" ( (binary_expression "piVar9 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar9[3] = (int)param_8;" (assignment_expression "piVar9[3] = (int)param_8" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (return_statement "return;" return ;) })) (if_statement "if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }" if (parenthesized_expression "((piVar9[2] == 0) && (piVar9[3] == 0))" ( (binary_expression "(piVar9[2] == 0) && (piVar9[3] == 0)" (parenthesized_expression "(piVar9[2] == 0)" ( (binary_expression "piVar9[2] == 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(piVar9[3] == 0)" ( (binary_expression "piVar9[3] == 0" (subscript_expression "piVar9[3]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n      piVar9[3] = (int)param_8;\n    }" { (expression_statement "piVar9[3] = (int)param_8;" (assignment_expression "piVar9[3] = (int)param_8" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) }))) (if_statement "if ((((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c))) {\n    *(undefined1 *)(param_8 + 0x10) = 1;\n  }" if (parenthesized_expression "((((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c)))" ( (binary_expression "(((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c))" (parenthesized_expression "(((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0'))" ( (binary_expression "((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')" (parenthesized_expression "((param_7 != 0x67) && (param_7 != 100))" ( (binary_expression "(param_7 != 0x67) && (param_7 != 100)" (parenthesized_expression "(param_7 != 0x67)" ( (binary_expression "param_7 != 0x67" identifier != number_literal) )) && (parenthesized_expression "(param_7 != 100)" ( (binary_expression "param_7 != 100" identifier != number_literal) ))) )) && (parenthesized_expression "(cVar3 = FUN_0017b7a0(), cVar3 == '\0')" ( (comma_expression "cVar3 = FUN_0017b7a0(), cVar3 == '\0'" (assignment_expression "cVar3 = FUN_0017b7a0()" identifier = (call_expression "FUN_0017b7a0()" identifier (argument_list "()" ( )))) , (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) && (parenthesized_expression "(param_2 != *(undefined4 **)(param_1 + 0x22c))" ( (binary_expression "param_2 != *(undefined4 **)(param_1 + 0x22c)" identifier != (pointer_expression "*(undefined4 **)(param_1 + 0x22c)" * (cast_expression "(undefined4 **)(param_1 + 0x22c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x22c)" ( (binary_expression "param_1 + 0x22c" identifier + number_literal) ))))) ))) )) (compound_statement "{\n    *(undefined1 *)(param_8 + 0x10) = 1;\n  }" { (expression_statement "*(undefined1 *)(param_8 + 0x10) = 1;" (assignment_expression "*(undefined1 *)(param_8 + 0x10) = 1" (pointer_expression "*(undefined1 *)(param_8 + 0x10)" * (cast_expression "(undefined1 *)(param_8 + 0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0x10)" ( (binary_expression "param_8 + 0x10" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if (param_7 < 0xfa) {\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();\n    return;\n  }" if (parenthesized_expression "(param_7 < 0xfa)" ( (binary_expression "param_7 < 0xfa" identifier < number_literal) )) (compound_statement "{\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();\n    return;\n  }" { (expression_statement "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();" (call_expression "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))()" (parenthesized_expression "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))" ( (pointer_expression "*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI)" * (cast_expression "(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI)" ( (binary_expression "&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI" (binary_expression "&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4)" (pointer_expression "&UNK_00451af7" & identifier) + (pointer_expression "*(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4)" * (cast_expression "(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x2dbf73 + param_7 * 4)" ( (binary_expression "unaff_EDI + 0x2dbf73 + param_7 * 4" (binary_expression "unaff_EDI + 0x2dbf73" identifier + number_literal) + (binary_expression "param_7 * 4" identifier * number_literal)) ))))) + identifier) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "*(undefined1 *)(param_8 + 0x14) = 1;" (assignment_expression "*(undefined1 *)(param_8 + 0x14) = 1" (pointer_expression "*(undefined1 *)(param_8 + 0x14)" * (cast_expression "(undefined1 *)(param_8 + 0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0x14)" ( (binary_expression "param_8 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(param_8 + 0x12) = 1;" (assignment_expression "*(undefined1 *)(param_8 + 0x12) = 1" (pointer_expression "*(undefined1 *)(param_8 + 0x12)" * (cast_expression "(undefined1 *)(param_8 + 0x12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0x12)" ( (binary_expression "param_8 + 0x12" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (param_7 == 0x67) goto LAB_0019878c;" if (parenthesized_expression "(param_7 == 0x67)" ( (binary_expression "param_7 == 0x67" identifier == number_literal) )) (goto_statement "goto LAB_0019878c;" goto statement_identifier ;)) (if_statement "if (param_7 < 0x68) {\n    if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;\n    if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }\n  }\n  else {\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }" if (parenthesized_expression "(param_7 < 0x68)" ( (binary_expression "param_7 < 0x68" identifier < number_literal) )) (compound_statement "{\n    if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;\n    if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }\n  }" { (if_statement "if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;" if (parenthesized_expression "(param_7 < 0x20)" ( (binary_expression "param_7 < 0x20" identifier < number_literal) )) (compound_statement "{\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }" { (if_statement "if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;" if (parenthesized_expression "((0x1d < param_7) || (param_7 == 0xb))" ( (binary_expression "(0x1d < param_7) || (param_7 == 0xb)" (parenthesized_expression "(0x1d < param_7)" ( (binary_expression "0x1d < param_7" number_literal < identifier) )) || (parenthesized_expression "(param_7 == 0xb)" ( (binary_expression "param_7 == 0xb" identifier == number_literal) ))) )) (goto_statement "goto LAB_0019878c;" goto statement_identifier ;)) }) (else_clause "else if (param_7 == 0x25) goto LAB_0019878c;" else (if_statement "if (param_7 == 0x25) goto LAB_0019878c;" if (parenthesized_expression "(param_7 == 0x25)" ( (binary_expression "param_7 == 0x25" identifier == number_literal) )) (goto_statement "goto LAB_0019878c;" goto statement_identifier ;)))) (labeled_statement "LAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;" statement_identifier : (expression_statement "*(undefined1 *)((int)param_8 + 0x49) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x49) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x49)" * (cast_expression "(undefined1 *)((int)param_8 + 0x49)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x49)" ( (binary_expression "(int)param_8 + 0x49" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (if_statement "if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }" if (parenthesized_expression "((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0'))" ( (binary_expression "(*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')" (parenthesized_expression "(*(int *)(extraout_ECX + 0x60) != 0)" ( (binary_expression "*(int *)(extraout_ECX + 0x60) != 0" (pointer_expression "*(int *)(extraout_ECX + 0x60)" * (cast_expression "(int *)(extraout_ECX + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ECX + 0x60)" ( (binary_expression "extraout_ECX + 0x60" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')" ( (comma_expression "local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0'" (assignment_expression "local_38 = param_8" identifier = identifier) , (binary_expression "*(char *)((int)param_8 + 0x5d) != '\0'" (pointer_expression "*(char *)((int)param_8 + 0x5d)" * (cast_expression "(char *)((int)param_8 + 0x5d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x5d)" ( (binary_expression "(int)param_8 + 0x5d" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }" { (expression_statement "FUN_00179860();" (call_expression "FUN_00179860()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)((int)local_38 + 0x5d) = 0;" (assignment_expression "*(undefined1 *)((int)local_38 + 0x5d) = 0" (pointer_expression "*(undefined1 *)((int)local_38 + 0x5d)" * (cast_expression "(undefined1 *)((int)local_38 + 0x5d)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_38 + 0x5d)" ( (binary_expression "(int)local_38 + 0x5d" (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) }) (else_clause "else {\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }" else (compound_statement "{\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }" { (if_statement "if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }" if (parenthesized_expression "(param_7 < 0x9b)" ( (binary_expression "param_7 < 0x9b" identifier < number_literal) )) (compound_statement "{\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }" { (if_statement "if (0x98 < param_7) goto LAB_0019878c;" if (parenthesized_expression "(0x98 < param_7)" ( (binary_expression "0x98 < param_7" number_literal < identifier) )) (goto_statement "goto LAB_0019878c;" goto statement_identifier ;)) (if_statement "if (param_7 != 0x8e) goto LAB_001988ea;" if (parenthesized_expression "(param_7 != 0x8e)" ( (binary_expression "param_7 != 0x8e" identifier != number_literal) )) (goto_statement "goto LAB_001988ea;" goto statement_identifier ;)) (expression_statement "cVar3 = *(char *)((int)param_8 + 0x49);" (assignment_expression "cVar3 = *(char *)((int)param_8 + 0x49)" identifier = (pointer_expression "*(char *)((int)param_8 + 0x49)" * (cast_expression "(char *)((int)param_8 + 0x49)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x49)" ( (binary_expression "(int)param_8 + 0x49" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }) (else_clause "else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }" else (compound_statement "{\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }" { (if_statement "if (param_7 != 0x9c) goto LAB_001988ea;" if (parenthesized_expression "(param_7 != 0x9c)" ( (binary_expression "param_7 != 0x9c" identifier != number_literal) )) (goto_statement "goto LAB_001988ea;" goto statement_identifier ;)) (labeled_statement "LAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);" statement_identifier : (expression_statement "cVar3 = *(char *)((int)param_8 + 0x49);" (assignment_expression "cVar3 = *(char *)((int)param_8 + 0x49)" identifier = (pointer_expression "*(char *)((int)param_8 + 0x49)" * (cast_expression "(char *)((int)param_8 + 0x49)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x49)" ( (binary_expression "(int)param_8 + 0x49" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) }))) (if_statement "if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }" { (expression_statement "cVar3 = FUN_0008ff10(param_8);" (assignment_expression "cVar3 = FUN_0008ff10(param_8)" identifier = (call_expression "FUN_0008ff10(param_8)" identifier (argument_list "(param_8)" ( identifier )))) ;) (expression_statement "bVar1 = *(byte *)((int)param_8 + 0x2a);" (assignment_expression "bVar1 = *(byte *)((int)param_8 + 0x2a)" identifier = (pointer_expression "*(byte *)((int)param_8 + 0x2a)" * (cast_expression "(byte *)((int)param_8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x2a)" ( (binary_expression "(int)param_8 + 0x2a" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }" { (if_statement "if ((bVar1 & 7) != 0) goto LAB_00198ff9;" if (parenthesized_expression "((bVar1 & 7) != 0)" ( (binary_expression "(bVar1 & 7) != 0" (parenthesized_expression "(bVar1 & 7)" ( (binary_expression "bVar1 & 7" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00198ff9;" goto statement_identifier ;)) (labeled_statement "LAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;" statement_identifier : (if_statement "if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;" if (parenthesized_expression "((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0))" ( (binary_expression "(param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)" (parenthesized_expression "(param_8[3] != 0)" ( (binary_expression "param_8[3] != 0" (subscript_expression "param_8[3]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)param_8 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)param_8 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)param_8 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)param_8 + 0x2b)" * (cast_expression "(byte *)((int)param_8 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x2b)" ( (binary_expression "(int)param_8 + 0x2b" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_001987a0;" goto statement_identifier ;))) (labeled_statement "LAB_00199001:\n        uVar4 = extraout_ECX_00;" statement_identifier : (expression_statement "uVar4 = extraout_ECX_00;" (assignment_expression "uVar4 = extraout_ECX_00" identifier = identifier) ;)) (if_statement "if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;" if (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0019972d;" goto statement_identifier ;)) (if_statement "if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;" if (parenthesized_expression "(*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" * (cast_expression "(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_001987a0;" goto statement_identifier ;)) }) (else_clause "else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }" else (compound_statement "{\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }" { (if_statement "if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }" if (parenthesized_expression "((bVar1 & 7) != 0)" ( (binary_expression "(bVar1 & 7) != 0" (parenthesized_expression "(bVar1 & 7)" ( (binary_expression "bVar1 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }" { (labeled_statement "LAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;" statement_identifier : (if_statement "if ((bVar1 & 7) != 4) goto LAB_001987a0;" if (parenthesized_expression "((bVar1 & 7) != 4)" ( (binary_expression "(bVar1 & 7) != 4" (parenthesized_expression "(bVar1 & 7)" ( (binary_expression "bVar1 & 7" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001987a0;" goto statement_identifier ;))) (goto_statement "goto LAB_00199001;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;" if (parenthesized_expression "((*(byte *)(param_8[2] + 0x2c) & 1) == 0)" ( (binary_expression "(*(byte *)(param_8[2] + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_8[2] + 0x2c) & 1)" ( (binary_expression "*(byte *)(param_8[2] + 0x2c) & 1" (pointer_expression "*(byte *)(param_8[2] + 0x2c)" * (cast_expression "(byte *)(param_8[2] + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8[2] + 0x2c)" ( (binary_expression "param_8[2] + 0x2c" (subscript_expression "param_8[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00199108;" goto statement_identifier ;)) }))) (if_statement "if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }" if (parenthesized_expression "(*(int *)(extraout_ECX + 0x60) == 0)" ( (binary_expression "*(int *)(extraout_ECX + 0x60) == 0" (pointer_expression "*(int *)(extraout_ECX + 0x60)" * (cast_expression "(int *)(extraout_ECX + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ECX + 0x60)" ( (binary_expression "extraout_ECX + 0x60" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }" { (expression_statement "piVar9 = (int *)FUN_003ac4d0(0x54);" (assignment_expression "piVar9 = (int *)FUN_003ac4d0(0x54)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x54)" identifier (argument_list "(0x54)" ( number_literal ))))) ;) (expression_statement "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" * (cast_expression "(byte *)(piVar9 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 7)" ( (binary_expression "piVar9 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" * (cast_expression "(byte *)(piVar9 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 7)" ( (binary_expression "piVar9 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[5] = -1;" (assignment_expression "piVar9[5] = -1" (subscript_expression "piVar9[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[6] = -1;" (assignment_expression "piVar9[6] = -1" (subscript_expression "piVar9[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[8] = 0;" (assignment_expression "piVar9[8] = 0" (subscript_expression "piVar9[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[9] = 8;" (assignment_expression "piVar9[9] = 8" (subscript_expression "piVar9[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[10] = 0;" (assignment_expression "piVar9[10] = 0" (subscript_expression "piVar9[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);" (assignment_expression "*piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13)" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13)" ( (binary_expression ""N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13" (binary_expression ""N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI" (string_literal ""N4gold15General_options18Struct_fix_arm1176E"" " string_content ") + identifier) + number_literal) )))) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);" do (compound_statement "{\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        }" { (expression_statement "*(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;" (assignment_expression "*(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0" (pointer_expression "*(undefined4 *)((int)piVar9 + uVar12 + 0x2c)" * (cast_expression "(undefined4 *)((int)piVar9 + uVar12 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar9 + uVar12 + 0x2c)" ( (binary_expression "(int)piVar9 + uVar12 + 0x2c" (binary_expression "(int)piVar9 + uVar12" (cast_expression "(int)piVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar12 = uVar12 + 4;" (assignment_expression "uVar12 = uVar12 + 4" identifier = (binary_expression "uVar12 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar12 < 0x1c)" ( (binary_expression "uVar12 < 0x1c" identifier < number_literal) )) ;) (expression_statement "piVar9[0xb] = (int)(piVar9 + 0x11);" (assignment_expression "piVar9[0xb] = (int)(piVar9 + 0x11)" (subscript_expression "piVar9[0xb]" identifier [ number_literal ]) = (cast_expression "(int)(piVar9 + 0x11)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar9 + 0x11)" ( (binary_expression "piVar9 + 0x11" identifier + number_literal) )))) ;) (expression_statement "piVar9[0x14] = extraout_ECX;" (assignment_expression "piVar9[0x14] = extraout_ECX" (subscript_expression "piVar9[0x14]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int **)(extraout_ECX + 0x60) = piVar9;" (assignment_expression "*(int **)(extraout_ECX + 0x60) = piVar9" (pointer_expression "*(int **)(extraout_ECX + 0x60)" * (cast_expression "(int **)(extraout_ECX + 0x60)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(extraout_ECX + 0x60)" ( (binary_expression "extraout_ECX + 0x60" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar9[0xc] = 1;" (assignment_expression "piVar9[0xc] = 1" (subscript_expression "piVar9[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0xd] = 0;" (assignment_expression "piVar9[0xd] = 0" (subscript_expression "piVar9[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0xe] = 0;" (assignment_expression "piVar9[0xe] = 0" (subscript_expression "piVar9[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0xf] = 0x3f800000;" (assignment_expression "piVar9[0xf] = 0x3f800000" (subscript_expression "piVar9[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0x10] = 0;" (assignment_expression "piVar9[0x10] = 0" (subscript_expression "piVar9[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0x11] = 0;" (assignment_expression "piVar9[0x11] = 0" (subscript_expression "piVar9[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0x12] = -1;" (assignment_expression "piVar9[0x12] = -1" (subscript_expression "piVar9[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(piVar9 + 0x13) = 0;" (assignment_expression "*(undefined1 *)(piVar9 + 0x13) = 0" (pointer_expression "*(undefined1 *)(piVar9 + 0x13)" * (cast_expression "(undefined1 *)(piVar9 + 0x13)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 0x13)" ( (binary_expression "piVar9 + 0x13" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);" (call_expression "FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0)" identifier (argument_list "(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0)" ( identifier , (binary_expression "unaff_EDI + 0x2d8d0c" identifier + number_literal) , number_literal , number_literal , number_literal , identifier , number_literal , number_literal ))) ;) })) (expression_statement "local_38 = param_8;" (assignment_expression "local_38 = param_8" identifier = identifier) ;) (if_statement "if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }" if (parenthesized_expression "((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1))" ( (binary_expression "(*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)" (parenthesized_expression "(*(char *)((int)param_8 + 0x5d) == '\0')" ( (binary_expression "*(char *)((int)param_8 + 0x5d) == '\0'" (pointer_expression "*(char *)((int)param_8 + 0x5d)" * (cast_expression "(char *)((int)param_8 + 0x5d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x5d)" ( (binary_expression "(int)param_8 + 0x5d" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(param_8[6] == -1)" ( (binary_expression "param_8[6] == -1" (subscript_expression "param_8[6]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }" { (expression_statement "FUN_00179a80();" (call_expression "FUN_00179a80()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)((int)local_38 + 0x5d) = 1;" (assignment_expression "*(undefined1 *)((int)local_38 + 0x5d) = 1" (pointer_expression "*(undefined1 *)((int)local_38 + 0x5d)" * (cast_expression "(undefined1 *)((int)local_38 + 0x5d)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_38 + 0x5d)" ( (binary_expression "(int)local_38 + 0x5d" (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) })) }))) (labeled_statement "LAB_001987a0:\n  if ((*(byte *)(param_1 + 0x1e8) & 1) == 0) {\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }" statement_identifier : (if_statement "if ((*(byte *)(param_1 + 0x1e8) & 1) == 0) {\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }" if (parenthesized_expression "((*(byte *)(param_1 + 0x1e8) & 1) == 0)" ( (binary_expression "(*(byte *)(param_1 + 0x1e8) & 1) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x1e8) & 1)" ( (binary_expression "*(byte *)(param_1 + 0x1e8) & 1" (pointer_expression "*(byte *)(param_1 + 0x1e8)" * (cast_expression "(byte *)(param_1 + 0x1e8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1e8)" ( (binary_expression "param_1 + 0x1e8" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }" { (if_statement "if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" if (parenthesized_expression "(param_7 == 100)" ( (binary_expression "param_7 == 100" identifier == number_literal) )) (compound_statement "{\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }" { (if_statement "if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;" if (parenthesized_expression "((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c)" ( (binary_expression "(*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c" (parenthesized_expression "(*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c)" ( (binary_expression "*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c" (binary_expression "*(byte *)((int)param_8 + 0x29) >> 2" (pointer_expression "*(byte *)((int)param_8 + 0x29)" * (cast_expression "(byte *)((int)param_8 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x29)" ( (binary_expression "(int)param_8 + 0x29" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00198a07;" goto statement_identifier ;)) }) (else_clause "else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" else (if_statement "if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" if (parenthesized_expression "(param_7 < 0x65)" ( (binary_expression "param_7 < 0x65" identifier < number_literal) )) (compound_statement "{\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }" { (if_statement "if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;" if (parenthesized_expression "(param_7 == 10)" ( (binary_expression "param_7 == 10" identifier == number_literal) )) (compound_statement "{\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }" { (labeled_statement "LAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;" statement_identifier : (expression_statement "*(undefined1 *)((int)param_8 + 0x41) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x41) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x41)" * (cast_expression "(undefined1 *)((int)param_8 + 0x41)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x41)" ( (binary_expression "(int)param_8 + 0x41" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) }) (else_clause "else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;" else (if_statement "if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;" if (parenthesized_expression "(param_7 < 0xb)" ( (binary_expression "param_7 < 0xb" identifier < number_literal) )) (compound_statement "{\n        if (param_7 == 4) goto LAB_00198a07;\n      }" { (if_statement "if (param_7 == 4) goto LAB_00198a07;" if (parenthesized_expression "(param_7 == 4)" ( (binary_expression "param_7 == 4" identifier == number_literal) )) (goto_statement "goto LAB_00198a07;" goto statement_identifier ;)) }) (else_clause "else if (param_7 - 0x3c < 2) goto LAB_00198a07;" else (if_statement "if (param_7 - 0x3c < 2) goto LAB_00198a07;" if (parenthesized_expression "(param_7 - 0x3c < 2)" ( (binary_expression "param_7 - 0x3c < 2" (binary_expression "param_7 - 0x3c" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_00198a07;" goto statement_identifier ;)))))) }) (else_clause "else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" else (if_statement "if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" if (parenthesized_expression "(param_7 < 0x8e)" ( (binary_expression "param_7 < 0x8e" identifier < number_literal) )) (compound_statement "{\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }" { (if_statement "if (0x8a < param_7) goto LAB_00198a07;" if (parenthesized_expression "(0x8a < param_7)" ( (binary_expression "0x8a < param_7" number_literal < identifier) )) (goto_statement "goto LAB_00198a07;" goto statement_identifier ;)) (if_statement "if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }" if (parenthesized_expression "(param_7 == 0x85)" ( (binary_expression "param_7 == 0x85" identifier == number_literal) )) (compound_statement "{\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }" { (expression_statement "*(undefined1 *)((int)param_8 + 0x41) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x41) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x41)" * (cast_expression "(undefined1 *)((int)param_8 + 0x41)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x41)" ( (binary_expression "(int)param_8 + 0x41" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) }) (else_clause "else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" else (if_statement "if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" if (parenthesized_expression "(param_7 == 0xad)" ( (binary_expression "param_7 == 0xad" identifier == number_literal) )) (compound_statement "{\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" { (expression_statement "*(undefined1 *)((int)param_8 + 0x41) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x41) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x41)" * (cast_expression "(undefined1 *)((int)param_8 + 0x41)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x41)" ( (binary_expression "(int)param_8 + 0x41" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })))))))) }))) (expression_statement "cVar3 = FUN_0008ff10(param_8);" (assignment_expression "cVar3 = FUN_0008ff10(param_8)" identifier = (call_expression "FUN_0008ff10(param_8)" identifier (argument_list "(param_8)" ( identifier )))) ;) (if_statement "if (cVar3 != '\0') {\n    uVar4 = extraout_ECX_01;\n    if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }\n    if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }\n  }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar4 = extraout_ECX_01;\n    if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }\n    if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }\n  }" { (expression_statement "uVar4 = extraout_ECX_01;" (assignment_expression "uVar4 = extraout_ECX_01" identifier = identifier) ;) (if_statement "if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }" if (parenthesized_expression "((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1))" ( (binary_expression "(*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)" (parenthesized_expression "(*(char *)((int)param_8 + 0x5d) == '\0')" ( (binary_expression "*(char *)((int)param_8 + 0x5d) == '\0'" (pointer_expression "*(char *)((int)param_8 + 0x5d)" * (cast_expression "(char *)((int)param_8 + 0x5d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x5d)" ( (binary_expression "(int)param_8 + 0x5d" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(param_8[6] == -1)" ( (binary_expression "param_8[6] == -1" (subscript_expression "param_8[6]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }" { (expression_statement "iVar5 = *(int *)(extraout_ECX + 0x1c);" (assignment_expression "iVar5 = *(int *)(extraout_ECX + 0x1c)" identifier = (pointer_expression "*(int *)(extraout_ECX + 0x1c)" * (cast_expression "(int *)(extraout_ECX + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ECX + 0x1c)" ( (binary_expression "extraout_ECX + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }" { (expression_statement "FUN_0017bb90();" (call_expression "FUN_0017bb90()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar9 = (int *)FUN_003ac4d0(0x30);" (assignment_expression "piVar9 = (int *)FUN_003ac4d0(0x30)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x30)" identifier (argument_list "(0x30)" ( number_literal ))))) ;) (expression_statement "*piVar9 = unaff_EDI + 0x4439c7;" (assignment_expression "*piVar9 = unaff_EDI + 0x4439c7" (pointer_expression "*piVar9" * identifier) = (binary_expression "unaff_EDI + 0x4439c7" identifier + number_literal)) ;) (expression_statement "*(int **)(extraout_ECX + 0x20) = piVar9;" (assignment_expression "*(int **)(extraout_ECX + 0x20) = piVar9" (pointer_expression "*(int **)(extraout_ECX + 0x20)" * (cast_expression "(int **)(extraout_ECX + 0x20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(extraout_ECX + 0x20)" ( (binary_expression "extraout_ECX + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[5] = -1;" (assignment_expression "piVar9[5] = -1" (subscript_expression "piVar9[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[6] = -1;" (assignment_expression "piVar9[6] = -1" (subscript_expression "piVar9[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" * (cast_expression "(byte *)(piVar9 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 7)" ( (binary_expression "piVar9 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" * (cast_expression "(byte *)(piVar9 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 7)" ( (binary_expression "piVar9 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "piVar9[8] = 0;" (assignment_expression "piVar9[8] = 0" (subscript_expression "piVar9[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[9] = 4;" (assignment_expression "piVar9[9] = 4" (subscript_expression "piVar9[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[10] = 0;" (assignment_expression "piVar9[10] = 0" (subscript_expression "piVar9[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0xb] = unaff_EDI + 0x2b4e97;" (assignment_expression "piVar9[0xb] = unaff_EDI + 0x2b4e97" (subscript_expression "piVar9[0xb]" identifier [ number_literal ]) = (binary_expression "unaff_EDI + 0x2b4e97" identifier + number_literal)) ;) (expression_statement "FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);" (call_expression "FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0)" identifier (argument_list "(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0)" ( identifier , (binary_expression "unaff_EDI + 0x2b4f02" identifier + number_literal) , number_literal , number_literal , number_literal , identifier , number_literal , number_literal ))) ;) (expression_statement "iVar6 = *(int *)(extraout_ECX + 0x20);" (assignment_expression "iVar6 = *(int *)(extraout_ECX + 0x20)" identifier = (pointer_expression "*(int *)(extraout_ECX + 0x20)" * (cast_expression "(int *)(extraout_ECX + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ECX + 0x20)" ( (binary_expression "extraout_ECX + 0x20" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;" if (parenthesized_expression "((*(byte *)(iVar6 + 0x1c) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar6 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar6 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar6 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar6 + 0x1c)" * (cast_expression "(byte *)(iVar6 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001997f3;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(iVar6 + 0xc) = 0x10;" (assignment_expression "*(undefined4 *)(iVar6 + 0xc) = 0x10" (pointer_expression "*(undefined4 *)(iVar6 + 0xc)" * (cast_expression "(undefined4 *)(iVar6 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar6 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0x10)" * (cast_expression "(undefined4 *)(iVar6 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10)" ( (binary_expression "iVar6 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar9 = (int *)FUN_003ac4d0(0x50);" (assignment_expression "piVar9 = (int *)FUN_003ac4d0(0x50)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x50)" identifier (argument_list "(0x50)" ( number_literal ))))) ;) (expression_statement "iVar5 = *(int *)(extraout_ECX + 0x20);" (assignment_expression "iVar5 = *(int *)(extraout_ECX + 0x20)" identifier = (pointer_expression "*(int *)(extraout_ECX + 0x20)" * (cast_expression "(int *)(extraout_ECX + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ECX + 0x20)" ( (binary_expression "extraout_ECX + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" * (cast_expression "(byte *)(piVar9 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 7)" ( (binary_expression "piVar9 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" * (cast_expression "(byte *)(piVar9 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 7)" ( (binary_expression "piVar9 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[5] = -1;" (assignment_expression "piVar9[5] = -1" (subscript_expression "piVar9[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[6] = -1;" (assignment_expression "piVar9[6] = -1" (subscript_expression "piVar9[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[8] = 0;" (assignment_expression "piVar9[8] = 0" (subscript_expression "piVar9[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[9] = 8;" (assignment_expression "piVar9[9] = 8" (subscript_expression "piVar9[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[10] = 0;" (assignment_expression "piVar9[10] = 0" (subscript_expression "piVar9[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);" (assignment_expression "*piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27)" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27)" ( (binary_expression ""N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27" (binary_expression ""N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI" (string_literal ""N4gold15General_options24Struct_no_fatal_warningsE"" " string_content ") + identifier) + number_literal) )))) ;) (expression_statement "piVar9[0xc] = iVar5;" (assignment_expression "piVar9[0xc] = iVar5" (subscript_expression "piVar9[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[0xd] = 0;" (assignment_expression "piVar9[0xd] = 0" (subscript_expression "piVar9[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0xe] = 0;" (assignment_expression "piVar9[0xe] = 0" (subscript_expression "piVar9[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0xf] = 0;" (assignment_expression "piVar9[0xf] = 0" (subscript_expression "piVar9[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0x10] = 0;" (assignment_expression "piVar9[0x10] = 0" (subscript_expression "piVar9[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0x11] = 0;" (assignment_expression "piVar9[0x11] = 0" (subscript_expression "piVar9[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0x12] = 0;" (assignment_expression "piVar9[0x12] = 0" (subscript_expression "piVar9[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0x13] = extraout_ECX;" (assignment_expression "piVar9[0x13] = extraout_ECX" (subscript_expression "piVar9[0x13]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar10 = (undefined4 *)FUN_003ac4d0(0x40);" (assignment_expression "puVar10 = (undefined4 *)FUN_003ac4d0(0x40)" identifier = (cast_expression "(undefined4 *)FUN_003ac4d0(0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) (expression_statement "FUN_001cc9c0(puVar10,0x40,0);" (call_expression "FUN_001cc9c0(puVar10,0x40,0)" identifier (argument_list "(puVar10,0x40,0)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "puVar10[0xd] = 0;" (assignment_expression "puVar10[0xd] = 0" (subscript_expression "puVar10[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[0xe] = 0;" (assignment_expression "puVar10[0xe] = 0" (subscript_expression "puVar10[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[0xf] = 0;" (assignment_expression "puVar10[0xf] = 0" (subscript_expression "puVar10[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[0xb] = (int)puVar10;" (assignment_expression "piVar9[0xb] = (int)puVar10" (subscript_expression "piVar9[0xb]" identifier [ number_literal ]) = (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*puVar10 = &UNK_0044971f + unaff_EDI;" (assignment_expression "*puVar10 = &UNK_0044971f + unaff_EDI" (pointer_expression "*puVar10" * identifier) = (binary_expression "&UNK_0044971f + unaff_EDI" (pointer_expression "&UNK_0044971f" & identifier) + identifier)) ;) (expression_statement "FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);" (call_expression "FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0)" identifier (argument_list "(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0)" ( identifier , (binary_expression "unaff_EDI + 0x2b4f79" identifier + number_literal) , number_literal , number_literal , number_literal , identifier , number_literal , number_literal ))) ;) (expression_statement "*(int **)(extraout_ECX + 0x1c) = piVar9;" (assignment_expression "*(int **)(extraout_ECX + 0x1c) = piVar9" (pointer_expression "*(int **)(extraout_ECX + 0x1c)" * (cast_expression "(int **)(extraout_ECX + 0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(extraout_ECX + 0x1c)" ( (binary_expression "extraout_ECX + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);" (call_expression "FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0)" identifier (argument_list "(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0)" ( identifier , (binary_expression "unaff_EDI + 0x2b7b9f" identifier + number_literal) , number_literal , number_literal , number_literal , identifier , number_literal , number_literal ))) ;) (expression_statement "FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));" (call_expression "FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20))" identifier (argument_list "(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20))" ( (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20)" * (cast_expression "(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20)" ( (binary_expression "*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20" (pointer_expression "*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c)" * (cast_expression "(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(extraout_ECX + 0x1c) + 0x2c)" ( (binary_expression "*(int *)(extraout_ECX + 0x1c) + 0x2c" (pointer_expression "*(int *)(extraout_ECX + 0x1c)" * (cast_expression "(int *)(extraout_ECX + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ECX + 0x1c)" ( (binary_expression "extraout_ECX + 0x1c" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) , (pointer_expression "*(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20)" * (cast_expression "(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(extraout_ECX + 0x1c) + 0x20)" ( (binary_expression "*(int *)(extraout_ECX + 0x1c) + 0x20" (pointer_expression "*(int *)(extraout_ECX + 0x1c)" * (cast_expression "(int *)(extraout_ECX + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ECX + 0x1c)" ( (binary_expression "extraout_ECX + 0x1c" identifier + number_literal) )))) + number_literal) )))) ))) ;) (expression_statement "iVar5 = *(int *)(extraout_ECX + 0x1c);" (assignment_expression "iVar5 = *(int *)(extraout_ECX + 0x1c)" identifier = (pointer_expression "*(int *)(extraout_ECX + 0x1c)" * (cast_expression "(int *)(extraout_ECX + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(extraout_ECX + 0x1c)" ( (binary_expression "extraout_ECX + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }" if (parenthesized_expression "(param_8[6] != -1)" ( (binary_expression "param_8[6] != -1" (subscript_expression "param_8[6]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }" { (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06)" identifier (argument_list "(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06)" ( (binary_expression "unaff_EDI + 0x2d8ce1" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e1fd7" identifier + number_literal) , identifier ))) ;) })) })) (expression_statement "puVar10 = *(undefined4 **)(iVar5 + 0x38);" (assignment_expression "puVar10 = *(undefined4 **)(iVar5 + 0x38)" identifier = (pointer_expression "*(undefined4 **)(iVar5 + 0x38)" * (cast_expression "(undefined4 **)(iVar5 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;" (assignment_expression "param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10" (subscript_expression "param_8[6]" identifier [ number_literal ]) = (binary_expression "(((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10" (parenthesized_expression "(((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2)" ( (binary_expression "((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2" (parenthesized_expression "((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2)" ( (binary_expression "(int)puVar10 - *(int *)(iVar5 + 0x34) >> 2" (binary_expression "(int)puVar10 - *(int *)(iVar5 + 0x34)" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*(int *)(iVar5 + 0x34)" * (cast_expression "(int *)(iVar5 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x34)" ( (binary_expression "iVar5 + 0x34" identifier + number_literal) ))))) >> number_literal) )) + number_literal) )) * number_literal)) ;) (if_statement "if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }" if (parenthesized_expression "(puVar10 == *(undefined4 **)(iVar5 + 0x3c))" ( (binary_expression "puVar10 == *(undefined4 **)(iVar5 + 0x3c)" identifier == (pointer_expression "*(undefined4 **)(iVar5 + 0x3c)" * (cast_expression "(undefined4 **)(iVar5 + 0x3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x3c)" ( (binary_expression "iVar5 + 0x3c" identifier + number_literal) ))))) )) (compound_statement "{\n        FUN_00177b60();\n      }" { (expression_statement "FUN_00177b60();" (call_expression "FUN_00177b60()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }" else (compound_statement "{\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }" { (expression_statement "*puVar10 = param_8;" (assignment_expression "*puVar10 = param_8" (pointer_expression "*puVar10" * identifier) = identifier) ;) (expression_statement "*(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;" (assignment_expression "*(undefined4 **)(iVar5 + 0x38) = puVar10 + 1" (pointer_expression "*(undefined4 **)(iVar5 + 0x38)" * (cast_expression "(undefined4 **)(iVar5 + 0x38)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 0x38)" ( (binary_expression "iVar5 + 0x38" identifier + number_literal) )))) = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) }))) (if_statement "if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }" if (parenthesized_expression "((param_7 == 100 || param_7 == 4) || (param_7 == 0x85))" ( (binary_expression "(param_7 == 100 || param_7 == 4) || (param_7 == 0x85)" (parenthesized_expression "(param_7 == 100 || param_7 == 4)" ( (binary_expression "param_7 == 100 || param_7 == 4" (binary_expression "param_7 == 100" identifier == number_literal) || (binary_expression "param_7 == 4" identifier == number_literal)) )) || (parenthesized_expression "(param_7 == 0x85)" ( (binary_expression "param_7 == 0x85" identifier == number_literal) ))) )) (compound_statement "{\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }" { (if_statement "if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }" if (parenthesized_expression "(param_7 == 4)" ( (binary_expression "param_7 == 4" identifier == number_literal) )) (compound_statement "{\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }" { (expression_statement "*(undefined1 *)((int)param_8 + 0x5e) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x5e) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x5e)" * (cast_expression "(undefined1 *)((int)param_8 + 0x5e)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x5e)" ( (binary_expression "(int)param_8 + 0x5e" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }" else (compound_statement "{\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }" { (expression_statement "*(undefined1 *)((int)param_8 + 0x5f) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x5f) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x5f)" * (cast_expression "(undefined1 *)((int)param_8 + 0x5f)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x5f)" ( (binary_expression "(int)param_8 + 0x5f" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }))) })) (expression_statement "iVar11 = *(int *)(iVar5 + 0x30);" (assignment_expression "iVar11 = *(int *)(iVar5 + 0x30)" identifier = (pointer_expression "*(int *)(iVar5 + 0x30)" * (cast_expression "(int *)(iVar5 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x30)" ( (binary_expression "iVar5 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar11 + 0xc);" (assignment_expression "iVar2 = *(int *)(iVar11 + 0xc)" identifier = (pointer_expression "*(int *)(iVar11 + 0xc)" * (cast_expression "(int *)(iVar11 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = iVar2 + 8;" (assignment_expression "iVar6 = iVar2 + 8" identifier = (binary_expression "iVar2 + 8" identifier + number_literal)) ;) (if_statement "if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }" if (parenthesized_expression "((*(byte *)(iVar11 + 0x1c) & 2) != 0)" ( (binary_expression "(*(byte *)(iVar11 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar11 + 0x1c) & 2)" ( (binary_expression "*(byte *)(iVar11 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar11 + 0x1c)" * (cast_expression "(byte *)(iVar11 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x1c)" ( (binary_expression "iVar11 + 0x1c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }" { (labeled_statement "LAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);" statement_identifier : (expression_statement "FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);" (call_expression "FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6)" identifier (argument_list "(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6)" ( (binary_expression "unaff_EDI + 0x2b4e54" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e21d7" identifier + number_literal) , identifier ))) ;)) })) (expression_statement "*(int *)(iVar11 + 0xc) = iVar6;" (assignment_expression "*(int *)(iVar11 + 0xc) = iVar6" (pointer_expression "*(int *)(iVar11 + 0xc)" * (cast_expression "(int *)(iVar11 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;" (assignment_expression "*(int *)(iVar11 + 0x10) = iVar6 >> 0x1f" (pointer_expression "*(int *)(iVar11 + 0x10)" * (cast_expression "(int *)(iVar11 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x10)" ( (binary_expression "iVar11 + 0x10" identifier + number_literal) )))) = (binary_expression "iVar6 >> 0x1f" identifier >> number_literal)) ;) (expression_statement "*(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;" (assignment_expression "*(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40" (pointer_expression "*(byte *)((int)param_8 + 0x2a)" * (cast_expression "(byte *)((int)param_8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x2a)" ( (binary_expression "(int)param_8 + 0x2a" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)param_8 + 0x2a) | 0x40" (pointer_expression "*(byte *)((int)param_8 + 0x2a)" * (cast_expression "(byte *)((int)param_8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x2a)" ( (binary_expression "(int)param_8 + 0x2a" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) (expression_statement "uVar8 = *(undefined4 *)(iVar5 + 0x2c);" (assignment_expression "uVar8 = *(undefined4 *)(iVar5 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)(iVar5 + 0x2c)" * (cast_expression "(undefined4 *)(iVar5 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x2c)" ( (binary_expression "iVar5 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);" (call_expression "FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0)" identifier (argument_list "(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0)" ( (pointer_expression "&local_38" & identifier) , identifier , number_literal , identifier , identifier , (binary_expression "iVar2 >> 0x1f" identifier >> number_literal) , number_literal , number_literal , number_literal ))) ;) (expression_statement "FUN_001cdb50(uVar8,iVar11,&local_38);" (call_expression "FUN_001cdb50(uVar8,iVar11,&local_38)" identifier (argument_list "(uVar8,iVar11,&local_38)" ( identifier , identifier , (pointer_expression "&local_38" & identifier) ))) ;) (expression_statement "uVar4 = extraout_ECX_03;" (assignment_expression "uVar4 = extraout_ECX_03" identifier = identifier) ;) })) (if_statement "if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }" if (parenthesized_expression "(((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0))" ( (binary_expression "((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)" (parenthesized_expression "((*(byte *)((int)param_8 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)param_8 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)param_8 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)param_8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)param_8 + 0x2a)" * (cast_expression "(byte *)((int)param_8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x2a)" ( (binary_expression "(int)param_8 + 0x2a" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)(param_8[2] + 0x2c) & 1) != 0)" ( (binary_expression "(*(byte *)(param_8[2] + 0x2c) & 1) != 0" (parenthesized_expression "(*(byte *)(param_8[2] + 0x2c) & 1)" ( (binary_expression "*(byte *)(param_8[2] + 0x2c) & 1" (pointer_expression "*(byte *)(param_8[2] + 0x2c)" * (cast_expression "(byte *)(param_8[2] + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8[2] + 0x2c)" ( (binary_expression "param_8[2] + 0x2c" (subscript_expression "param_8[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }" { (if_statement "if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;" if (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0019972d;" goto statement_identifier ;)) (if_statement "if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }" if (parenthesized_expression "((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0'))" ( (binary_expression "(*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')" (parenthesized_expression "(*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" * (cast_expression "(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')" ( (comma_expression "FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0'" (call_expression "FUN_0008feb0(param_8)" identifier (argument_list "(param_8)" ( identifier ))) , (binary_expression "*(char *)(param_8 + 0x14) != '\0'" (pointer_expression "*(char *)(param_8 + 0x14)" * (cast_expression "(char *)(param_8 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0x14)" ( (binary_expression "param_8 + 0x14" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }" { (expression_statement "bVar1 = *(byte *)((int)param_8 + 0x29);" (assignment_expression "bVar1 = *(byte *)((int)param_8 + 0x29)" identifier = (pointer_expression "*(byte *)((int)param_8 + 0x29)" * (cast_expression "(byte *)((int)param_8 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x29)" ( (binary_expression "(int)param_8 + 0x29" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }" if (parenthesized_expression "((bVar1 >> 2 & 0x3c) == 0x3c)" ( (binary_expression "(bVar1 >> 2 & 0x3c) == 0x3c" (parenthesized_expression "(bVar1 >> 2 & 0x3c)" ( (binary_expression "bVar1 >> 2 & 0x3c" (binary_expression "bVar1 >> 2" identifier >> number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }" { (expression_statement "*(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;" (assignment_expression "*(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8" (pointer_expression "*(byte *)((int)param_8 + 0x29)" * (cast_expression "(byte *)((int)param_8 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x29)" ( (binary_expression "(int)param_8 + 0x29" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "bVar1 & 3 | 0xf8" (binary_expression "bVar1 & 3" identifier & number_literal) | number_literal)) ;) }) (else_clause "else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }" else (compound_statement "{\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }" { (expression_statement "*(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;" (assignment_expression "*(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3" (pointer_expression "*(byte *)((int)param_8 + 0x29)" * (cast_expression "(byte *)((int)param_8 + 0x29)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_8 + 0x29)" ( (binary_expression "(int)param_8 + 0x29" (cast_expression "(int)param_8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3" (call_expression "(byte)((bVar1 >> 2 & 0x30 | 2) << 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((bVar1 >> 2 & 0x30 | 2) << 2)" ( (binary_expression "(bVar1 >> 2 & 0x30 | 2) << 2" (parenthesized_expression "(bVar1 >> 2 & 0x30 | 2)" ( (binary_expression "bVar1 >> 2 & 0x30 | 2" (binary_expression "bVar1 >> 2 & 0x30" (binary_expression "bVar1 >> 2" identifier >> number_literal) & number_literal) | number_literal) )) << number_literal) ))) | (binary_expression "bVar1 & 3" identifier & number_literal))) ;) }))) })) })) })) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (if_statement "if (param_7 - 1 < 0xf9) {\n    iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);\n  }" if (parenthesized_expression "(param_7 - 1 < 0xf9)" ( (binary_expression "param_7 - 1 < 0xf9" (binary_expression "param_7 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n    iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);\n  }" { (expression_statement "iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);" (assignment_expression "iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7)" identifier = (cast_expression "(int)*(char *)(unaff_EDI + 0x2e0396 + param_7)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)(unaff_EDI + 0x2e0396 + param_7)" * (cast_expression "(char *)(unaff_EDI + 0x2e0396 + param_7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x2e0396 + param_7)" ( (binary_expression "unaff_EDI + 0x2e0396 + param_7" (binary_expression "unaff_EDI + 0x2e0396" identifier + number_literal) + identifier) )))))) ;) })) (expression_statement "cVar3 = FUN_00071bb0(param_8,iVar5);" (assignment_expression "cVar3 = FUN_00071bb0(param_8,iVar5)" identifier = (call_expression "FUN_00071bb0(param_8,iVar5)" identifier (argument_list "(param_8,iVar5)" ( identifier , identifier )))) ;) (expression_statement "uVar4 = extraout_ECX_02;" (assignment_expression "uVar4 = extraout_ECX_02" identifier = identifier) ;) (if_statement "if (cVar3 != '\0') {\n    cVar3 = FUN_00103300(param_8);\n    if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }\n  }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    cVar3 = FUN_00103300(param_8);\n    if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }\n  }" { (expression_statement "cVar3 = FUN_00103300(param_8);" (assignment_expression "cVar3 = FUN_00103300(param_8)" identifier = (call_expression "FUN_00103300(param_8)" identifier (argument_list "(param_8)" ( identifier )))) ;) (if_statement "if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }" { (expression_statement "uVar8 = *param_8;" (assignment_expression "uVar8 = *param_8" identifier = (pointer_expression "*param_8" * identifier)) ;) (expression_statement "uVar7 = gettext(unaff_EDI + 0x2d9153);" (assignment_expression "uVar7 = gettext(unaff_EDI + 0x2d9153)" identifier = (call_expression "gettext(unaff_EDI + 0x2d9153)" identifier (argument_list "(unaff_EDI + 0x2d9153)" ( (binary_expression "unaff_EDI + 0x2d9153" identifier + number_literal) )))) ;) (expression_statement "FUN_0023b810(uVar7,uVar8);" (call_expression "FUN_0023b810(uVar7,uVar8)" identifier (argument_list "(uVar7,uVar8)" ( identifier , identifier ))) ;) (expression_statement "uVar4 = extraout_ECX_04;" (assignment_expression "uVar4 = extraout_ECX_04" identifier = identifier) ;) }) (else_clause "else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }" else (compound_statement "{\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }" { (expression_statement "uVar8 = FUN_00198320();" (assignment_expression "uVar8 = FUN_00198320()" identifier = (call_expression "FUN_00198320()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar4 = FUN_001771a0();" (assignment_expression "uVar4 = FUN_001771a0()" identifier = (call_expression "FUN_001771a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);" (call_expression "FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8)" identifier (argument_list "(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8)" ( (binary_expression "extraout_ECX + 0x2c" identifier + number_literal) , identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier , number_literal , number_literal , identifier ))) ;) (expression_statement "uVar4 = extraout_ECX_05;" (assignment_expression "uVar4 = extraout_ECX_05" identifier = identifier) ;) }))) })) (if_statement "if (param_7 - 9 < 0xf1) {\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();\n    return;\n  }" if (parenthesized_expression "(param_7 - 9 < 0xf1)" ( (binary_expression "param_7 - 9 < 0xf1" (binary_expression "param_7 - 9" identifier - number_literal) < number_literal) )) (compound_statement "{\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();\n    return;\n  }" { (expression_statement "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();" (call_expression "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))()" (parenthesized_expression "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))" ( (pointer_expression "*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI)" * (cast_expression "(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI)" ( (binary_expression "&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI" (binary_expression "&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4)" (pointer_expression "&UNK_00451af7" & identifier) + (pointer_expression "*(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4)" * (cast_expression "(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4)" ( (binary_expression "unaff_EDI + 0x2dc35b + (param_7 - 9) * 4" (binary_expression "unaff_EDI + 0x2dc35b" identifier + number_literal) + (binary_expression "(param_7 - 9) * 4" (parenthesized_expression "(param_7 - 9)" ( (binary_expression "param_7 - 9" identifier - number_literal) )) * number_literal)) ))))) + identifier) )))) )) (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    \n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);\n  }" if (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_0019972d:\n                    \n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);\n  }" { (labeled_statement "LAB_0019972d:\n                    \n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);" statement_identifier : (expression_statement "FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);" (call_expression "FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4)" identifier (argument_list "(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4)" ( (binary_expression "unaff_EDI + 0x2afd64" identifier + number_literal) , number_literal , (binary_expression "unaff_EDI + 0x2e274f" identifier + number_literal) , identifier ))) ;)) })) (if_statement "if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }" if (parenthesized_expression "(*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')" ( (binary_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" * (cast_expression "(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" ( (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" * (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" ( (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" * (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" ( (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" & identifier) + identifier) )))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (param_7 != 100) {\n    if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }\n    if (local_64 == 0) {\n      return;\n    }\n  }" if (parenthesized_expression "(param_7 != 100)" ( (binary_expression "param_7 != 100" identifier != number_literal) )) (compound_statement "{\n    if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }\n    if (local_64 == 0) {\n      return;\n    }\n  }" { (if_statement "if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }" if (parenthesized_expression "(param_7 < 0x65)" ( (binary_expression "param_7 < 0x65" identifier < number_literal) )) (compound_statement "{\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }" { (if_statement "if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }" if (parenthesized_expression "(param_7 != 5)" ( (binary_expression "param_7 != 5" identifier != number_literal) )) (compound_statement "{\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }" { (if_statement "if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }" if (parenthesized_expression "(param_7 < 6)" ( (binary_expression "param_7 < 6" identifier < number_literal) )) (compound_statement "{\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }" { (if_statement "if (param_7 != 4) {\n            return;\n          }" if (parenthesized_expression "(param_7 != 4)" ( (binary_expression "param_7 != 4" identifier != number_literal) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_0019889d;" goto statement_identifier ;) })) (if_statement "if (1 < param_7 - 0x1c) {\n          return;\n        }" if (parenthesized_expression "(1 < param_7 - 0x1c)" ( (binary_expression "1 < param_7 - 0x1c" number_literal < (binary_expression "param_7 - 0x1c" identifier - number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) }) (else_clause "else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }" else (if_statement "if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }" if (parenthesized_expression "(param_7 != 0x86)" ( (binary_expression "param_7 != 0x86" identifier != number_literal) )) (compound_statement "{\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }" { (if_statement "if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }" if (parenthesized_expression "(param_7 < 0x87)" ( (binary_expression "param_7 < 0x87" identifier < number_literal) )) (compound_statement "{\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }" { (if_statement "if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }" if (parenthesized_expression "(param_7 != 0x68)" ( (binary_expression "param_7 != 0x68" identifier != number_literal) )) (compound_statement "{\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }" { (if_statement "if (param_7 != 0x85) {\n            return;\n          }" if (parenthesized_expression "(param_7 != 0x85)" ( (binary_expression "param_7 != 0x85" identifier != number_literal) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_0019889d;" goto statement_identifier ;) })) }) (else_clause "else if (1 < param_7 - 0x97) {\n        return;\n      }" else (if_statement "if (1 < param_7 - 0x97) {\n        return;\n      }" if (parenthesized_expression "(1 < param_7 - 0x97)" ( (binary_expression "1 < param_7 - 0x97" number_literal < (binary_expression "param_7 - 0x97" identifier - number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })))) })))) (if_statement "if (local_64 == 0) {\n      return;\n    }" if (parenthesized_expression "(local_64 == 0)" ( (binary_expression "local_64 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) })) (labeled_statement "LAB_0019889d:\n  uVar8 = *param_8;" statement_identifier : (expression_statement "uVar8 = *param_8;" (assignment_expression "uVar8 = *param_8" identifier = (pointer_expression "*param_8" * identifier)) ;)) (expression_statement "uVar7 = *(undefined4 *)(param_1 + 4);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 4)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = gettext(unaff_EDI + 0x2d9187);" (assignment_expression "uVar4 = gettext(unaff_EDI + 0x2d9187)" identifier = (call_expression "gettext(unaff_EDI + 0x2d9187)" identifier (argument_list "(unaff_EDI + 0x2d9187)" ( (binary_expression "unaff_EDI + 0x2d9187" identifier + number_literal) )))) ;) (expression_statement "FUN_0023b810(uVar4,uVar7,param_7,uVar8);" (call_expression "FUN_0023b810(uVar4,uVar7,param_7,uVar8)" identifier (argument_list "(uVar4,uVar7,param_7,uVar8)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) + (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) * LIT)) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) & IDENT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) + (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT) )) * LIT)) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) & IDENT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) + (binary_expression IDENT * LIT)) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) & IDENT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) }))) }) (else_clause else (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) ))))) ;)) (expression_statement (assignment_expression IDENT = (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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) + (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) * LIT)) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) & IDENT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) + (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) & IDENT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) + (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) & IDENT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT + LIT)) )) || (parenthesized_expression ( (binary_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 ;))) (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 (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == (char_literal ' escape_sequence '))) ))) )) && (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) + IDENT) )))) )) (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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) )))) = 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) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (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 { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & 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 (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & 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 (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 (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (string_literal " string_content ") + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT , LIT , LIT , IDENT , LIT , 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) })) })) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (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) )) != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (goto_statement goto statement_identifier ;)))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) })))))))) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (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 ')) )) && (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 IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & 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 ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT , LIT , LIT , 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 (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (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 ]) = 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 (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (string_literal " string_content ") + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( 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 ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT , LIT , LIT , IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT , LIT , LIT , IDENT , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) )))) , (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT) )) + LIT) )) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT == LIT)) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) }) (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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;)) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression 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 (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , LIT , IDENT , IDENT , (binary_expression IDENT >> LIT) , LIT , LIT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( IDENT ))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence '))) ))) )) (compound_statement { (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 (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;) }) (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) )))) = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT >> LIT) & LIT) | LIT) )) << LIT) ))) | (binary_expression IDENT & LIT))) ;) }))) })) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression & IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) * LIT)) ))))) + IDENT) )))) )) (argument_list ( ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (return_statement return ;) })) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (return_statement return ;) })))) })))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00198500(int param_1,undefined4 *param_2,undefined4 param_3,int *param_4,int *param_5,\n                 int param_6,uint param_7,undefined4 *param_8)\n\n{\n  byte bVar1;\n  int iVar2;\n  char cVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  undefined4 *puVar10;\n  int extraout_ECX;\n  int iVar11;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  undefined4 extraout_ECX_04;\n  undefined4 extraout_ECX_05;\n  undefined4 extraout_ECX_06;\n  uint uVar12;\n  uint uVar13;\n  int unaff_EDI;\n  undefined8 uVar14;\n  undefined4 local_68;\n  int local_64;\n  undefined4 *local_38;\n  int *local_34;\n  \n  uVar14 = FUN_00074f0a();\n  uVar8 = (undefined4)((ulonglong)uVar14 >> 0x20);\n  if (param_6 == 4) {\n    puVar10 = (undefined4 *)*param_4;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  else {\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  if ((undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n    FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);\n  }\n  uVar13 = (uint)param_2 >> 5;\n  uVar12 = 1 << ((byte)param_2 & 0x1f);\n  if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n    iVar5 = *(int *)(param_1 + 0x204);\n    if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }\n    if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\n    iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);\n    if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }\n    if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }\n  }\n  else {\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }\n  if ((((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c))) {\n    *(undefined1 *)(param_8 + 0x10) = 1;\n  }\n  if (param_7 < 0xfa) {\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)(param_8 + 0x14) = 1;\n  *(undefined1 *)(param_8 + 0x12) = 1;\n  if (param_7 == 0x67) goto LAB_0019878c;\n  if (param_7 < 0x68) {\n    if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;\n    if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }\n  }\n  else {\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }\nLAB_001987a0:\n  if ((*(byte *)(param_1 + 0x1e8) & 1) == 0) {\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }\n  cVar3 = FUN_0008ff10(param_8);\n  if (cVar3 != '\0') {\n    uVar4 = extraout_ECX_01;\n    if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }\n    if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }\n  }\n  iVar5 = 0;\n  if (param_7 - 1 < 0xf9) {\n    iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);\n  }\n  cVar3 = FUN_00071bb0(param_8,iVar5);\n  uVar4 = extraout_ECX_02;\n  if (cVar3 != '\0') {\n    cVar3 = FUN_00103300(param_8);\n    if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }\n  }\n  if (param_7 - 9 < 0xf1) {\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    \n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (param_7 != 100) {\n    if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }\n    if (local_64 == 0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  uVar8 = *param_8;\n  uVar7 = *(undefined4 *)(param_1 + 4);\n  uVar4 = gettext(unaff_EDI + 0x2d9187);\n  FUN_0023b810(uVar4,uVar7,param_7,uVar8);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00198500(int param_1,undefined4 *param_2,undefined4 param_3,int *param_4,int *param_5,\n                 int param_6,uint param_7,undefined4 *param_8)" (identifier "FUN_00198500") (parameter_list "(int param_1,undefined4 *param_2,undefined4 param_3,int *param_4,int *param_5,\n                 int param_6,uint param_7,undefined4 *param_8)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "int *param_5" (primitive_type "int") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "int param_6" (primitive_type "int") (identifier "param_6")) (, ",") (parameter_declaration "uint param_7" (type_identifier "uint") (identifier "param_7")) (, ",") (parameter_declaration "undefined4 *param_8" (type_identifier "undefined4") (pointer_declarator "*param_8" (* "*") (identifier "param_8"))) () ")"))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  char cVar3;\n  undefined4 uVar4;\n  int iVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  int *piVar9;\n  undefined4 *puVar10;\n  int extraout_ECX;\n  int iVar11;\n  undefined4 extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  undefined4 extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  undefined4 extraout_ECX_04;\n  undefined4 extraout_ECX_05;\n  undefined4 extraout_ECX_06;\n  uint uVar12;\n  uint uVar13;\n  int unaff_EDI;\n  undefined8 uVar14;\n  undefined4 local_68;\n  int local_64;\n  undefined4 *local_38;\n  int *local_34;\n  \n  uVar14 = FUN_00074f0a();\n  uVar8 = (undefined4)((ulonglong)uVar14 >> 0x20);\n  if (param_6 == 4) {\n    puVar10 = (undefined4 *)*param_4;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  else {\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  if ((undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n    FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);\n  }\n  uVar13 = (uint)param_2 >> 5;\n  uVar12 = 1 << ((byte)param_2 & 0x1f);\n  if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n    iVar5 = *(int *)(param_1 + 0x204);\n    if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }\n    if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\n    iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);\n    if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }\n    if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }\n  }\n  else {\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }\n  if ((((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c))) {\n    *(undefined1 *)(param_8 + 0x10) = 1;\n  }\n  if (param_7 < 0xfa) {\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();\n    return;\n  }\n  *(undefined1 *)(param_8 + 0x14) = 1;\n  *(undefined1 *)(param_8 + 0x12) = 1;\n  if (param_7 == 0x67) goto LAB_0019878c;\n  if (param_7 < 0x68) {\n    if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;\n    if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }\n  }\n  else {\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }\nLAB_001987a0:\n  if ((*(byte *)(param_1 + 0x1e8) & 1) == 0) {\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }\n  cVar3 = FUN_0008ff10(param_8);\n  if (cVar3 != '\0') {\n    uVar4 = extraout_ECX_01;\n    if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }\n    if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }\n  }\n  iVar5 = 0;\n  if (param_7 - 1 < 0xf9) {\n    iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);\n  }\n  cVar3 = FUN_00071bb0(param_8,iVar5);\n  uVar4 = extraout_ECX_02;\n  if (cVar3 != '\0') {\n    cVar3 = FUN_00103300(param_8);\n    if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }\n  }\n  if (param_7 - 9 < 0xf1) {\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();\n    return;\n  }\n  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    \n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);\n  }\n  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }\n  if (param_7 != 100) {\n    if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }\n    if (local_64 == 0) {\n      return;\n    }\n  }\nLAB_0019889d:\n  uVar8 = *param_8;\n  uVar7 = *(undefined4 *)(param_1 + 4);\n  uVar4 = gettext(unaff_EDI + 0x2d9187);\n  FUN_0023b810(uVar4,uVar7,param_7,uVar8);\n  return;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "undefined4 *puVar10;" (type_identifier "undefined4") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "int extraout_ECX;" (primitive_type "int") (identifier "extraout_ECX") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "undefined4 extraout_ECX_00;" (type_identifier "undefined4") (identifier "extraout_ECX_00") (; ";")) (declaration "undefined4 extraout_ECX_01;" (type_identifier "undefined4") (identifier "extraout_ECX_01") (; ";")) (declaration "undefined4 extraout_ECX_02;" (type_identifier "undefined4") (identifier "extraout_ECX_02") (; ";")) (declaration "undefined4 extraout_ECX_03;" (type_identifier "undefined4") (identifier "extraout_ECX_03") (; ";")) (declaration "undefined4 extraout_ECX_04;" (type_identifier "undefined4") (identifier "extraout_ECX_04") (; ";")) (declaration "undefined4 extraout_ECX_05;" (type_identifier "undefined4") (identifier "extraout_ECX_05") (; ";")) (declaration "undefined4 extraout_ECX_06;" (type_identifier "undefined4") (identifier "extraout_ECX_06") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "int unaff_EDI;" (primitive_type "int") (identifier "unaff_EDI") (; ";")) (declaration "undefined8 uVar14;" (type_identifier "undefined8") (identifier "uVar14") (; ";")) (declaration "undefined4 local_68;" (type_identifier "undefined4") (identifier "local_68") (; ";")) (declaration "int local_64;" (primitive_type "int") (identifier "local_64") (; ";")) (declaration "undefined4 *local_38;" (type_identifier "undefined4") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "int *local_34;" (primitive_type "int") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (expression_statement "uVar14 = FUN_00074f0a();" (assignment_expression "uVar14 = FUN_00074f0a()" (identifier "uVar14") (= "=") (call_expression "FUN_00074f0a()" (identifier "FUN_00074f0a") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar8 = (undefined4)((ulonglong)uVar14 >> 0x20);" (assignment_expression "uVar8 = (undefined4)((ulonglong)uVar14 >> 0x20)" (identifier "uVar8") (= "=") (call_expression "(undefined4)((ulonglong)uVar14 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)uVar14 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar14 >> 0x20" (cast_expression "(ulonglong)uVar14" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar14")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (param_6 == 4) {\n    puVar10 = (undefined4 *)*param_4;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }\n  else {\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }" (if "if") (parenthesized_expression "(param_6 == 4)" (( "(") (binary_expression "param_6 == 4" (identifier "param_6") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n    puVar10 = (undefined4 *)*param_4;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }" ({ "{") (expression_statement "puVar10 = (undefined4 *)*param_4;" (assignment_expression "puVar10 = (undefined4 *)*param_4" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)*param_4" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4")))) (; ";")) (expression_statement "uVar7 = *puVar10;" (assignment_expression "uVar7 = *puVar10" (identifier "uVar7") (= "=") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (; ";")) (expression_statement "local_68 = puVar10[1];" (assignment_expression "local_68 = puVar10[1]" (identifier "local_68") (= "=") (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_64 = puVar10[2];" (assignment_expression "local_64 = puVar10[2]" (identifier "local_64") (= "=") (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }" (else "else") (compound_statement "{\n    puVar10 = (undefined4 *)*param_5;\n    uVar7 = *puVar10;\n    local_68 = puVar10[1];\n    local_64 = puVar10[2];\n  }" ({ "{") (expression_statement "puVar10 = (undefined4 *)*param_5;" (assignment_expression "puVar10 = (undefined4 *)*param_5" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)*param_5" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_5" (* "*") (identifier "param_5")))) (; ";")) (expression_statement "uVar7 = *puVar10;" (assignment_expression "uVar7 = *puVar10" (identifier "uVar7") (= "=") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (; ";")) (expression_statement "local_68 = puVar10[1];" (assignment_expression "local_68 = puVar10[1]" (identifier "local_68") (= "=") (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_64 = puVar10[2];" (assignment_expression "local_64 = puVar10[2]" (identifier "local_64") (= "=") (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}")))) (if_statement "if ((undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n    FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);\n  }" (if "if") (parenthesized_expression "((undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2)" (( "(") (binary_expression "(undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2" (cast_expression "(undefined4 *)\n      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8)" (( "(") (binary_expression "(*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500))" (( "(") (binary_expression "*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)" (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 500)" (* "*") (cast_expression "(int *)(param_1 + 500)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 500)" (( "(") (binary_expression "param_1 + 500" (identifier "param_1") (+ "+") (number_literal "500")) () ")"))))) () ")")) (+ "+") (binary_expression "(*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0))" (( "(") (binary_expression "*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)" (pointer_expression "*(int *)(param_1 + 0x1f8)" (* "*") (cast_expression "(int *)(param_1 + 0x1f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f8)" (( "(") (binary_expression "param_1 + 0x1f8" (identifier "param_1") (+ "+") (number_literal "0x1f8")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x1f0)" (* "*") (cast_expression "(int *)(param_1 + 0x1f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f0)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) () ")"))))) () ")")) (* "*") (number_literal "8"))) () ")"))) (<= "<=") (identifier "param_2")) () ")")) (compound_statement "{\n                    \n    FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);\n  }" ({ "{") (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7)" (identifier "FUN_002446e0") (argument_list "(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7)" (( "(") (binary_expression "unaff_EDI + 0x2d8ce1" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d8ce1")) (, ",") (number_literal "0x711") (, ",") (binary_expression "unaff_EDI + 0x2e244b" (identifier "unaff_EDI") (+ "+") (number_literal "0x2e244b")) (, ",") (identifier "uVar7") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar13 = (uint)param_2 >> 5;" (assignment_expression "uVar13 = (uint)param_2 >> 5" (identifier "uVar13") (= "=") (binary_expression "(uint)param_2 >> 5" (cast_expression "(uint)param_2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_2")) (>> ">>") (number_literal "5"))) (; ";")) (expression_statement "uVar12 = 1 << ((byte)param_2 & 0x1f);" (assignment_expression "uVar12 = 1 << ((byte)param_2 & 0x1f)" (identifier "uVar12") (= "=") (binary_expression "1 << ((byte)param_2 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)param_2 & 0x1f)" (( "(") (binary_expression "(byte)param_2 & 0x1f" (cast_expression "(byte)param_2" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "param_2")) (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n    iVar5 = *(int *)(param_1 + 0x204);\n    if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }\n    if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\n    iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);\n    if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }\n    if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }\n  }\n  else {\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }" (if "if") (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0)" (( "(") (binary_expression "(*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12)" (( "(") (binary_expression "*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" (* "*") (cast_expression "(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x1f0) + uVar13 * 4" (pointer_expression "*(int *)(param_1 + 0x1f0)" (* "*") (cast_expression "(int *)(param_1 + 0x1f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f0)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) () ")")))) (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")")))) (& "&") (identifier "uVar12")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar5 = *(int *)(param_1 + 0x204);\n    if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }\n    if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\n    iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);\n    if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }\n    if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;\nLAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }\n  }" ({ "{") (expression_statement "iVar5 = *(int *)(param_1 + 0x204);" (assignment_expression "iVar5 = *(int *)(param_1 + 0x204)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(param_1 + 0x204)" (* "*") (cast_expression "(int *)(param_1 + 0x204)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x204)" (( "(") (binary_expression "param_1 + 0x204" (identifier "param_1") (+ "+") (number_literal "0x204")) () ")"))))) (; ";")) (if_statement "if ((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }" (if "if") (parenthesized_expression "((undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2)" (( "(") (binary_expression "(undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2" (cast_expression "(undefined4 *)\n        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8)" (( "(") (binary_expression "(*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n        (*(int *)(param_1 + 0x20c) - iVar5) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208))" (( "(") (binary_expression "*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)" (pointer_expression "*(int *)(param_1 + 0x210)" (* "*") (cast_expression "(int *)(param_1 + 0x210)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x210)" (( "(") (binary_expression "param_1 + 0x210" (identifier "param_1") (+ "+") (number_literal "0x210")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x208)" (* "*") (cast_expression "(int *)(param_1 + 0x208)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x208)" (( "(") (binary_expression "param_1 + 0x208" (identifier "param_1") (+ "+") (number_literal "0x208")) () ")"))))) () ")")) (+ "+") (binary_expression "(*(int *)(param_1 + 0x20c) - iVar5) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x20c) - iVar5)" (( "(") (binary_expression "*(int *)(param_1 + 0x20c) - iVar5" (pointer_expression "*(int *)(param_1 + 0x20c)" (* "*") (cast_expression "(int *)(param_1 + 0x20c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20c)" (( "(") (binary_expression "param_1 + 0x20c" (identifier "param_1") (+ "+") (number_literal "0x20c")) () ")")))) (- "-") (identifier "iVar5")) () ")")) (* "*") (number_literal "8"))) () ")"))) (<= "<=") (identifier "param_2")) () ")")) (compound_statement "{\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);\n    }" ({ "{") (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5)" (identifier "FUN_002446e0") (argument_list "(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5)" (( "(") (binary_expression "unaff_EDI + 0x2d8ce1" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d8ce1")) (, ",") (number_literal "0x71a") (, ",") (binary_expression "unaff_EDI + 0x2e242f" (identifier "unaff_EDI") (+ "+") (number_literal "0x2e242f")) (, ",") (identifier "iVar5") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;" (if "if") (parenthesized_expression "((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0)" (( "(") (binary_expression "(*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0" (parenthesized_expression "(*(uint *)(iVar5 + uVar13 * 4) & uVar12)" (( "(") (binary_expression "*(uint *)(iVar5 + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(iVar5 + uVar13 * 4)" (* "*") (cast_expression "(uint *)(iVar5 + uVar13 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + uVar13 * 4)" (( "(") (binary_expression "iVar5 + uVar13 * 4" (identifier "iVar5") (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")")))) (& "&") (identifier "uVar12")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0019859c;" (goto "goto") (statement_identifier "LAB_0019859c") (; ";"))) (expression_statement "iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);" (assignment_expression "iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)" (identifier "iVar5") (= "=") (binary_expression "*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)" (pointer_expression "*(int *)(param_1 + 0x220)" (* "*") (cast_expression "(int *)(param_1 + 0x220)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x220)" (( "(") (binary_expression "param_1 + 0x220" (identifier "param_1") (+ "+") (number_literal "0x220")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x218)" (* "*") (cast_expression "(int *)(param_1 + 0x218)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x218)" (( "(") (binary_expression "param_1 + 0x218" (identifier "param_1") (+ "+") (number_literal "0x218")) () ")")))))) (; ";")) (if_statement "if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2) {\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }" (if "if") (parenthesized_expression "((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2)" (( "(") (binary_expression "(undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=\n        param_2" (cast_expression "(undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8)" (( "(") (binary_expression "(*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8" (parenthesized_expression "(*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c))" (( "(") (binary_expression "*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)" (pointer_expression "*(int *)(param_1 + 0x224)" (* "*") (cast_expression "(int *)(param_1 + 0x224)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x224)" (( "(") (binary_expression "param_1 + 0x224" (identifier "param_1") (+ "+") (number_literal "0x224")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x21c)" (* "*") (cast_expression "(int *)(param_1 + 0x21c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x21c)" (( "(") (binary_expression "param_1 + 0x21c" (identifier "param_1") (+ "+") (number_literal "0x21c")) () ")"))))) () ")")) (+ "+") (binary_expression "iVar5 * 8" (identifier "iVar5") (* "*") (number_literal "8"))) () ")"))) (<= "<=") (identifier "param_2")) () ")")) (compound_statement "{\n                    \n      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);\n    }" ({ "{") (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5)" (identifier "FUN_002446e0") (argument_list "(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5)" (( "(") (binary_expression "unaff_EDI + 0x2d8ce1" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d8ce1")) (, ",") (number_literal "0x723") (, ",") (binary_expression "unaff_EDI + 0x2e240f" (identifier "unaff_EDI") (+ "+") (number_literal "0x2e240f")) (, ",") (identifier "iVar5") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;" (if "if") (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0)" (( "(") (binary_expression "(*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12)" (( "(") (binary_expression "*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4)" (* "*") (cast_expression "(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x218) + uVar13 * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x218) + uVar13 * 4" (pointer_expression "*(int *)(param_1 + 0x218)" (* "*") (cast_expression "(int *)(param_1 + 0x218)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x218)" (( "(") (binary_expression "param_1 + 0x218" (identifier "param_1") (+ "+") (number_literal "0x218")) () ")")))) (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")")))) (& "&") (identifier "uVar12")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0019859c;" (goto "goto") (statement_identifier "LAB_0019859c") (; ";"))) (labeled_statement "LAB_001986ca:\n    if (param_7 == 0) {\n      return;\n    }" (statement_identifier "LAB_001986ca") (: ":") (if_statement "if (param_7 == 0) {\n      return;\n    }" (if "if") (parenthesized_expression "(param_7 == 0)" (( "(") (binary_expression "param_7 == 0" (identifier "param_7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (} "}")) (else_clause "else {\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }" (else "else") (compound_statement "{\nLAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);\n    iVar6 = param_1 + 0x16c;\n    if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }\n    if ((char)piVar9[4] != '\0') goto LAB_001986ca;\n    if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }\n    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }\n  }" ({ "{") (labeled_statement "LAB_0019859c:\n    iVar5 = *(int *)(param_1 + 0x170);" (statement_identifier "LAB_0019859c") (: ":") (expression_statement "iVar5 = *(int *)(param_1 + 0x170);" (assignment_expression "iVar5 = *(int *)(param_1 + 0x170)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(param_1 + 0x170)" (* "*") (cast_expression "(int *)(param_1 + 0x170)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x170)" (( "(") (binary_expression "param_1 + 0x170" (identifier "param_1") (+ "+") (number_literal "0x170")) () ")"))))) (; ";"))) (expression_statement "iVar6 = param_1 + 0x16c;" (assignment_expression "iVar6 = param_1 + 0x16c" (identifier "iVar6") (= "=") (binary_expression "param_1 + 0x16c" (identifier "param_1") (+ "+") (number_literal "0x16c"))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x170) == 0) {\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }\n    else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x170) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x170) == 0" (pointer_expression "*(int *)(param_1 + 0x170)" (* "*") (cast_expression "(int *)(param_1 + 0x170)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x170)" (( "(") (binary_expression "param_1 + 0x170" (identifier "param_1") (+ "+") (number_literal "0x170")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);\n      piVar9[2] = 0;\n      *piVar9 = param_1;\n      piVar9[3] = 0;\n      piVar9[1] = (int)param_2;\n      *(undefined1 *)(piVar9 + 4) = 0;\n      if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }\n      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }\n      local_38 = param_2;\n      local_34 = piVar9;\n      FUN_001721f0();\n    }" ({ "{") (labeled_statement "LAB_00198b60:\n      piVar9 = (int *)FUN_003ac4d0(0x14);" (statement_identifier "LAB_00198b60") (: ":") (expression_statement "piVar9 = (int *)FUN_003ac4d0(0x14);" (assignment_expression "piVar9 = (int *)FUN_003ac4d0(0x14)" (identifier "piVar9") (= "=") (cast_expression "(int *)FUN_003ac4d0(0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0(0x14)" (identifier "FUN_003ac4d0") (argument_list "(0x14)" (( "(") (number_literal "0x14") () ")"))))) (; ";"))) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar9 = param_1;" (assignment_expression "*piVar9 = param_1" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[1] = (int)param_2;" (assignment_expression "piVar9[1] = (int)param_2" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) (; ";")) (expression_statement "*(undefined1 *)(piVar9 + 4) = 0;" (assignment_expression "*(undefined1 *)(piVar9 + 4) = 0" (pointer_expression "*(undefined1 *)(piVar9 + 4)" (* "*") (cast_expression "(undefined1 *)(piVar9 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9 + 4)" (( "(") (binary_expression "piVar9 + 4" (identifier "piVar9") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }" (if "if") (parenthesized_expression "((undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2)" (( "(") (binary_expression "(undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2" (cast_expression "(undefined4 *)\n          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8)" (( "(") (binary_expression "(*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +\n          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500))" (( "(") (binary_expression "*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)" (pointer_expression "*(int *)(param_1 + 0x1fc)" (* "*") (cast_expression "(int *)(param_1 + 0x1fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1fc)" (( "(") (binary_expression "param_1 + 0x1fc" (identifier "param_1") (+ "+") (number_literal "0x1fc")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 500)" (* "*") (cast_expression "(int *)(param_1 + 500)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 500)" (( "(") (binary_expression "param_1 + 500" (identifier "param_1") (+ "+") (number_literal "500")) () ")"))))) () ")")) (+ "+") (binary_expression "(*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0))" (( "(") (binary_expression "*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)" (pointer_expression "*(int *)(param_1 + 0x1f8)" (* "*") (cast_expression "(int *)(param_1 + 0x1f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f8)" (( "(") (binary_expression "param_1 + 0x1f8" (identifier "param_1") (+ "+") (number_literal "0x1f8")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x1f0)" (* "*") (cast_expression "(int *)(param_1 + 0x1f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f0)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) () ")"))))) () ")")) (* "*") (number_literal "8"))) () ")"))) (<= "<=") (identifier "param_2")) () ")")) (compound_statement "{\n                    \n        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);\n      }" ({ "{") (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12)" (identifier "FUN_002446e0") (argument_list "(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12)" (( "(") (binary_expression "unaff_EDI + 0x2d8ce1" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d8ce1")) (, ",") (number_literal "0x711") (, ",") (binary_expression "unaff_EDI + 0x2e244b" (identifier "unaff_EDI") (+ "+") (number_literal "0x2e244b")) (, ",") (identifier "uVar12") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }" (if "if") (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0)" (( "(") (binary_expression "(*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12)" (( "(") (binary_expression "*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" (* "*") (cast_expression "(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x1f0) + uVar13 * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x1f0) + uVar13 * 4" (pointer_expression "*(int *)(param_1 + 0x1f0)" (* "*") (cast_expression "(int *)(param_1 + 0x1f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f0)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) () ")")))) (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")")))) (& "&") (identifier "uVar12")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);\n        if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }\n        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }\n      }" ({ "{") (expression_statement "puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);" (assignment_expression "puVar10 = (undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8)" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)\n                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8)" (( "(") (binary_expression "(*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +\n                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208))" (( "(") (binary_expression "*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)" (pointer_expression "*(int *)(param_1 + 0x210)" (* "*") (cast_expression "(int *)(param_1 + 0x210)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x210)" (( "(") (binary_expression "param_1 + 0x210" (identifier "param_1") (+ "+") (number_literal "0x210")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x208)" (* "*") (cast_expression "(int *)(param_1 + 0x208)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x208)" (( "(") (binary_expression "param_1 + 0x208" (identifier "param_1") (+ "+") (number_literal "0x208")) () ")"))))) () ")")) (+ "+") (binary_expression "(*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204))" (( "(") (binary_expression "*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)" (pointer_expression "*(int *)(param_1 + 0x20c)" (* "*") (cast_expression "(int *)(param_1 + 0x20c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20c)" (( "(") (binary_expression "param_1 + 0x20c" (identifier "param_1") (+ "+") (number_literal "0x20c")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x204)" (* "*") (cast_expression "(int *)(param_1 + 0x204)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x204)" (( "(") (binary_expression "param_1 + 0x204" (identifier "param_1") (+ "+") (number_literal "0x204")) () ")"))))) () ")")) (* "*") (number_literal "8"))) () ")")))) (; ";")) (if_statement "if (puVar10 <= param_2) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }" (if "if") (parenthesized_expression "(puVar10 <= param_2)" (( "(") (binary_expression "puVar10 <= param_2" (identifier "puVar10") (<= "<=") (identifier "param_2")) () ")")) (compound_statement "{\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);\n        }" ({ "{") (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10)" (identifier "FUN_002446e0") (argument_list "(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10)" (( "(") (binary_expression "unaff_EDI + 0x2d8ce1" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d8ce1")) (, ",") (number_literal "0x71a") (, ",") (binary_expression "unaff_EDI + 0x2e242f" (identifier "unaff_EDI") (+ "+") (number_literal "0x2e242f")) (, ",") (identifier "puVar10") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }" (if "if") (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0)" (( "(") (binary_expression "(*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12)" (( "(") (binary_expression "*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4)" (* "*") (cast_expression "(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x204) + uVar13 * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x204) + uVar13 * 4" (pointer_expression "*(int *)(param_1 + 0x204)" (* "*") (cast_expression "(int *)(param_1 + 0x204)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x204)" (( "(") (binary_expression "param_1 + 0x204" (identifier "param_1") (+ "+") (number_literal "0x204")) () ")")))) (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")")))) (& "&") (identifier "uVar12")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);\n          if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }\n          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }\n        }" ({ "{") (expression_statement "puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);" (assignment_expression "puVar10 = (undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8)" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)\n                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8)" (( "(") (binary_expression "(*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +\n                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c))" (( "(") (binary_expression "*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)" (pointer_expression "*(int *)(param_1 + 0x224)" (* "*") (cast_expression "(int *)(param_1 + 0x224)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x224)" (( "(") (binary_expression "param_1 + 0x224" (identifier "param_1") (+ "+") (number_literal "0x224")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x21c)" (* "*") (cast_expression "(int *)(param_1 + 0x21c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x21c)" (( "(") (binary_expression "param_1 + 0x21c" (identifier "param_1") (+ "+") (number_literal "0x21c")) () ")"))))) () ")")) (+ "+") (binary_expression "(*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218))" (( "(") (binary_expression "*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)" (pointer_expression "*(int *)(param_1 + 0x220)" (* "*") (cast_expression "(int *)(param_1 + 0x220)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x220)" (( "(") (binary_expression "param_1 + 0x220" (identifier "param_1") (+ "+") (number_literal "0x220")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x218)" (* "*") (cast_expression "(int *)(param_1 + 0x218)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x218)" (( "(") (binary_expression "param_1 + 0x218" (identifier "param_1") (+ "+") (number_literal "0x218")) () ")"))))) () ")")) (* "*") (number_literal "8"))) () ")")))) (; ";")) (if_statement "if (puVar10 <= param_2) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }" (if "if") (parenthesized_expression "(puVar10 <= param_2)" (( "(") (binary_expression "puVar10 <= param_2" (identifier "puVar10") (<= "<=") (identifier "param_2")) () ")")) (compound_statement "{\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);\n          }" ({ "{") (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10)" (identifier "FUN_002446e0") (argument_list "(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10)" (( "(") (binary_expression "unaff_EDI + 0x2d8ce1" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d8ce1")) (, ",") (number_literal "0x723") (, ",") (binary_expression "unaff_EDI + 0x2e240f" (identifier "unaff_EDI") (+ "+") (number_literal "0x2e240f")) (, ",") (identifier "puVar10") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }" (if "if") (parenthesized_expression "((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0)" (( "(") (binary_expression "(*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0" (parenthesized_expression "(*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12)" (( "(") (binary_expression "*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12" (pointer_expression "*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4)" (* "*") (cast_expression "(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x218) + uVar13 * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x218) + uVar13 * 4" (pointer_expression "*(int *)(param_1 + 0x218)" (* "*") (cast_expression "(int *)(param_1 + 0x218)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x218)" (( "(") (binary_expression "param_1 + 0x218" (identifier "param_1") (+ "+") (number_literal "0x218")) () ")")))) (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")")))) (& "&") (identifier "uVar12")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);\n          }" ({ "{") (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10)" (identifier "FUN_002446e0") (argument_list "(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10)" (( "(") (binary_expression "unaff_EDI + 0x2d8ce1" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d8ce1")) (, ",") (number_literal "0x5b7") (, ",") (binary_expression "unaff_EDI + 0x2e2223" (identifier "unaff_EDI") (+ "+") (number_literal "0x2e2223")) (, ",") (identifier "puVar10") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "local_38 = param_2;" (assignment_expression "local_38 = param_2" (identifier "local_38") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_34 = piVar9;" (assignment_expression "local_34 = piVar9" (identifier "local_34") (= "=") (identifier "piVar9")) (; ";")) (expression_statement "FUN_001721f0();" (call_expression "FUN_001721f0()" (identifier "FUN_001721f0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }" (else "else") (compound_statement "{\n      do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);\nLAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;\n      piVar9 = *(int **)(iVar11 + 0x14);\n    }" ({ "{") (do_statement "do {\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      } while (*(int *)(iVar11 + 8) != 0);" (do "do") (compound_statement "{\n        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }\n        iVar5 = *(int *)(iVar11 + 8);\n        iVar6 = iVar11;\n      }" ({ "{") (while_statement "while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }" (while "while") (parenthesized_expression "(iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2)" (( "(") (comma_expression "iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2" (assignment_expression "iVar11 = iVar5" (identifier "iVar11") (= "=") (identifier "iVar5")) (, ",") (binary_expression "*(undefined4 **)(iVar11 + 0x10) < param_2" (pointer_expression "*(undefined4 **)(iVar11 + 0x10)" (* "*") (cast_expression "(undefined4 **)(iVar11 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x10)" (( "(") (binary_expression "iVar11 + 0x10" (identifier "iVar11") (+ "+") (number_literal "0x10")) () ")")))) (< "<") (identifier "param_2"))) () ")")) (compound_statement "{\n          piVar9 = (int *)(iVar11 + 0xc);\n          iVar5 = *piVar9;\n          iVar11 = iVar6;\n          if (*piVar9 == 0) goto LAB_001985d5;\n        }" ({ "{") (expression_statement "piVar9 = (int *)(iVar11 + 0xc);" (assignment_expression "piVar9 = (int *)(iVar11 + 0xc)" (identifier "piVar9") (= "=") (cast_expression "(int *)(iVar11 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xc)" (( "(") (binary_expression "iVar11 + 0xc" (identifier "iVar11") (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (expression_statement "iVar5 = *piVar9;" (assignment_expression "iVar5 = *piVar9" (identifier "iVar5") (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (expression_statement "iVar11 = iVar6;" (assignment_expression "iVar11 = iVar6" (identifier "iVar11") (= "=") (identifier "iVar6")) (; ";")) (if_statement "if (*piVar9 == 0) goto LAB_001985d5;" (if "if") (parenthesized_expression "(*piVar9 == 0)" (( "(") (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001985d5;" (goto "goto") (statement_identifier "LAB_001985d5") (; ";"))) (} "}"))) (expression_statement "iVar5 = *(int *)(iVar11 + 8);" (assignment_expression "iVar5 = *(int *)(iVar11 + 8)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar11 + 8)" (* "*") (cast_expression "(int *)(iVar11 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 8)" (( "(") (binary_expression "iVar11 + 8" (identifier "iVar11") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar6 = iVar11;" (assignment_expression "iVar6 = iVar11" (identifier "iVar6") (= "=") (identifier "iVar11")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int *)(iVar11 + 8) != 0)" (( "(") (binary_expression "*(int *)(iVar11 + 8) != 0" (pointer_expression "*(int *)(iVar11 + 8)" (* "*") (cast_expression "(int *)(iVar11 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 8)" (( "(") (binary_expression "iVar11 + 8" (identifier "iVar11") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (; ";")) (labeled_statement "LAB_001985d5:\n      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;" (statement_identifier "LAB_001985d5") (: ":") (if_statement "if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))\n      goto LAB_00198b60;" (if "if") (parenthesized_expression "((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))" (( "(") (binary_expression "(iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10))" (parenthesized_expression "(iVar11 == param_1 + 0x16c)" (( "(") (binary_expression "iVar11 == param_1 + 0x16c" (identifier "iVar11") (== "==") (binary_expression "param_1 + 0x16c" (identifier "param_1") (+ "+") (number_literal "0x16c"))) () ")")) (|| "||") (parenthesized_expression "(param_2 < *(undefined4 **)(iVar11 + 0x10))" (( "(") (binary_expression "param_2 < *(undefined4 **)(iVar11 + 0x10)" (identifier "param_2") (< "<") (pointer_expression "*(undefined4 **)(iVar11 + 0x10)" (* "*") (cast_expression "(undefined4 **)(iVar11 + 0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x10)" (( "(") (binary_expression "iVar11 + 0x10" (identifier "iVar11") (+ "+") (number_literal "0x10")) () ")"))))) () ")"))) () ")")) (goto_statement "goto LAB_00198b60;" (goto "goto") (statement_identifier "LAB_00198b60") (; ";")))) (expression_statement "piVar9 = *(int **)(iVar11 + 0x14);" (assignment_expression "piVar9 = *(int **)(iVar11 + 0x14)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(iVar11 + 0x14)" (* "*") (cast_expression "(int **)(iVar11 + 0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar11 + 0x14)" (( "(") (binary_expression "iVar11 + 0x14" (identifier "iVar11") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (} "}")))) (if_statement "if ((char)piVar9[4] != '\0') goto LAB_001986ca;" (if "if") (parenthesized_expression "((char)piVar9[4] != '\0')" (( "(") (binary_expression "(char)piVar9[4] != '\0'" (cast_expression "(char)piVar9[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001986ca;" (goto "goto") (statement_identifier "LAB_001986ca") (; ";"))) (if_statement "if (param_7 == 0) {\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }" (if "if") (parenthesized_expression "(param_7 == 0)" (( "(") (binary_expression "param_7 == 0" (identifier "param_7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      piVar9[2] = 0;\n      *(undefined1 *)(piVar9 + 4) = 1;\n      piVar9[3] = (int)param_8;\n      return;\n    }" ({ "{") (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(piVar9 + 4) = 1;" (assignment_expression "*(undefined1 *)(piVar9 + 4) = 1" (pointer_expression "*(undefined1 *)(piVar9 + 4)" (* "*") (cast_expression "(undefined1 *)(piVar9 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9 + 4)" (( "(") (binary_expression "piVar9 + 4" (identifier "piVar9") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar9[3] = (int)param_8;" (assignment_expression "piVar9[3] = (int)param_8" (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if ((piVar9[2] == 0) && (piVar9[3] == 0)) {\n      piVar9[3] = (int)param_8;\n    }" (if "if") (parenthesized_expression "((piVar9[2] == 0) && (piVar9[3] == 0))" (( "(") (binary_expression "(piVar9[2] == 0) && (piVar9[3] == 0)" (parenthesized_expression "(piVar9[2] == 0)" (( "(") (binary_expression "piVar9[2] == 0" (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar9[3] == 0)" (( "(") (binary_expression "piVar9[3] == 0" (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      piVar9[3] = (int)param_8;\n    }" ({ "{") (expression_statement "piVar9[3] = (int)param_8;" (assignment_expression "piVar9[3] = (int)param_8" (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if ((((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c))) {\n    *(undefined1 *)(param_8 + 0x10) = 1;\n  }" (if "if") (parenthesized_expression "((((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c)))" (( "(") (binary_expression "(((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&\n     (param_2 != *(undefined4 **)(param_1 + 0x22c))" (parenthesized_expression "(((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0'))" (( "(") (binary_expression "((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')" (parenthesized_expression "((param_7 != 0x67) && (param_7 != 100))" (( "(") (binary_expression "(param_7 != 0x67) && (param_7 != 100)" (parenthesized_expression "(param_7 != 0x67)" (( "(") (binary_expression "param_7 != 0x67" (identifier "param_7") (!= "!=") (number_literal "0x67")) () ")")) (&& "&&") (parenthesized_expression "(param_7 != 100)" (( "(") (binary_expression "param_7 != 100" (identifier "param_7") (!= "!=") (number_literal "100")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(cVar3 = FUN_0017b7a0(), cVar3 == '\0')" (( "(") (comma_expression "cVar3 = FUN_0017b7a0(), cVar3 == '\0'" (assignment_expression "cVar3 = FUN_0017b7a0()" (identifier "cVar3") (= "=") (call_expression "FUN_0017b7a0()" (identifier "FUN_0017b7a0") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(param_2 != *(undefined4 **)(param_1 + 0x22c))" (( "(") (binary_expression "param_2 != *(undefined4 **)(param_1 + 0x22c)" (identifier "param_2") (!= "!=") (pointer_expression "*(undefined4 **)(param_1 + 0x22c)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x22c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x22c)" (( "(") (binary_expression "param_1 + 0x22c" (identifier "param_1") (+ "+") (number_literal "0x22c")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n    *(undefined1 *)(param_8 + 0x10) = 1;\n  }" ({ "{") (expression_statement "*(undefined1 *)(param_8 + 0x10) = 1;" (assignment_expression "*(undefined1 *)(param_8 + 0x10) = 1" (pointer_expression "*(undefined1 *)(param_8 + 0x10)" (* "*") (cast_expression "(undefined1 *)(param_8 + 0x10)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 0x10)" (( "(") (binary_expression "param_8 + 0x10" (identifier "param_8") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (if_statement "if (param_7 < 0xfa) {\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();\n    return;\n  }" (if "if") (parenthesized_expression "(param_7 < 0xfa)" (( "(") (binary_expression "param_7 < 0xfa" (identifier "param_7") (< "<") (number_literal "0xfa")) () ")")) (compound_statement "{\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();\n    return;\n  }" ({ "{") (expression_statement "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();" (call_expression "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))()" (parenthesized_expression "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))" (( "(") (pointer_expression "*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI)" (* "*") (cast_expression "(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI)" (( "(") (binary_expression "&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI" (binary_expression "&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4)" (pointer_expression "&UNK_00451af7" (& "&") (identifier "UNK_00451af7")) (+ "+") (pointer_expression "*(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x2dbf73 + param_7 * 4)" (( "(") (binary_expression "unaff_EDI + 0x2dbf73 + param_7 * 4" (binary_expression "unaff_EDI + 0x2dbf73" (identifier "unaff_EDI") (+ "+") (number_literal "0x2dbf73")) (+ "+") (binary_expression "param_7 * 4" (identifier "param_7") (* "*") (number_literal "4"))) () ")"))))) (+ "+") (identifier "unaff_EDI")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(param_8 + 0x14) = 1;" (assignment_expression "*(undefined1 *)(param_8 + 0x14) = 1" (pointer_expression "*(undefined1 *)(param_8 + 0x14)" (* "*") (cast_expression "(undefined1 *)(param_8 + 0x14)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 0x14)" (( "(") (binary_expression "param_8 + 0x14" (identifier "param_8") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined1 *)(param_8 + 0x12) = 1;" (assignment_expression "*(undefined1 *)(param_8 + 0x12) = 1" (pointer_expression "*(undefined1 *)(param_8 + 0x12)" (* "*") (cast_expression "(undefined1 *)(param_8 + 0x12)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 0x12)" (( "(") (binary_expression "param_8 + 0x12" (identifier "param_8") (+ "+") (number_literal "0x12")) () ")")))) (= "=") (number_literal "1")) (; ";")) (if_statement "if (param_7 == 0x67) goto LAB_0019878c;" (if "if") (parenthesized_expression "(param_7 == 0x67)" (( "(") (binary_expression "param_7 == 0x67" (identifier "param_7") (== "==") (number_literal "0x67")) () ")")) (goto_statement "goto LAB_0019878c;" (goto "goto") (statement_identifier "LAB_0019878c") (; ";"))) (if_statement "if (param_7 < 0x68) {\n    if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;\n    if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }\n  }\n  else {\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(param_7 < 0x68)" (( "(") (binary_expression "param_7 < 0x68" (identifier "param_7") (< "<") (number_literal "0x68")) () ")")) (compound_statement "{\n    if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;\nLAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;\n    if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }\n  }" ({ "{") (if_statement "if (param_7 < 0x20) {\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }\n    else if (param_7 == 0x25) goto LAB_0019878c;" (if "if") (parenthesized_expression "(param_7 < 0x20)" (( "(") (binary_expression "param_7 < 0x20" (identifier "param_7") (< "<") (number_literal "0x20")) () ")")) (compound_statement "{\n      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;\n    }" ({ "{") (if_statement "if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;" (if "if") (parenthesized_expression "((0x1d < param_7) || (param_7 == 0xb))" (( "(") (binary_expression "(0x1d < param_7) || (param_7 == 0xb)" (parenthesized_expression "(0x1d < param_7)" (( "(") (binary_expression "0x1d < param_7" (number_literal "0x1d") (< "<") (identifier "param_7")) () ")")) (|| "||") (parenthesized_expression "(param_7 == 0xb)" (( "(") (binary_expression "param_7 == 0xb" (identifier "param_7") (== "==") (number_literal "0xb")) () ")"))) () ")")) (goto_statement "goto LAB_0019878c;" (goto "goto") (statement_identifier "LAB_0019878c") (; ";"))) (} "}")) (else_clause "else if (param_7 == 0x25) goto LAB_0019878c;" (else "else") (if_statement "if (param_7 == 0x25) goto LAB_0019878c;" (if "if") (parenthesized_expression "(param_7 == 0x25)" (( "(") (binary_expression "param_7 == 0x25" (identifier "param_7") (== "==") (number_literal "0x25")) () ")")) (goto_statement "goto LAB_0019878c;" (goto "goto") (statement_identifier "LAB_0019878c") (; ";"))))) (labeled_statement "LAB_001988ea:\n    *(undefined1 *)((int)param_8 + 0x49) = 1;" (statement_identifier "LAB_001988ea") (: ":") (expression_statement "*(undefined1 *)((int)param_8 + 0x49) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x49) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x49)" (* "*") (cast_expression "(undefined1 *)((int)param_8 + 0x49)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x49)" (( "(") (binary_expression "(int)param_8 + 0x49" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x49")) () ")")))) (= "=") (number_literal "1")) (; ";"))) (if_statement "if ((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }" (if "if") (parenthesized_expression "((*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0'))" (( "(") (binary_expression "(*(int *)(extraout_ECX + 0x60) != 0) &&\n       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')" (parenthesized_expression "(*(int *)(extraout_ECX + 0x60) != 0)" (( "(") (binary_expression "*(int *)(extraout_ECX + 0x60) != 0" (pointer_expression "*(int *)(extraout_ECX + 0x60)" (* "*") (cast_expression "(int *)(extraout_ECX + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ECX + 0x60)" (( "(") (binary_expression "extraout_ECX + 0x60" (identifier "extraout_ECX") (+ "+") (number_literal "0x60")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')" (( "(") (comma_expression "local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0'" (assignment_expression "local_38 = param_8" (identifier "local_38") (= "=") (identifier "param_8")) (, ",") (binary_expression "*(char *)((int)param_8 + 0x5d) != '\0'" (pointer_expression "*(char *)((int)param_8 + 0x5d)" (* "*") (cast_expression "(char *)((int)param_8 + 0x5d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x5d)" (( "(") (binary_expression "(int)param_8 + 0x5d" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x5d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n      FUN_00179860();\n      *(undefined1 *)((int)local_38 + 0x5d) = 0;\n    }" ({ "{") (expression_statement "FUN_00179860();" (call_expression "FUN_00179860()" (identifier "FUN_00179860") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined1 *)((int)local_38 + 0x5d) = 0;" (assignment_expression "*(undefined1 *)((int)local_38 + 0x5d) = 0" (pointer_expression "*(undefined1 *)((int)local_38 + 0x5d)" (* "*") (cast_expression "(undefined1 *)((int)local_38 + 0x5d)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_38 + 0x5d)" (( "(") (binary_expression "(int)local_38 + 0x5d" (cast_expression "(int)local_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_38")) (+ "+") (number_literal "0x5d")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }\n  }" ({ "{") (if_statement "if (param_7 < 0x9b) {\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }\n    else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }" (if "if") (parenthesized_expression "(param_7 < 0x9b)" (( "(") (binary_expression "param_7 < 0x9b" (identifier "param_7") (< "<") (number_literal "0x9b")) () ")")) (compound_statement "{\n      if (0x98 < param_7) goto LAB_0019878c;\n      if (param_7 != 0x8e) goto LAB_001988ea;\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }" ({ "{") (if_statement "if (0x98 < param_7) goto LAB_0019878c;" (if "if") (parenthesized_expression "(0x98 < param_7)" (( "(") (binary_expression "0x98 < param_7" (number_literal "0x98") (< "<") (identifier "param_7")) () ")")) (goto_statement "goto LAB_0019878c;" (goto "goto") (statement_identifier "LAB_0019878c") (; ";"))) (if_statement "if (param_7 != 0x8e) goto LAB_001988ea;" (if "if") (parenthesized_expression "(param_7 != 0x8e)" (( "(") (binary_expression "param_7 != 0x8e" (identifier "param_7") (!= "!=") (number_literal "0x8e")) () ")")) (goto_statement "goto LAB_001988ea;" (goto "goto") (statement_identifier "LAB_001988ea") (; ";"))) (expression_statement "cVar3 = *(char *)((int)param_8 + 0x49);" (assignment_expression "cVar3 = *(char *)((int)param_8 + 0x49)" (identifier "cVar3") (= "=") (pointer_expression "*(char *)((int)param_8 + 0x49)" (* "*") (cast_expression "(char *)((int)param_8 + 0x49)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x49)" (( "(") (binary_expression "(int)param_8 + 0x49" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x49")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }" (else "else") (compound_statement "{\n      if (param_7 != 0x9c) goto LAB_001988ea;\nLAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);\n    }" ({ "{") (if_statement "if (param_7 != 0x9c) goto LAB_001988ea;" (if "if") (parenthesized_expression "(param_7 != 0x9c)" (( "(") (binary_expression "param_7 != 0x9c" (identifier "param_7") (!= "!=") (number_literal "0x9c")) () ")")) (goto_statement "goto LAB_001988ea;" (goto "goto") (statement_identifier "LAB_001988ea") (; ";"))) (labeled_statement "LAB_0019878c:\n      cVar3 = *(char *)((int)param_8 + 0x49);" (statement_identifier "LAB_0019878c") (: ":") (expression_statement "cVar3 = *(char *)((int)param_8 + 0x49);" (assignment_expression "cVar3 = *(char *)((int)param_8 + 0x49)" (identifier "cVar3") (= "=") (pointer_expression "*(char *)((int)param_8 + 0x49)" (* "*") (cast_expression "(char *)((int)param_8 + 0x49)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x49)" (( "(") (binary_expression "(int)param_8 + 0x49" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x49")) () ")"))))) (; ";"))) (} "}")))) (if_statement "if (cVar3 == '\0') {\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      cVar3 = FUN_0008ff10(param_8);\n      bVar1 = *(byte *)((int)param_8 + 0x2a);\n      if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }\n      if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }\n      local_38 = param_8;\n      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }\n    }" ({ "{") (expression_statement "cVar3 = FUN_0008ff10(param_8);" (assignment_expression "cVar3 = FUN_0008ff10(param_8)" (identifier "cVar3") (= "=") (call_expression "FUN_0008ff10(param_8)" (identifier "FUN_0008ff10") (argument_list "(param_8)" (( "(") (identifier "param_8") () ")")))) (; ";")) (expression_statement "bVar1 = *(byte *)((int)param_8 + 0x2a);" (assignment_expression "bVar1 = *(byte *)((int)param_8 + 0x2a)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)((int)param_8 + 0x2a)" (* "*") (cast_expression "(byte *)((int)param_8 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x2a)" (( "(") (binary_expression "(int)param_8 + 0x2a" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x2a")) () ")"))))) (; ";")) (if_statement "if (cVar3 == '\0') {\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }\n      else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        if ((bVar1 & 7) != 0) goto LAB_00198ff9;\nLAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;\nLAB_00199001:\n        uVar4 = extraout_ECX_00;\n        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;\n      }" ({ "{") (if_statement "if ((bVar1 & 7) != 0) goto LAB_00198ff9;" (if "if") (parenthesized_expression "((bVar1 & 7) != 0)" (( "(") (binary_expression "(bVar1 & 7) != 0" (parenthesized_expression "(bVar1 & 7)" (( "(") (binary_expression "bVar1 & 7" (identifier "bVar1") (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00198ff9;" (goto "goto") (statement_identifier "LAB_00198ff9") (; ";"))) (labeled_statement "LAB_00199108:\n        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;" (statement_identifier "LAB_00199108") (: ":") (if_statement "if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;" (if "if") (parenthesized_expression "((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0))" (( "(") (binary_expression "(param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)" (parenthesized_expression "(param_8[3] != 0)" (( "(") (binary_expression "param_8[3] != 0" (subscript_expression "param_8[3]" (identifier "param_8") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((int)param_8 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)param_8 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)((int)param_8 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)param_8 + 0x2b)" (* "*") (cast_expression "(byte *)((int)param_8 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x2b)" (( "(") (binary_expression "(int)param_8 + 0x2b" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_001987a0;" (goto "goto") (statement_identifier "LAB_001987a0") (; ";")))) (labeled_statement "LAB_00199001:\n        uVar4 = extraout_ECX_00;" (statement_identifier "LAB_00199001") (: ":") (expression_statement "uVar4 = extraout_ECX_00;" (assignment_expression "uVar4 = extraout_ECX_00" (identifier "uVar4") (= "=") (identifier "extraout_ECX_00")) (; ";"))) (if_statement "if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;" (if "if") (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (* "*") (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (( "(") (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" (* "*") (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" (( "(") (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" (& "&") (identifier "DAT_004522bf")) (+ "+") (identifier "unaff_EDI")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0019972d;" (goto "goto") (statement_identifier "LAB_0019972d") (; ";"))) (if_statement "if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')\n        goto LAB_001987a0;" (if "if") (parenthesized_expression "(*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" (* "*") (cast_expression "(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" (( "(") (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (* "*") (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (( "(") (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" (* "*") (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" (( "(") (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" (& "&") (identifier "DAT_004522bf")) (+ "+") (identifier "unaff_EDI")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x1a25")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_001987a0;" (goto "goto") (statement_identifier "LAB_001987a0") (; ";"))) (} "}")) (else_clause "else {\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }" (else "else") (compound_statement "{\n        if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }\n        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;\n      }" ({ "{") (if_statement "if ((bVar1 & 7) != 0) {\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }" (if "if") (parenthesized_expression "((bVar1 & 7) != 0)" (( "(") (binary_expression "(bVar1 & 7) != 0" (parenthesized_expression "(bVar1 & 7)" (( "(") (binary_expression "bVar1 & 7" (identifier "bVar1") (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;\n          goto LAB_00199001;\n        }" ({ "{") (labeled_statement "LAB_00198ff9:\n          if ((bVar1 & 7) != 4) goto LAB_001987a0;" (statement_identifier "LAB_00198ff9") (: ":") (if_statement "if ((bVar1 & 7) != 4) goto LAB_001987a0;" (if "if") (parenthesized_expression "((bVar1 & 7) != 4)" (( "(") (binary_expression "(bVar1 & 7) != 4" (parenthesized_expression "(bVar1 & 7)" (( "(") (binary_expression "bVar1 & 7" (identifier "bVar1") (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "4")) () ")")) (goto_statement "goto LAB_001987a0;" (goto "goto") (statement_identifier "LAB_001987a0") (; ";")))) (goto_statement "goto LAB_00199001;" (goto "goto") (statement_identifier "LAB_00199001") (; ";")) (} "}"))) (if_statement "if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;" (if "if") (parenthesized_expression "((*(byte *)(param_8[2] + 0x2c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(param_8[2] + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(param_8[2] + 0x2c) & 1)" (( "(") (binary_expression "*(byte *)(param_8[2] + 0x2c) & 1" (pointer_expression "*(byte *)(param_8[2] + 0x2c)" (* "*") (cast_expression "(byte *)(param_8[2] + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8[2] + 0x2c)" (( "(") (binary_expression "param_8[2] + 0x2c" (subscript_expression "param_8[2]" (identifier "param_8") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0x2c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00199108;" (goto "goto") (statement_identifier "LAB_00199108") (; ";"))) (} "}")))) (if_statement "if (*(int *)(extraout_ECX + 0x60) == 0) {\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }" (if "if") (parenthesized_expression "(*(int *)(extraout_ECX + 0x60) == 0)" (( "(") (binary_expression "*(int *)(extraout_ECX + 0x60) == 0" (pointer_expression "*(int *)(extraout_ECX + 0x60)" (* "*") (cast_expression "(int *)(extraout_ECX + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ECX + 0x60)" (( "(") (binary_expression "extraout_ECX + 0x60" (identifier "extraout_ECX") (+ "+") (number_literal "0x60")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        piVar9 = (int *)FUN_003ac4d0(0x54);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);\n        uVar12 = 0;\n        do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);\n        piVar9[0xb] = (int)(piVar9 + 0x11);\n        piVar9[0x14] = extraout_ECX;\n        *(int **)(extraout_ECX + 0x60) = piVar9;\n        piVar9[0xc] = 1;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0x3f800000;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = -1;\n        *(undefined1 *)(piVar9 + 0x13) = 0;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);\n      }" ({ "{") (expression_statement "piVar9 = (int *)FUN_003ac4d0(0x54);" (assignment_expression "piVar9 = (int *)FUN_003ac4d0(0x54)" (identifier "piVar9") (= "=") (cast_expression "(int *)FUN_003ac4d0(0x54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0(0x54)" (identifier "FUN_003ac4d0") (argument_list "(0x54)" (( "(") (number_literal "0x54") () ")"))))) (; ";")) (expression_statement "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" (* "*") (cast_expression "(byte *)(piVar9 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9 + 7)" (( "(") (binary_expression "piVar9 + 7" (identifier "piVar9") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" (* "*") (cast_expression "(byte *)(piVar9 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9 + 7)" (( "(") (binary_expression "piVar9 + 7" (identifier "piVar9") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[5] = -1;" (assignment_expression "piVar9[5] = -1" (subscript_expression "piVar9[5]" (identifier "piVar9") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar9[6] = -1;" (assignment_expression "piVar9[6] = -1" (subscript_expression "piVar9[6]" (identifier "piVar9") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar9[8] = 0;" (assignment_expression "piVar9[8] = 0" (subscript_expression "piVar9[8]" (identifier "piVar9") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[9] = 8;" (assignment_expression "piVar9[9] = 8" (subscript_expression "piVar9[9]" (identifier "piVar9") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "8")) (; ";")) (expression_statement "piVar9[10] = 0;" (assignment_expression "piVar9[10] = 0" (subscript_expression "piVar9[10]" (identifier "piVar9") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);" (assignment_expression "*piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13)" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (cast_expression "(int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13)" (( "(") (binary_expression ""N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13" (binary_expression ""N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI" (string_literal ""N4gold15General_options18Struct_fix_arm1176E"" (" """) (string_content "N4gold15General_options18Struct_fix_arm1176E") (" """)) (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "0x13")) () ")")))) (; ";")) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        } while (uVar12 < 0x1c);" (do "do") (compound_statement "{\n          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;\n          uVar12 = uVar12 + 4;\n        }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;" (assignment_expression "*(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0" (pointer_expression "*(undefined4 *)((int)piVar9 + uVar12 + 0x2c)" (* "*") (cast_expression "(undefined4 *)((int)piVar9 + uVar12 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar9 + uVar12 + 0x2c)" (( "(") (binary_expression "(int)piVar9 + uVar12 + 0x2c" (binary_expression "(int)piVar9 + uVar12" (cast_expression "(int)piVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar9")) (+ "+") (identifier "uVar12")) (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar12 = uVar12 + 4;" (assignment_expression "uVar12 = uVar12 + 4" (identifier "uVar12") (= "=") (binary_expression "uVar12 + 4" (identifier "uVar12") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar12 < 0x1c)" (( "(") (binary_expression "uVar12 < 0x1c" (identifier "uVar12") (< "<") (number_literal "0x1c")) () ")")) (; ";")) (expression_statement "piVar9[0xb] = (int)(piVar9 + 0x11);" (assignment_expression "piVar9[0xb] = (int)(piVar9 + 0x11)" (subscript_expression "piVar9[0xb]" (identifier "piVar9") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(int)(piVar9 + 0x11)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar9 + 0x11)" (( "(") (binary_expression "piVar9 + 0x11" (identifier "piVar9") (+ "+") (number_literal "0x11")) () ")")))) (; ";")) (expression_statement "piVar9[0x14] = extraout_ECX;" (assignment_expression "piVar9[0x14] = extraout_ECX" (subscript_expression "piVar9[0x14]" (identifier "piVar9") ([ "[") (number_literal "0x14") (] "]")) (= "=") (identifier "extraout_ECX")) (; ";")) (expression_statement "*(int **)(extraout_ECX + 0x60) = piVar9;" (assignment_expression "*(int **)(extraout_ECX + 0x60) = piVar9" (pointer_expression "*(int **)(extraout_ECX + 0x60)" (* "*") (cast_expression "(int **)(extraout_ECX + 0x60)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(extraout_ECX + 0x60)" (( "(") (binary_expression "extraout_ECX + 0x60" (identifier "extraout_ECX") (+ "+") (number_literal "0x60")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "piVar9[0xc] = 1;" (assignment_expression "piVar9[0xc] = 1" (subscript_expression "piVar9[0xc]" (identifier "piVar9") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar9[0xd] = 0;" (assignment_expression "piVar9[0xd] = 0" (subscript_expression "piVar9[0xd]" (identifier "piVar9") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[0xe] = 0;" (assignment_expression "piVar9[0xe] = 0" (subscript_expression "piVar9[0xe]" (identifier "piVar9") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[0xf] = 0x3f800000;" (assignment_expression "piVar9[0xf] = 0x3f800000" (subscript_expression "piVar9[0xf]" (identifier "piVar9") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "piVar9[0x10] = 0;" (assignment_expression "piVar9[0x10] = 0" (subscript_expression "piVar9[0x10]" (identifier "piVar9") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[0x11] = 0;" (assignment_expression "piVar9[0x11] = 0" (subscript_expression "piVar9[0x11]" (identifier "piVar9") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[0x12] = -1;" (assignment_expression "piVar9[0x12] = -1" (subscript_expression "piVar9[0x12]" (identifier "piVar9") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "*(undefined1 *)(piVar9 + 0x13) = 0;" (assignment_expression "*(undefined1 *)(piVar9 + 0x13) = 0" (pointer_expression "*(undefined1 *)(piVar9 + 0x13)" (* "*") (cast_expression "(undefined1 *)(piVar9 + 0x13)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9 + 0x13)" (( "(") (binary_expression "piVar9 + 0x13" (identifier "piVar9") (+ "+") (number_literal "0x13")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);" (call_expression "FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0)" (identifier "FUN_0027afd0") (argument_list "(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0)" (( "(") (identifier "uVar8") (, ",") (binary_expression "unaff_EDI + 0x2d8d0c" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d8d0c")) (, ",") (number_literal "1") (, ",") (number_literal "6") (, ",") (number_literal "0") (, ",") (identifier "piVar9") (, ",") (number_literal "7") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "local_38 = param_8;" (assignment_expression "local_38 = param_8" (identifier "local_38") (= "=") (identifier "param_8")) (; ";")) (if_statement "if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }" (if "if") (parenthesized_expression "((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1))" (( "(") (binary_expression "(*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)" (parenthesized_expression "(*(char *)((int)param_8 + 0x5d) == '\0')" (( "(") (binary_expression "*(char *)((int)param_8 + 0x5d) == '\0'" (pointer_expression "*(char *)((int)param_8 + 0x5d)" (* "*") (cast_expression "(char *)((int)param_8 + 0x5d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x5d)" (( "(") (binary_expression "(int)param_8 + 0x5d" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x5d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(param_8[6] == -1)" (( "(") (binary_expression "param_8[6] == -1" (subscript_expression "param_8[6]" (identifier "param_8") ([ "[") (number_literal "6") (] "]")) (== "==") (number_literal "-1")) () ")"))) () ")")) (compound_statement "{\n        FUN_00179a80();\n        *(undefined1 *)((int)local_38 + 0x5d) = 1;\n      }" ({ "{") (expression_statement "FUN_00179a80();" (call_expression "FUN_00179a80()" (identifier "FUN_00179a80") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined1 *)((int)local_38 + 0x5d) = 1;" (assignment_expression "*(undefined1 *)((int)local_38 + 0x5d) = 1" (pointer_expression "*(undefined1 *)((int)local_38 + 0x5d)" (* "*") (cast_expression "(undefined1 *)((int)local_38 + 0x5d)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_38 + 0x5d)" (( "(") (binary_expression "(int)local_38 + 0x5d" (cast_expression "(int)local_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_38")) (+ "+") (number_literal "0x5d")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}"))) (} "}")))) (labeled_statement "LAB_001987a0:\n  if ((*(byte *)(param_1 + 0x1e8) & 1) == 0) {\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }" (statement_identifier "LAB_001987a0") (: ":") (if_statement "if ((*(byte *)(param_1 + 0x1e8) & 1) == 0) {\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }" (if "if") (parenthesized_expression "((*(byte *)(param_1 + 0x1e8) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(param_1 + 0x1e8) & 1) == 0" (parenthesized_expression "(*(byte *)(param_1 + 0x1e8) & 1)" (( "(") (binary_expression "*(byte *)(param_1 + 0x1e8) & 1" (pointer_expression "*(byte *)(param_1 + 0x1e8)" (* "*") (cast_expression "(byte *)(param_1 + 0x1e8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1e8)" (( "(") (binary_expression "param_1 + 0x1e8" (identifier "param_1") (+ "+") (number_literal "0x1e8")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }\n  }" ({ "{") (if_statement "if (param_7 == 100) {\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" (if "if") (parenthesized_expression "(param_7 == 100)" (( "(") (binary_expression "param_7 == 100" (identifier "param_7") (== "==") (number_literal "100")) () ")")) (compound_statement "{\n      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;\n    }" ({ "{") (if_statement "if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;" (if "if") (parenthesized_expression "((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c)" (( "(") (binary_expression "(*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c" (parenthesized_expression "(*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c)" (( "(") (binary_expression "*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c" (binary_expression "*(byte *)((int)param_8 + 0x29) >> 2" (pointer_expression "*(byte *)((int)param_8 + 0x29)" (* "*") (cast_expression "(byte *)((int)param_8 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x29)" (( "(") (binary_expression "(int)param_8 + 0x29" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x29")) () ")")))) (>> ">>") (number_literal "2")) (& "&") (number_literal "0x3c")) () ")")) (!= "!=") (number_literal "0x3c")) () ")")) (goto_statement "goto LAB_00198a07;" (goto "goto") (statement_identifier "LAB_00198a07") (; ";"))) (} "}")) (else_clause "else if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" (else "else") (if_statement "if (param_7 < 0x65) {\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }\n    else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" (if "if") (parenthesized_expression "(param_7 < 0x65)" (( "(") (binary_expression "param_7 < 0x65" (identifier "param_7") (< "<") (number_literal "0x65")) () ")")) (compound_statement "{\n      if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;\n    }" ({ "{") (if_statement "if (param_7 == 10) {\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n      else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;" (if "if") (parenthesized_expression "(param_7 == 10)" (( "(") (binary_expression "param_7 == 10" (identifier "param_7") (== "==") (number_literal "10")) () ")")) (compound_statement "{\nLAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }" ({ "{") (labeled_statement "LAB_00198a07:\n        *(undefined1 *)((int)param_8 + 0x41) = 1;" (statement_identifier "LAB_00198a07") (: ":") (expression_statement "*(undefined1 *)((int)param_8 + 0x41) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x41) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x41)" (* "*") (cast_expression "(undefined1 *)((int)param_8 + 0x41)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x41)" (( "(") (binary_expression "(int)param_8 + 0x41" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x41")) () ")")))) (= "=") (number_literal "1")) (; ";"))) (} "}")) (else_clause "else if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;" (else "else") (if_statement "if (param_7 < 0xb) {\n        if (param_7 == 4) goto LAB_00198a07;\n      }\n      else if (param_7 - 0x3c < 2) goto LAB_00198a07;" (if "if") (parenthesized_expression "(param_7 < 0xb)" (( "(") (binary_expression "param_7 < 0xb" (identifier "param_7") (< "<") (number_literal "0xb")) () ")")) (compound_statement "{\n        if (param_7 == 4) goto LAB_00198a07;\n      }" ({ "{") (if_statement "if (param_7 == 4) goto LAB_00198a07;" (if "if") (parenthesized_expression "(param_7 == 4)" (( "(") (binary_expression "param_7 == 4" (identifier "param_7") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_00198a07;" (goto "goto") (statement_identifier "LAB_00198a07") (; ";"))) (} "}")) (else_clause "else if (param_7 - 0x3c < 2) goto LAB_00198a07;" (else "else") (if_statement "if (param_7 - 0x3c < 2) goto LAB_00198a07;" (if "if") (parenthesized_expression "(param_7 - 0x3c < 2)" (( "(") (binary_expression "param_7 - 0x3c < 2" (binary_expression "param_7 - 0x3c" (identifier "param_7") (- "-") (number_literal "0x3c")) (< "<") (number_literal "2")) () ")")) (goto_statement "goto LAB_00198a07;" (goto "goto") (statement_identifier "LAB_00198a07") (; ";"))))))) (} "}")) (else_clause "else if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" (else "else") (if_statement "if (param_7 < 0x8e) {\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }\n    else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" (if "if") (parenthesized_expression "(param_7 < 0x8e)" (( "(") (binary_expression "param_7 < 0x8e" (identifier "param_7") (< "<") (number_literal "0x8e")) () ")")) (compound_statement "{\n      if (0x8a < param_7) goto LAB_00198a07;\n      if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }\n    }" ({ "{") (if_statement "if (0x8a < param_7) goto LAB_00198a07;" (if "if") (parenthesized_expression "(0x8a < param_7)" (( "(") (binary_expression "0x8a < param_7" (number_literal "0x8a") (< "<") (identifier "param_7")) () ")")) (goto_statement "goto LAB_00198a07;" (goto "goto") (statement_identifier "LAB_00198a07") (; ";"))) (if_statement "if (param_7 == 0x85) {\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }" (if "if") (parenthesized_expression "(param_7 == 0x85)" (( "(") (binary_expression "param_7 == 0x85" (identifier "param_7") (== "==") (number_literal "0x85")) () ")")) (compound_statement "{\n        *(undefined1 *)((int)param_8 + 0x41) = 1;\n      }" ({ "{") (expression_statement "*(undefined1 *)((int)param_8 + 0x41) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x41) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x41)" (* "*") (cast_expression "(undefined1 *)((int)param_8 + 0x41)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x41)" (( "(") (binary_expression "(int)param_8 + 0x41" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x41")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")) (else_clause "else if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" (else "else") (if_statement "if (param_7 == 0xad) {\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" (if "if") (parenthesized_expression "(param_7 == 0xad)" (( "(") (binary_expression "param_7 == 0xad" (identifier "param_7") (== "==") (number_literal "0xad")) () ")")) (compound_statement "{\n      *(undefined1 *)((int)param_8 + 0x41) = 1;\n    }" ({ "{") (expression_statement "*(undefined1 *)((int)param_8 + 0x41) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x41) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x41)" (* "*") (cast_expression "(undefined1 *)((int)param_8 + 0x41)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x41)" (( "(") (binary_expression "(int)param_8 + 0x41" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x41")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))))))))) (} "}")))) (expression_statement "cVar3 = FUN_0008ff10(param_8);" (assignment_expression "cVar3 = FUN_0008ff10(param_8)" (identifier "cVar3") (= "=") (call_expression "FUN_0008ff10(param_8)" (identifier "FUN_0008ff10") (argument_list "(param_8)" (( "(") (identifier "param_8") () ")")))) (; ";")) (if_statement "if (cVar3 != '\0') {\n    uVar4 = extraout_ECX_01;\n    if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }\n    if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }\n  }" (if "if") (parenthesized_expression "(cVar3 != '\0')" (( "(") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    uVar4 = extraout_ECX_01;\n    if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }\n    if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }\n  }" ({ "{") (expression_statement "uVar4 = extraout_ECX_01;" (assignment_expression "uVar4 = extraout_ECX_01" (identifier "uVar4") (= "=") (identifier "extraout_ECX_01")) (; ";")) (if_statement "if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }" (if "if") (parenthesized_expression "((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1))" (( "(") (binary_expression "(*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)" (parenthesized_expression "(*(char *)((int)param_8 + 0x5d) == '\0')" (( "(") (binary_expression "*(char *)((int)param_8 + 0x5d) == '\0'" (pointer_expression "*(char *)((int)param_8 + 0x5d)" (* "*") (cast_expression "(char *)((int)param_8 + 0x5d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x5d)" (( "(") (binary_expression "(int)param_8 + 0x5d" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x5d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(param_8[6] == -1)" (( "(") (binary_expression "param_8[6] == -1" (subscript_expression "param_8[6]" (identifier "param_8") ([ "[") (number_literal "6") (] "]")) (== "==") (number_literal "-1")) () ")"))) () ")")) (compound_statement "{\n      iVar5 = *(int *)(extraout_ECX + 0x1c);\n      if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }\n      puVar10 = *(undefined4 **)(iVar5 + 0x38);\n      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;\n      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }\n      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }\n      iVar11 = *(int *)(iVar5 + 0x30);\n      iVar2 = *(int *)(iVar11 + 0xc);\n      iVar6 = iVar2 + 8;\n      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }\n      *(int *)(iVar11 + 0xc) = iVar6;\n      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;\n      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;\n      uVar8 = *(undefined4 *)(iVar5 + 0x2c);\n      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);\n      FUN_001cdb50(uVar8,iVar11,&local_38);\n      uVar4 = extraout_ECX_03;\n    }" ({ "{") (expression_statement "iVar5 = *(int *)(extraout_ECX + 0x1c);" (assignment_expression "iVar5 = *(int *)(extraout_ECX + 0x1c)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(extraout_ECX + 0x1c)" (* "*") (cast_expression "(int *)(extraout_ECX + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ECX + 0x1c)" (( "(") (binary_expression "extraout_ECX + 0x1c" (identifier "extraout_ECX") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar5 == 0) {\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_0017bb90();\n        piVar9 = (int *)FUN_003ac4d0(0x30);\n        *piVar9 = unaff_EDI + 0x4439c7;\n        *(int **)(extraout_ECX + 0x20) = piVar9;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[8] = 0;\n        piVar9[9] = 4;\n        piVar9[10] = 0;\n        piVar9[0xb] = unaff_EDI + 0x2b4e97;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);\n        iVar6 = *(int *)(extraout_ECX + 0x20);\n        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;\n        *(undefined4 *)(iVar6 + 0xc) = 0x10;\n        *(undefined4 *)(iVar6 + 0x10) = 0;\n        piVar9 = (int *)FUN_003ac4d0(0x50);\n        iVar5 = *(int *)(extraout_ECX + 0x20);\n        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;\n        piVar9[1] = 0;\n        piVar9[2] = 0;\n        piVar9[3] = 0;\n        piVar9[4] = 0;\n        piVar9[5] = -1;\n        piVar9[6] = -1;\n        piVar9[8] = 0;\n        piVar9[9] = 8;\n        piVar9[10] = 0;\n        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);\n        piVar9[0xc] = iVar5;\n        piVar9[0xd] = 0;\n        piVar9[0xe] = 0;\n        piVar9[0xf] = 0;\n        piVar9[0x10] = 0;\n        piVar9[0x11] = 0;\n        piVar9[0x12] = 0;\n        piVar9[0x13] = extraout_ECX;\n                    \n        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n        FUN_001cc9c0(puVar10,0x40,0);\n        puVar10[0xd] = 0;\n        puVar10[0xe] = 0;\n        puVar10[0xf] = 0;\n        piVar9[0xb] = (int)puVar10;\n        *puVar10 = &UNK_0044971f + unaff_EDI;\n                    \n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);\n        *(int **)(extraout_ECX + 0x1c) = piVar9;\n        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);\n        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));\n        iVar5 = *(int *)(extraout_ECX + 0x1c);\n        if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }\n      }" ({ "{") (expression_statement "FUN_0017bb90();" (call_expression "FUN_0017bb90()" (identifier "FUN_0017bb90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar9 = (int *)FUN_003ac4d0(0x30);" (assignment_expression "piVar9 = (int *)FUN_003ac4d0(0x30)" (identifier "piVar9") (= "=") (cast_expression "(int *)FUN_003ac4d0(0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0(0x30)" (identifier "FUN_003ac4d0") (argument_list "(0x30)" (( "(") (number_literal "0x30") () ")"))))) (; ";")) (expression_statement "*piVar9 = unaff_EDI + 0x4439c7;" (assignment_expression "*piVar9 = unaff_EDI + 0x4439c7" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (binary_expression "unaff_EDI + 0x4439c7" (identifier "unaff_EDI") (+ "+") (number_literal "0x4439c7"))) (; ";")) (expression_statement "*(int **)(extraout_ECX + 0x20) = piVar9;" (assignment_expression "*(int **)(extraout_ECX + 0x20) = piVar9" (pointer_expression "*(int **)(extraout_ECX + 0x20)" (* "*") (cast_expression "(int **)(extraout_ECX + 0x20)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(extraout_ECX + 0x20)" (( "(") (binary_expression "extraout_ECX + 0x20" (identifier "extraout_ECX") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[5] = -1;" (assignment_expression "piVar9[5] = -1" (subscript_expression "piVar9[5]" (identifier "piVar9") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar9[6] = -1;" (assignment_expression "piVar9[6] = -1" (subscript_expression "piVar9[6]" (identifier "piVar9") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" (* "*") (cast_expression "(byte *)(piVar9 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9 + 7)" (( "(") (binary_expression "piVar9 + 7" (identifier "piVar9") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" (* "*") (cast_expression "(byte *)(piVar9 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9 + 7)" (( "(") (binary_expression "piVar9 + 7" (identifier "piVar9") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "piVar9[8] = 0;" (assignment_expression "piVar9[8] = 0" (subscript_expression "piVar9[8]" (identifier "piVar9") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[9] = 4;" (assignment_expression "piVar9[9] = 4" (subscript_expression "piVar9[9]" (identifier "piVar9") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "4")) (; ";")) (expression_statement "piVar9[10] = 0;" (assignment_expression "piVar9[10] = 0" (subscript_expression "piVar9[10]" (identifier "piVar9") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[0xb] = unaff_EDI + 0x2b4e97;" (assignment_expression "piVar9[0xb] = unaff_EDI + 0x2b4e97" (subscript_expression "piVar9[0xb]" (identifier "piVar9") ([ "[") (number_literal "0xb") (] "]")) (= "=") (binary_expression "unaff_EDI + 0x2b4e97" (identifier "unaff_EDI") (+ "+") (number_literal "0x2b4e97"))) (; ";")) (expression_statement "FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);" (call_expression "FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0)" (identifier "FUN_0027afd0") (argument_list "(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0)" (( "(") (identifier "uVar8") (, ",") (binary_expression "unaff_EDI + 0x2b4f02" (identifier "unaff_EDI") (+ "+") (number_literal "0x2b4f02")) (, ",") (number_literal "1") (, ",") (number_literal "3") (, ",") (number_literal "0") (, ",") (identifier "piVar9") (, ",") (number_literal "0x16") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar6 = *(int *)(extraout_ECX + 0x20);" (assignment_expression "iVar6 = *(int *)(extraout_ECX + 0x20)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(extraout_ECX + 0x20)" (* "*") (cast_expression "(int *)(extraout_ECX + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ECX + 0x20)" (( "(") (binary_expression "extraout_ECX + 0x20" (identifier "extraout_ECX") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;" (if "if") (parenthesized_expression "((*(byte *)(iVar6 + 0x1c) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(iVar6 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar6 + 0x1c) & 2)" (( "(") (binary_expression "*(byte *)(iVar6 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar6 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar6 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x1c)" (( "(") (binary_expression "iVar6 + 0x1c" (identifier "iVar6") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001997f3;" (goto "goto") (statement_identifier "LAB_001997f3") (; ";"))) (expression_statement "*(undefined4 *)(iVar6 + 0xc) = 0x10;" (assignment_expression "*(undefined4 *)(iVar6 + 0xc) = 0x10" (pointer_expression "*(undefined4 *)(iVar6 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0x10")) (; ";")) (expression_statement "*(undefined4 *)(iVar6 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar6 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar6 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x10)" (( "(") (binary_expression "iVar6 + 0x10" (identifier "iVar6") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9 = (int *)FUN_003ac4d0(0x50);" (assignment_expression "piVar9 = (int *)FUN_003ac4d0(0x50)" (identifier "piVar9") (= "=") (cast_expression "(int *)FUN_003ac4d0(0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0(0x50)" (identifier "FUN_003ac4d0") (argument_list "(0x50)" (( "(") (number_literal "0x50") () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(extraout_ECX + 0x20);" (assignment_expression "iVar5 = *(int *)(extraout_ECX + 0x20)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(extraout_ECX + 0x20)" (* "*") (cast_expression "(int *)(extraout_ECX + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ECX + 0x20)" (( "(") (binary_expression "extraout_ECX + 0x20" (identifier "extraout_ECX") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" (* "*") (cast_expression "(byte *)(piVar9 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9 + 7)" (( "(") (binary_expression "piVar9 + 7" (identifier "piVar9") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(piVar9 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar9 + 7)" (* "*") (cast_expression "(byte *)(piVar9 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9 + 7)" (( "(") (binary_expression "piVar9 + 7" (identifier "piVar9") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[2] = 0;" (assignment_expression "piVar9[2] = 0" (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[3] = 0;" (assignment_expression "piVar9[3] = 0" (subscript_expression "piVar9[3]" (identifier "piVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[4] = 0;" (assignment_expression "piVar9[4] = 0" (subscript_expression "piVar9[4]" (identifier "piVar9") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[5] = -1;" (assignment_expression "piVar9[5] = -1" (subscript_expression "piVar9[5]" (identifier "piVar9") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar9[6] = -1;" (assignment_expression "piVar9[6] = -1" (subscript_expression "piVar9[6]" (identifier "piVar9") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar9[8] = 0;" (assignment_expression "piVar9[8] = 0" (subscript_expression "piVar9[8]" (identifier "piVar9") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[9] = 8;" (assignment_expression "piVar9[9] = 8" (subscript_expression "piVar9[9]" (identifier "piVar9") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "8")) (; ";")) (expression_statement "piVar9[10] = 0;" (assignment_expression "piVar9[10] = 0" (subscript_expression "piVar9[10]" (identifier "piVar9") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);" (assignment_expression "*piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27)" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (cast_expression "(int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27)" (( "(") (binary_expression ""N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27" (binary_expression ""N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI" (string_literal ""N4gold15General_options24Struct_no_fatal_warningsE"" (" """) (string_content "N4gold15General_options24Struct_no_fatal_warningsE") (" """)) (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "0x27")) () ")")))) (; ";")) (expression_statement "piVar9[0xc] = iVar5;" (assignment_expression "piVar9[0xc] = iVar5" (subscript_expression "piVar9[0xc]" (identifier "piVar9") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "piVar9[0xd] = 0;" (assignment_expression "piVar9[0xd] = 0" (subscript_expression "piVar9[0xd]" (identifier "piVar9") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[0xe] = 0;" (assignment_expression "piVar9[0xe] = 0" (subscript_expression "piVar9[0xe]" (identifier "piVar9") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[0xf] = 0;" (assignment_expression "piVar9[0xf] = 0" (subscript_expression "piVar9[0xf]" (identifier "piVar9") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[0x10] = 0;" (assignment_expression "piVar9[0x10] = 0" (subscript_expression "piVar9[0x10]" (identifier "piVar9") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[0x11] = 0;" (assignment_expression "piVar9[0x11] = 0" (subscript_expression "piVar9[0x11]" (identifier "piVar9") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[0x12] = 0;" (assignment_expression "piVar9[0x12] = 0" (subscript_expression "piVar9[0x12]" (identifier "piVar9") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[0x13] = extraout_ECX;" (assignment_expression "piVar9[0x13] = extraout_ECX" (subscript_expression "piVar9[0x13]" (identifier "piVar9") ([ "[") (number_literal "0x13") (] "]")) (= "=") (identifier "extraout_ECX")) (; ";")) (expression_statement "puVar10 = (undefined4 *)FUN_003ac4d0(0x40);" (assignment_expression "puVar10 = (undefined4 *)FUN_003ac4d0(0x40)" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)FUN_003ac4d0(0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0(0x40)" (identifier "FUN_003ac4d0") (argument_list "(0x40)" (( "(") (number_literal "0x40") () ")"))))) (; ";")) (expression_statement "FUN_001cc9c0(puVar10,0x40,0);" (call_expression "FUN_001cc9c0(puVar10,0x40,0)" (identifier "FUN_001cc9c0") (argument_list "(puVar10,0x40,0)" (( "(") (identifier "puVar10") (, ",") (number_literal "0x40") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar10[0xd] = 0;" (assignment_expression "puVar10[0xd] = 0" (subscript_expression "puVar10[0xd]" (identifier "puVar10") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar10[0xe] = 0;" (assignment_expression "puVar10[0xe] = 0" (subscript_expression "puVar10[0xe]" (identifier "puVar10") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar10[0xf] = 0;" (assignment_expression "puVar10[0xf] = 0" (subscript_expression "puVar10[0xf]" (identifier "puVar10") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[0xb] = (int)puVar10;" (assignment_expression "piVar9[0xb] = (int)puVar10" (subscript_expression "piVar9[0xb]" (identifier "piVar9") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10"))) (; ";")) (expression_statement "*puVar10 = &UNK_0044971f + unaff_EDI;" (assignment_expression "*puVar10 = &UNK_0044971f + unaff_EDI" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (= "=") (binary_expression "&UNK_0044971f + unaff_EDI" (pointer_expression "&UNK_0044971f" (& "&") (identifier "UNK_0044971f")) (+ "+") (identifier "unaff_EDI"))) (; ";")) (expression_statement "FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);" (call_expression "FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0)" (identifier "FUN_0027afd0") (argument_list "(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0)" (( "(") (identifier "uVar8") (, ",") (binary_expression "unaff_EDI + 0x2b4f79" (identifier "unaff_EDI") (+ "+") (number_literal "0x2b4f79")) (, ",") (number_literal "9") (, ",") (number_literal "2") (, ",") (number_literal "0") (, ",") (identifier "puVar10") (, ",") (number_literal "5") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "*(int **)(extraout_ECX + 0x1c) = piVar9;" (assignment_expression "*(int **)(extraout_ECX + 0x1c) = piVar9" (pointer_expression "*(int **)(extraout_ECX + 0x1c)" (* "*") (cast_expression "(int **)(extraout_ECX + 0x1c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(extraout_ECX + 0x1c)" (( "(") (binary_expression "extraout_ECX + 0x1c" (identifier "extraout_ECX") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "piVar9")) (; ";")) (expression_statement "FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);" (call_expression "FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0)" (identifier "FUN_0027afd0") (argument_list "(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0)" (( "(") (identifier "uVar8") (, ",") (binary_expression "unaff_EDI + 0x2b7b9f" (identifier "unaff_EDI") (+ "+") (number_literal "0x2b7b9f")) (, ",") (number_literal "1") (, ",") (number_literal "6") (, ",") (number_literal "0") (, ",") (identifier "piVar9") (, ",") (number_literal "7") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));" (call_expression "FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20))" (identifier "FUN_001cca40") (argument_list "(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),\n                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20))" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20)" (* "*") (cast_expression "(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20)" (( "(") (binary_expression "*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20" (pointer_expression "*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c)" (* "*") (cast_expression "(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(extraout_ECX + 0x1c) + 0x2c)" (( "(") (binary_expression "*(int *)(extraout_ECX + 0x1c) + 0x2c" (pointer_expression "*(int *)(extraout_ECX + 0x1c)" (* "*") (cast_expression "(int *)(extraout_ECX + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ECX + 0x1c)" (( "(") (binary_expression "extraout_ECX + 0x1c" (identifier "extraout_ECX") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "0x20")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20)" (* "*") (cast_expression "(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(extraout_ECX + 0x1c) + 0x20)" (( "(") (binary_expression "*(int *)(extraout_ECX + 0x1c) + 0x20" (pointer_expression "*(int *)(extraout_ECX + 0x1c)" (* "*") (cast_expression "(int *)(extraout_ECX + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ECX + 0x1c)" (( "(") (binary_expression "extraout_ECX + 0x1c" (identifier "extraout_ECX") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x20")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar5 = *(int *)(extraout_ECX + 0x1c);" (assignment_expression "iVar5 = *(int *)(extraout_ECX + 0x1c)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(extraout_ECX + 0x1c)" (* "*") (cast_expression "(int *)(extraout_ECX + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(extraout_ECX + 0x1c)" (( "(") (binary_expression "extraout_ECX + 0x1c" (identifier "extraout_ECX") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (param_8[6] != -1) {\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }" (if "if") (parenthesized_expression "(param_8[6] != -1)" (( "(") (binary_expression "param_8[6] != -1" (subscript_expression "param_8[6]" (identifier "param_8") ([ "[") (number_literal "6") (] "]")) (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n                    \n          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);\n        }" ({ "{") (expression_statement "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);" (call_expression "FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06)" (identifier "FUN_002446e0") (argument_list "(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06)" (( "(") (binary_expression "unaff_EDI + 0x2d8ce1" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d8ce1")) (, ",") (number_literal "0x1cf4") (, ",") (binary_expression "unaff_EDI + 0x2e1fd7" (identifier "unaff_EDI") (+ "+") (number_literal "0x2e1fd7")) (, ",") (identifier "extraout_ECX_06") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar10 = *(undefined4 **)(iVar5 + 0x38);" (assignment_expression "puVar10 = *(undefined4 **)(iVar5 + 0x38)" (identifier "puVar10") (= "=") (pointer_expression "*(undefined4 **)(iVar5 + 0x38)" (* "*") (cast_expression "(undefined4 **)(iVar5 + 0x38)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;" (assignment_expression "param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10" (subscript_expression "param_8[6]" (identifier "param_8") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "(((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10" (parenthesized_expression "(((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2)" (( "(") (binary_expression "((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2" (parenthesized_expression "((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2)" (( "(") (binary_expression "(int)puVar10 - *(int *)(iVar5 + 0x34) >> 2" (binary_expression "(int)puVar10 - *(int *)(iVar5 + 0x34)" (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10")) (- "-") (pointer_expression "*(int *)(iVar5 + 0x34)" (* "*") (cast_expression "(int *)(iVar5 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x34)" (( "(") (binary_expression "iVar5 + 0x34" (identifier "iVar5") (+ "+") (number_literal "0x34")) () ")"))))) (>> ">>") (number_literal "2")) () ")")) (+ "+") (number_literal "2")) () ")")) (* "*") (number_literal "0x10"))) (; ";")) (if_statement "if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {\n        FUN_00177b60();\n      }\n      else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }" (if "if") (parenthesized_expression "(puVar10 == *(undefined4 **)(iVar5 + 0x3c))" (( "(") (binary_expression "puVar10 == *(undefined4 **)(iVar5 + 0x3c)" (identifier "puVar10") (== "==") (pointer_expression "*(undefined4 **)(iVar5 + 0x3c)" (* "*") (cast_expression "(undefined4 **)(iVar5 + 0x3c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x3c)" (( "(") (binary_expression "iVar5 + 0x3c" (identifier "iVar5") (+ "+") (number_literal "0x3c")) () ")"))))) () ")")) (compound_statement "{\n        FUN_00177b60();\n      }" ({ "{") (expression_statement "FUN_00177b60();" (call_expression "FUN_00177b60()" (identifier "FUN_00177b60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }" (else "else") (compound_statement "{\n        *puVar10 = param_8;\n        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;\n      }" ({ "{") (expression_statement "*puVar10 = param_8;" (assignment_expression "*puVar10 = param_8" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (= "=") (identifier "param_8")) (; ";")) (expression_statement "*(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;" (assignment_expression "*(undefined4 **)(iVar5 + 0x38) = puVar10 + 1" (pointer_expression "*(undefined4 **)(iVar5 + 0x38)" (* "*") (cast_expression "(undefined4 **)(iVar5 + 0x38)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 0x38)" (( "(") (binary_expression "iVar5 + 0x38" (identifier "iVar5") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (binary_expression "puVar10 + 1" (identifier "puVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (if_statement "if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }" (if "if") (parenthesized_expression "((param_7 == 100 || param_7 == 4) || (param_7 == 0x85))" (( "(") (binary_expression "(param_7 == 100 || param_7 == 4) || (param_7 == 0x85)" (parenthesized_expression "(param_7 == 100 || param_7 == 4)" (( "(") (binary_expression "param_7 == 100 || param_7 == 4" (binary_expression "param_7 == 100" (identifier "param_7") (== "==") (number_literal "100")) (|| "||") (binary_expression "param_7 == 4" (identifier "param_7") (== "==") (number_literal "4"))) () ")")) (|| "||") (parenthesized_expression "(param_7 == 0x85)" (( "(") (binary_expression "param_7 == 0x85" (identifier "param_7") (== "==") (number_literal "0x85")) () ")"))) () ")")) (compound_statement "{\n        if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }\n      }" ({ "{") (if_statement "if (param_7 == 4) {\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }\n        else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }" (if "if") (parenthesized_expression "(param_7 == 4)" (( "(") (binary_expression "param_7 == 4" (identifier "param_7") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n          *(undefined1 *)((int)param_8 + 0x5e) = 1;\n        }" ({ "{") (expression_statement "*(undefined1 *)((int)param_8 + 0x5e) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x5e) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x5e)" (* "*") (cast_expression "(undefined1 *)((int)param_8 + 0x5e)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x5e)" (( "(") (binary_expression "(int)param_8 + 0x5e" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x5e")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }" (else "else") (compound_statement "{\n          *(undefined1 *)((int)param_8 + 0x5f) = 1;\n        }" ({ "{") (expression_statement "*(undefined1 *)((int)param_8 + 0x5f) = 1;" (assignment_expression "*(undefined1 *)((int)param_8 + 0x5f) = 1" (pointer_expression "*(undefined1 *)((int)param_8 + 0x5f)" (* "*") (cast_expression "(undefined1 *)((int)param_8 + 0x5f)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x5f)" (( "(") (binary_expression "(int)param_8 + 0x5f" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x5f")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar11 = *(int *)(iVar5 + 0x30);" (assignment_expression "iVar11 = *(int *)(iVar5 + 0x30)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(iVar5 + 0x30)" (* "*") (cast_expression "(int *)(iVar5 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x30)" (( "(") (binary_expression "iVar5 + 0x30" (identifier "iVar5") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(iVar11 + 0xc);" (assignment_expression "iVar2 = *(int *)(iVar11 + 0xc)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar11 + 0xc)" (* "*") (cast_expression "(int *)(iVar11 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xc)" (( "(") (binary_expression "iVar11 + 0xc" (identifier "iVar11") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar6 = iVar2 + 8;" (assignment_expression "iVar6 = iVar2 + 8" (identifier "iVar6") (= "=") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8"))) (; ";")) (if_statement "if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }" (if "if") (parenthesized_expression "((*(byte *)(iVar11 + 0x1c) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(iVar11 + 0x1c) & 2) != 0" (parenthesized_expression "(*(byte *)(iVar11 + 0x1c) & 2)" (( "(") (binary_expression "*(byte *)(iVar11 + 0x1c) & 2" (pointer_expression "*(byte *)(iVar11 + 0x1c)" (* "*") (cast_expression "(byte *)(iVar11 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x1c)" (( "(") (binary_expression "iVar11 + 0x1c" (identifier "iVar11") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);\n      }" ({ "{") (labeled_statement "LAB_001997f3:\n                    \n        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);" (statement_identifier "LAB_001997f3") (: ":") (expression_statement "FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);" (call_expression "FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6)" (identifier "FUN_002446e0") (argument_list "(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6)" (( "(") (binary_expression "unaff_EDI + 0x2b4e54" (identifier "unaff_EDI") (+ "+") (number_literal "0x2b4e54")) (, ",") (number_literal "0x231") (, ",") (binary_expression "unaff_EDI + 0x2e21d7" (identifier "unaff_EDI") (+ "+") (number_literal "0x2e21d7")) (, ",") (identifier "iVar6") () ")"))) (; ";"))) (} "}"))) (expression_statement "*(int *)(iVar11 + 0xc) = iVar6;" (assignment_expression "*(int *)(iVar11 + 0xc) = iVar6" (pointer_expression "*(int *)(iVar11 + 0xc)" (* "*") (cast_expression "(int *)(iVar11 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0xc)" (( "(") (binary_expression "iVar11 + 0xc" (identifier "iVar11") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;" (assignment_expression "*(int *)(iVar11 + 0x10) = iVar6 >> 0x1f" (pointer_expression "*(int *)(iVar11 + 0x10)" (* "*") (cast_expression "(int *)(iVar11 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x10)" (( "(") (binary_expression "iVar11 + 0x10" (identifier "iVar11") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "iVar6 >> 0x1f" (identifier "iVar6") (>> ">>") (number_literal "0x1f"))) (; ";")) (expression_statement "*(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;" (assignment_expression "*(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40" (pointer_expression "*(byte *)((int)param_8 + 0x2a)" (* "*") (cast_expression "(byte *)((int)param_8 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x2a)" (( "(") (binary_expression "(int)param_8 + 0x2a" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x2a")) () ")")))) (= "=") (binary_expression "*(byte *)((int)param_8 + 0x2a) | 0x40" (pointer_expression "*(byte *)((int)param_8 + 0x2a)" (* "*") (cast_expression "(byte *)((int)param_8 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x2a)" (( "(") (binary_expression "(int)param_8 + 0x2a" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x2a")) () ")")))) (| "|") (number_literal "0x40"))) (; ";")) (expression_statement "uVar8 = *(undefined4 *)(iVar5 + 0x2c);" (assignment_expression "uVar8 = *(undefined4 *)(iVar5 + 0x2c)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(iVar5 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(iVar5 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x2c)" (( "(") (binary_expression "iVar5 + 0x2c" (identifier "iVar5") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);" (call_expression "FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0)" (identifier "FUN_002d7e30") (argument_list "(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) (, ",") (identifier "param_8") (, ",") (number_literal "0x7f") (, ",") (identifier "iVar11") (, ",") (identifier "iVar2") (, ",") (binary_expression "iVar2 >> 0x1f" (identifier "iVar2") (>> ">>") (number_literal "0x1f")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "FUN_001cdb50(uVar8,iVar11,&local_38);" (call_expression "FUN_001cdb50(uVar8,iVar11,&local_38)" (identifier "FUN_001cdb50") (argument_list "(uVar8,iVar11,&local_38)" (( "(") (identifier "uVar8") (, ",") (identifier "iVar11") (, ",") (pointer_expression "&local_38" (& "&") (identifier "local_38")) () ")"))) (; ";")) (expression_statement "uVar4 = extraout_ECX_03;" (assignment_expression "uVar4 = extraout_ECX_03" (identifier "uVar4") (= "=") (identifier "extraout_ECX_03")) (; ";")) (} "}"))) (if_statement "if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }" (if "if") (parenthesized_expression "(((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0))" (( "(") (binary_expression "((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)" (parenthesized_expression "((*(byte *)((int)param_8 + 0x2a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((int)param_8 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)param_8 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)param_8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)param_8 + 0x2a)" (* "*") (cast_expression "(byte *)((int)param_8 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x2a)" (( "(") (binary_expression "(int)param_8 + 0x2a" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(param_8[2] + 0x2c) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(param_8[2] + 0x2c) & 1) != 0" (parenthesized_expression "(*(byte *)(param_8[2] + 0x2c) & 1)" (( "(") (binary_expression "*(byte *)(param_8[2] + 0x2c) & 1" (pointer_expression "*(byte *)(param_8[2] + 0x2c)" (* "*") (cast_expression "(byte *)(param_8[2] + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8[2] + 0x2c)" (( "(") (binary_expression "param_8[2] + 0x2c" (subscript_expression "param_8[2]" (identifier "param_8") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0x2c")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;\n      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }\n    }" ({ "{") (if_statement "if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;" (if "if") (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (* "*") (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (( "(") (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" (* "*") (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" (( "(") (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" (& "&") (identifier "DAT_004522bf")) (+ "+") (identifier "unaff_EDI")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0019972d;" (goto "goto") (statement_identifier "LAB_0019972d") (; ";"))) (if_statement "if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }" (if "if") (parenthesized_expression "((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0'))" (( "(") (binary_expression "(*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&\n         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')" (parenthesized_expression "(*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" (* "*") (cast_expression "(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" (( "(") (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (* "*") (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (( "(") (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" (* "*") (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" (( "(") (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" (& "&") (identifier "DAT_004522bf")) (+ "+") (identifier "unaff_EDI")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x1a25")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')" (( "(") (comma_expression "FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0'" (call_expression "FUN_0008feb0(param_8)" (identifier "FUN_0008feb0") (argument_list "(param_8)" (( "(") (identifier "param_8") () ")"))) (, ",") (binary_expression "*(char *)(param_8 + 0x14) != '\0'" (pointer_expression "*(char *)(param_8 + 0x14)" (* "*") (cast_expression "(char *)(param_8 + 0x14)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 0x14)" (( "(") (binary_expression "param_8 + 0x14" (identifier "param_8") (+ "+") (number_literal "0x14")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n        bVar1 = *(byte *)((int)param_8 + 0x29);\n        if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }\n      }" ({ "{") (expression_statement "bVar1 = *(byte *)((int)param_8 + 0x29);" (assignment_expression "bVar1 = *(byte *)((int)param_8 + 0x29)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)((int)param_8 + 0x29)" (* "*") (cast_expression "(byte *)((int)param_8 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x29)" (( "(") (binary_expression "(int)param_8 + 0x29" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x29")) () ")"))))) (; ";")) (if_statement "if ((bVar1 >> 2 & 0x3c) == 0x3c) {\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }\n        else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }" (if "if") (parenthesized_expression "((bVar1 >> 2 & 0x3c) == 0x3c)" (( "(") (binary_expression "(bVar1 >> 2 & 0x3c) == 0x3c" (parenthesized_expression "(bVar1 >> 2 & 0x3c)" (( "(") (binary_expression "bVar1 >> 2 & 0x3c" (binary_expression "bVar1 >> 2" (identifier "bVar1") (>> ">>") (number_literal "2")) (& "&") (number_literal "0x3c")) () ")")) (== "==") (number_literal "0x3c")) () ")")) (compound_statement "{\n          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;\n        }" ({ "{") (expression_statement "*(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;" (assignment_expression "*(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8" (pointer_expression "*(byte *)((int)param_8 + 0x29)" (* "*") (cast_expression "(byte *)((int)param_8 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x29)" (( "(") (binary_expression "(int)param_8 + 0x29" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x29")) () ")")))) (= "=") (binary_expression "bVar1 & 3 | 0xf8" (binary_expression "bVar1 & 3" (identifier "bVar1") (& "&") (number_literal "3")) (| "|") (number_literal "0xf8"))) (; ";")) (} "}")) (else_clause "else {\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }" (else "else") (compound_statement "{\n          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;\n        }" ({ "{") (expression_statement "*(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;" (assignment_expression "*(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3" (pointer_expression "*(byte *)((int)param_8 + 0x29)" (* "*") (cast_expression "(byte *)((int)param_8 + 0x29)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_8 + 0x29)" (( "(") (binary_expression "(int)param_8 + 0x29" (cast_expression "(int)param_8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_8")) (+ "+") (number_literal "0x29")) () ")")))) (= "=") (binary_expression "(byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3" (call_expression "(byte)((bVar1 >> 2 & 0x30 | 2) << 2)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((bVar1 >> 2 & 0x30 | 2) << 2)" (( "(") (binary_expression "(bVar1 >> 2 & 0x30 | 2) << 2" (parenthesized_expression "(bVar1 >> 2 & 0x30 | 2)" (( "(") (binary_expression "bVar1 >> 2 & 0x30 | 2" (binary_expression "bVar1 >> 2 & 0x30" (binary_expression "bVar1 >> 2" (identifier "bVar1") (>> ">>") (number_literal "2")) (& "&") (number_literal "0x30")) (| "|") (number_literal "2")) () ")")) (<< "<<") (number_literal "2")) () ")"))) (| "|") (binary_expression "bVar1 & 3" (identifier "bVar1") (& "&") (number_literal "3")))) (; ";")) (} "}")))) (} "}"))) (} "}"))) (} "}"))) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_7 - 1 < 0xf9) {\n    iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);\n  }" (if "if") (parenthesized_expression "(param_7 - 1 < 0xf9)" (( "(") (binary_expression "param_7 - 1 < 0xf9" (binary_expression "param_7 - 1" (identifier "param_7") (- "-") (number_literal "1")) (< "<") (number_literal "0xf9")) () ")")) (compound_statement "{\n    iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);\n  }" ({ "{") (expression_statement "iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);" (assignment_expression "iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7)" (identifier "iVar5") (= "=") (cast_expression "(int)*(char *)(unaff_EDI + 0x2e0396 + param_7)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(char *)(unaff_EDI + 0x2e0396 + param_7)" (* "*") (cast_expression "(char *)(unaff_EDI + 0x2e0396 + param_7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x2e0396 + param_7)" (( "(") (binary_expression "unaff_EDI + 0x2e0396 + param_7" (binary_expression "unaff_EDI + 0x2e0396" (identifier "unaff_EDI") (+ "+") (number_literal "0x2e0396")) (+ "+") (identifier "param_7")) () ")")))))) (; ";")) (} "}"))) (expression_statement "cVar3 = FUN_00071bb0(param_8,iVar5);" (assignment_expression "cVar3 = FUN_00071bb0(param_8,iVar5)" (identifier "cVar3") (= "=") (call_expression "FUN_00071bb0(param_8,iVar5)" (identifier "FUN_00071bb0") (argument_list "(param_8,iVar5)" (( "(") (identifier "param_8") (, ",") (identifier "iVar5") () ")")))) (; ";")) (expression_statement "uVar4 = extraout_ECX_02;" (assignment_expression "uVar4 = extraout_ECX_02" (identifier "uVar4") (= "=") (identifier "extraout_ECX_02")) (; ";")) (if_statement "if (cVar3 != '\0') {\n    cVar3 = FUN_00103300(param_8);\n    if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }\n  }" (if "if") (parenthesized_expression "(cVar3 != '\0')" (( "(") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    cVar3 = FUN_00103300(param_8);\n    if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }\n  }" ({ "{") (expression_statement "cVar3 = FUN_00103300(param_8);" (assignment_expression "cVar3 = FUN_00103300(param_8)" (identifier "cVar3") (= "=") (call_expression "FUN_00103300(param_8)" (identifier "FUN_00103300") (argument_list "(param_8)" (( "(") (identifier "param_8") () ")")))) (; ";")) (if_statement "if (cVar3 == '\0') {\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }\n    else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      uVar8 = *param_8;\n      uVar7 = gettext(unaff_EDI + 0x2d9153);\n      FUN_0023b810(uVar7,uVar8);\n      uVar4 = extraout_ECX_04;\n    }" ({ "{") (expression_statement "uVar8 = *param_8;" (assignment_expression "uVar8 = *param_8" (identifier "uVar8") (= "=") (pointer_expression "*param_8" (* "*") (identifier "param_8"))) (; ";")) (expression_statement "uVar7 = gettext(unaff_EDI + 0x2d9153);" (assignment_expression "uVar7 = gettext(unaff_EDI + 0x2d9153)" (identifier "uVar7") (= "=") (call_expression "gettext(unaff_EDI + 0x2d9153)" (identifier "gettext") (argument_list "(unaff_EDI + 0x2d9153)" (( "(") (binary_expression "unaff_EDI + 0x2d9153" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d9153")) () ")")))) (; ";")) (expression_statement "FUN_0023b810(uVar7,uVar8);" (call_expression "FUN_0023b810(uVar7,uVar8)" (identifier "FUN_0023b810") (argument_list "(uVar7,uVar8)" (( "(") (identifier "uVar7") (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "uVar4 = extraout_ECX_04;" (assignment_expression "uVar4 = extraout_ECX_04" (identifier "uVar4") (= "=") (identifier "extraout_ECX_04")) (; ";")) (} "}")) (else_clause "else {\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }" (else "else") (compound_statement "{\n      uVar8 = FUN_00198320();\n      uVar4 = FUN_001771a0();\n      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);\n      uVar4 = extraout_ECX_05;\n    }" ({ "{") (expression_statement "uVar8 = FUN_00198320();" (assignment_expression "uVar8 = FUN_00198320()" (identifier "uVar8") (= "=") (call_expression "FUN_00198320()" (identifier "FUN_00198320") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar4 = FUN_001771a0();" (assignment_expression "uVar4 = FUN_001771a0()" (identifier "uVar4") (= "=") (call_expression "FUN_001771a0()" (identifier "FUN_001771a0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8);" (call_expression "FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8)" (identifier "FUN_0022b910") (argument_list "(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0\n                   ,0,uVar8)" (( "(") (binary_expression "extraout_ECX + 0x2c" (identifier "extraout_ECX") (+ "+") (number_literal "0x2c")) (, ",") (identifier "uVar14") (, ",") (identifier "uVar4") (, ",") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_7") (, ",") (identifier "uVar7") (, ",") (identifier "local_68") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "uVar4 = extraout_ECX_05;" (assignment_expression "uVar4 = extraout_ECX_05" (identifier "uVar4") (= "=") (identifier "extraout_ECX_05")) (; ";")) (} "}")))) (} "}"))) (if_statement "if (param_7 - 9 < 0xf1) {\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();\n    return;\n  }" (if "if") (parenthesized_expression "(param_7 - 9 < 0xf1)" (( "(") (binary_expression "param_7 - 9 < 0xf1" (binary_expression "param_7 - 9" (identifier "param_7") (- "-") (number_literal "9")) (< "<") (number_literal "0xf1")) () ")")) (compound_statement "{\n                    \n                    \n    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();\n    return;\n  }" ({ "{") (expression_statement "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();" (call_expression "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))()" (parenthesized_expression "(*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))" (( "(") (pointer_expression "*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI)" (* "*") (cast_expression "(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI)" (( "(") (binary_expression "&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI" (binary_expression "&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4)" (pointer_expression "&UNK_00451af7" (& "&") (identifier "UNK_00451af7")) (+ "+") (pointer_expression "*(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4)" (( "(") (binary_expression "unaff_EDI + 0x2dc35b + (param_7 - 9) * 4" (binary_expression "unaff_EDI + 0x2dc35b" (identifier "unaff_EDI") (+ "+") (number_literal "0x2dc35b")) (+ "+") (binary_expression "(param_7 - 9) * 4" (parenthesized_expression "(param_7 - 9)" (( "(") (binary_expression "param_7 - 9" (identifier "param_7") (- "-") (number_literal "9")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (+ "+") (identifier "unaff_EDI")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {\nLAB_0019972d:\n                    \n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);\n  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (* "*") (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (( "(") (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" (* "*") (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" (( "(") (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" (& "&") (identifier "DAT_004522bf")) (+ "+") (identifier "unaff_EDI")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0019972d:\n                    \n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);\n  }" ({ "{") (labeled_statement "LAB_0019972d:\n                    \n    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);" (statement_identifier "LAB_0019972d") (: ":") (expression_statement "FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);" (call_expression "FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4)" (identifier "FUN_002446e0") (argument_list "(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4)" (( "(") (binary_expression "unaff_EDI + 0x2afd64" (identifier "unaff_EDI") (+ "+") (number_literal "0x2afd64")) (, ",") (number_literal "0x5c") (, ",") (binary_expression "unaff_EDI + 0x2e274f" (identifier "unaff_EDI") (+ "+") (number_literal "0x2e274f")) (, ",") (identifier "uVar4") () ")"))) (; ";"))) (} "}"))) (if_statement "if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {\n    return;\n  }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0'" (pointer_expression "*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" (* "*") (cast_expression "(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25)" (( "(") (binary_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25" (pointer_expression "*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (* "*") (cast_expression "(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(&DAT_004522bf + unaff_EDI) + 8)" (( "(") (binary_expression "*(int *)(&DAT_004522bf + unaff_EDI) + 8" (pointer_expression "*(int *)(&DAT_004522bf + unaff_EDI)" (* "*") (cast_expression "(int *)(&DAT_004522bf + unaff_EDI)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_004522bf + unaff_EDI)" (( "(") (binary_expression "&DAT_004522bf + unaff_EDI" (pointer_expression "&DAT_004522bf" (& "&") (identifier "DAT_004522bf")) (+ "+") (identifier "unaff_EDI")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x1a25")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_7 != 100) {\n    if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }\n    if (local_64 == 0) {\n      return;\n    }\n  }" (if "if") (parenthesized_expression "(param_7 != 100)" (( "(") (binary_expression "param_7 != 100" (identifier "param_7") (!= "!=") (number_literal "100")) () ")")) (compound_statement "{\n    if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }\n    if (local_64 == 0) {\n      return;\n    }\n  }" ({ "{") (if_statement "if (param_7 < 0x65) {\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }\n    else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }" (if "if") (parenthesized_expression "(param_7 < 0x65)" (( "(") (binary_expression "param_7 < 0x65" (identifier "param_7") (< "<") (number_literal "0x65")) () ")")) (compound_statement "{\n      if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }\n    }" ({ "{") (if_statement "if (param_7 != 5) {\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }" (if "if") (parenthesized_expression "(param_7 != 5)" (( "(") (binary_expression "param_7 != 5" (identifier "param_7") (!= "!=") (number_literal "5")) () ")")) (compound_statement "{\n        if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n        if (1 < param_7 - 0x1c) {\n          return;\n        }\n      }" ({ "{") (if_statement "if (param_7 < 6) {\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }" (if "if") (parenthesized_expression "(param_7 < 6)" (( "(") (binary_expression "param_7 < 6" (identifier "param_7") (< "<") (number_literal "6")) () ")")) (compound_statement "{\n          if (param_7 != 4) {\n            return;\n          }\n          goto LAB_0019889d;\n        }" ({ "{") (if_statement "if (param_7 != 4) {\n            return;\n          }" (if "if") (parenthesized_expression "(param_7 != 4)" (( "(") (binary_expression "param_7 != 4" (identifier "param_7") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n            return;\n          }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (goto_statement "goto LAB_0019889d;" (goto "goto") (statement_identifier "LAB_0019889d") (; ";")) (} "}"))) (if_statement "if (1 < param_7 - 0x1c) {\n          return;\n        }" (if "if") (parenthesized_expression "(1 < param_7 - 0x1c)" (( "(") (binary_expression "1 < param_7 - 0x1c" (number_literal "1") (< "<") (binary_expression "param_7 - 0x1c" (identifier "param_7") (- "-") (number_literal "0x1c"))) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }" (else "else") (if_statement "if (param_7 != 0x86) {\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }" (if "if") (parenthesized_expression "(param_7 != 0x86)" (( "(") (binary_expression "param_7 != 0x86" (identifier "param_7") (!= "!=") (number_literal "0x86")) () ")")) (compound_statement "{\n      if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }\n    }" ({ "{") (if_statement "if (param_7 < 0x87) {\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }\n      else if (1 < param_7 - 0x97) {\n        return;\n      }" (if "if") (parenthesized_expression "(param_7 < 0x87)" (( "(") (binary_expression "param_7 < 0x87" (identifier "param_7") (< "<") (number_literal "0x87")) () ")")) (compound_statement "{\n        if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }\n      }" ({ "{") (if_statement "if (param_7 != 0x68) {\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }" (if "if") (parenthesized_expression "(param_7 != 0x68)" (( "(") (binary_expression "param_7 != 0x68" (identifier "param_7") (!= "!=") (number_literal "0x68")) () ")")) (compound_statement "{\n          if (param_7 != 0x85) {\n            return;\n          }\n          goto LAB_0019889d;\n        }" ({ "{") (if_statement "if (param_7 != 0x85) {\n            return;\n          }" (if "if") (parenthesized_expression "(param_7 != 0x85)" (( "(") (binary_expression "param_7 != 0x85" (identifier "param_7") (!= "!=") (number_literal "0x85")) () ")")) (compound_statement "{\n            return;\n          }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (goto_statement "goto LAB_0019889d;" (goto "goto") (statement_identifier "LAB_0019889d") (; ";")) (} "}"))) (} "}")) (else_clause "else if (1 < param_7 - 0x97) {\n        return;\n      }" (else "else") (if_statement "if (1 < param_7 - 0x97) {\n        return;\n      }" (if "if") (parenthesized_expression "(1 < param_7 - 0x97)" (( "(") (binary_expression "1 < param_7 - 0x97" (number_literal "1") (< "<") (binary_expression "param_7 - 0x97" (identifier "param_7") (- "-") (number_literal "0x97"))) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))))) (} "}"))))) (if_statement "if (local_64 == 0) {\n      return;\n    }" (if "if") (parenthesized_expression "(local_64 == 0)" (( "(") (binary_expression "local_64 == 0" (identifier "local_64") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0019889d:\n  uVar8 = *param_8;" (statement_identifier "LAB_0019889d") (: ":") (expression_statement "uVar8 = *param_8;" (assignment_expression "uVar8 = *param_8" (identifier "uVar8") (= "=") (pointer_expression "*param_8" (* "*") (identifier "param_8"))) (; ";"))) (expression_statement "uVar7 = *(undefined4 *)(param_1 + 4);" (assignment_expression "uVar7 = *(undefined4 *)(param_1 + 4)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar4 = gettext(unaff_EDI + 0x2d9187);" (assignment_expression "uVar4 = gettext(unaff_EDI + 0x2d9187)" (identifier "uVar4") (= "=") (call_expression "gettext(unaff_EDI + 0x2d9187)" (identifier "gettext") (argument_list "(unaff_EDI + 0x2d9187)" (( "(") (binary_expression "unaff_EDI + 0x2d9187" (identifier "unaff_EDI") (+ "+") (number_literal "0x2d9187")) () ")")))) (; ";")) (expression_statement "FUN_0023b810(uVar4,uVar7,param_7,uVar8);" (call_expression "FUN_0023b810(uVar4,uVar7,param_7,uVar8)" (identifier "FUN_0023b810") (argument_list "(uVar4,uVar7,param_7,uVar8)" (( "(") (identifier "uVar4") (, ",") (identifier "uVar7") (, ",") (identifier "param_7") (, ",") (identifier "uVar8") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Removing unreachable block (ram,0x00198a7b) */
/* WARNING: Removing unreachable block (ram,0x001995c0) */
/* WARNING: Removing unreachable block (ram,0x001996ee) */
/* WARNING: Removing unreachable block (ram,0x001995dd) */
/* WARNING: Removing unreachable block (ram,0x001995e7) */
/* WARNING: Removing unreachable block (ram,0x001995f4) */
/* WARNING: Removing unreachable block (ram,0x0019970b) */
/* WARNING: Removing unreachable block (ram,0x00199717) */
/* WARNING: Removing unreachable block (ram,0x001995fb) */
/* WARNING: Removing unreachable block (ram,0x00199612) */
/* WARNING: Removing unreachable block (ram,0x00199726) */
/* WARNING: Removing unreachable block (ram,0x00199646) */
/* WARNING: Removing unreachable block (ram,0x00199650) */
/* WARNING: Removing unreachable block (ram,0x00199683) */
/* WARNING: Removing unreachable block (ram,0x001996a5) */
/* WARNING: Removing unreachable block (ram,0x001996ac) */
/* WARNING: Removing unreachable block (ram,0x001996c1) */
/* WARNING: Removing unreachable block (ram,0x00198a95) */
/* WARNING: Removing unreachable block (ram,0x001987ea) */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void global(Scan * this, Symbol_table * symtab, Layout * layout,
   Target_mips<64,_false> * target, Sized_relobj_file<64,_false> * object, uint data_shndx,
   Output_section * output_section, Relatype * rela, Reltype * rel, uint rel_type, uint r_type,
   Symbol * gsym) */

void __thiscall
anon_unknown.dwarf_d7d43e::var_26<64,var_12>::type_6::global
          (type_6 *var_5,type_19 *var_6,type_13 *layout,var_26<64,var_12> *target,
          Sized_relobj_file<64,var_12> *object,type_14 var_4,type_12 *var_10,
          Relatype *rela,Reltype *rel,type_14 rel_type,type_14 r_type,type_23 *gsym)

{
  type_6 *pSVar1;
  type_1 *pbVar2;
  char var_20;
  type_1 var_23;
  type_2 **pp_Var5;
  type_3 *pMVar6;
  type_4 uVar7;
  type_4 *var_29;
  type_5 *od;
  int var_30;
  type_6 *pSVar10;
  bool bVar11;
  type_7 *puVar12;
  char *pcVar13;
  int var_25;
  type_8 aVar15;
  int var_32;
  type_9 *reloc_section;
  var_1<64> *sym;
  type_10 *pOVar17;
  type_11 *this_00;
  type_12 *extraout_ECX;
  type_6 *pSVar18;
  type_6 *pSVar19;
  type_13 *this_01;
  type_13 *__args_0;
  type_2 *p_Var20;
  type_14 var_9;
  int var_8;
  type_15 uVar22;
  var_2<64,var_12> *in_stack_ffffff84;
  type_16 in_stack_ffffff88;
  type_13 *layout_00;
  type_2 *local_68;
  type_2 *var_43;
  type_17 var_19;
  type_8 local_34;
  
  uVar22 = var_3();
  this_01 = (type_13 *)((type_18)uVar22 >> 0x20);
  if (var_4 == 4) {
    var_29 = (type_4 *)target->MIPS_GP_OFFSET;
    p_Var20 = (type_2 *)*var_29;
    local_68 = (type_2 *)var_29[1];
    var_43 = (type_2 *)var_29[2];
    layout_00 = (type_13 *)var_29[4];
  }
  else {
    layout_00 = (type_13 *)0x0;
    pp_Var5 = (object->super_Sized_relobj<64,var_12>).super_Relobj.super_Object._vptr_Object;
    p_Var20 = *pp_Var5;
    local_68 = pp_Var5[1];
    var_43 = pp_Var5[2];
  }
  if ((type_19 *)
      ((*(int *)(var_5 + 0x1fc) - *(int *)(var_5 + 500)) +
      (*(int *)(var_5 + 0x1f8) - *(int *)(var_5 + 0x1f0)) * 8) <= var_6) {
                    /* WARNING: Subroutine does not return */
    gold::var_7(&UNK_002d8ce1 + var_8,0x711,&UNK_002e244b + var_8);
  }
  var_9 = (type_14)var_6 >> 5;
  __args_0 = (type_13 *)(1 << ((type_1)var_6 & 0x1f));
  if ((*(type_14 *)(*(int *)(var_5 + 0x1f0) + var_9 * 4) & (type_14)__args_0) == 0) {
    if ((type_19 *)
        ((*(int *)(var_5 + 0x210) - *(int *)(var_5 + 0x208)) +
        (*(int *)(var_5 + 0x20c) - *(int *)(var_5 + 0x204)) * 8) <= var_6) {
                    /* WARNING: Subroutine does not return */
      gold::var_7(&UNK_002d8ce1 + var_8,0x71a,&UNK_002e242f + var_8);
    }
    if ((*(type_14 *)(*(int *)(var_5 + 0x204) + var_9 * 4) & (type_14)__args_0) != 0) goto LAB_0019859c;
    if ((type_19 *)
        ((*(int *)(var_5 + 0x224) - *(int *)(var_5 + 0x21c)) +
        (*(int *)(var_5 + 0x220) - *(int *)(var_5 + 0x218)) * 8) <= var_6) {
                    /* WARNING: Subroutine does not return */
      gold::var_7(&UNK_002d8ce1 + var_8,0x723,&UNK_002e240f + var_8);
    }
    if ((*(type_14 *)(*(int *)(var_5 + 0x218) + var_9 * 4) & (type_14)__args_0) != 0) goto LAB_0019859c;
LAB_001986ca:
    if (var_10 == (type_12 *)0x0) {
      return;
    }
  }
  else {
LAB_0019859c:
    pSVar10 = *(type_6 **)(var_5 + 0x170);
    pSVar18 = var_5 + 0x16c;
    if (*(type_6 **)(var_5 + 0x170) == (type_6 *)0x0) {
LAB_00198b60:
      aVar15.relobj = (var_11<64,var_12> *)var_13(0x14);
      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;
      ((aVar15.relobj)->super_Relobj).super_Object._vptr_Object = (type_2 **)var_5;
      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity = 0;
      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_dataplus._M_p = (type_20)var_6;
      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\0';
      if ((type_19 *)
          ((*(int *)(var_5 + 0x1fc) - *(int *)(var_5 + 500)) +
          (*(int *)(var_5 + 0x1f8) - *(int *)(var_5 + 0x1f0)) * 8) <= var_6) {
                    /* WARNING: Subroutine does not return */
        gold::var_7(&UNK_002d8ce1 + var_8,0x711,&UNK_002e244b + var_8);
      }
      if ((*(type_14 *)(*(int *)(var_5 + 0x1f0) + var_9 * 4) & (type_14)__args_0) == 0) {
        if ((type_19 *)
            ((*(int *)(var_5 + 0x210) - *(int *)(var_5 + 0x208)) +
            (*(int *)(var_5 + 0x20c) - *(int *)(var_5 + 0x204)) * 8) <= var_6) {
                    /* WARNING: Subroutine does not return */
          gold::var_7(&UNK_002d8ce1 + var_8,0x71a,&UNK_002e242f + var_8);
        }
        if ((*(type_14 *)(*(int *)(var_5 + 0x204) + var_9 * 4) & (type_14)__args_0) == 0) {
          if ((type_19 *)
              ((*(int *)(var_5 + 0x224) - *(int *)(var_5 + 0x21c)) +
              (*(int *)(var_5 + 0x220) - *(int *)(var_5 + 0x218)) * 8) <= var_6) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */
            gold::var_7(&UNK_002d8ce1 + var_8,0x723,&UNK_002e240f + var_8);
          }
          if ((*(type_14 *)(*(int *)(var_5 + 0x218) + var_9 * 4) & (type_14)__args_0) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */
            gold::var_7(&UNK_002d8ce1 + var_8,0x5b7,&UNK_002e2223 + var_8);
          }
        }
      }
      var_19 = (type_17)var_6;
      local_34.relobj = aVar15.relobj;
      std::
      _Rb_tree<unsigned_int,var_18::pair<unsigned_int_const,var_17(anonymous_namespace)::var_14<64,var_12>*>,var_18::_Select1st<std::pair<unsigned_int_const,var_17(anonymous_namespace)::var_14<64,var_12>*>var_17>,var_18::less<unsigned_int>,var_18::allocator<std::pair<unsigned_int_const,var_17(anonymous_namespace)::var_14<64,var_12>*>var_17>var_17>
      ::
      _M_emplace_unique<std::pair<unsigned_int,var_17(anonymous_namespace)::var_14<64,var_12>*>var_17>
                ((_Rb_tree<unsigned_int,var_18::pair<unsigned_int_const,var_17(anonymous_namespace)::var_14<64,var_12>*>,var_18::_Select1st<std::pair<unsigned_int_const,var_17(anonymous_namespace)::var_14<64,var_12>*>var_17>,var_18::less<unsigned_int>,var_18::allocator<std::pair<unsigned_int_const,var_17(anonymous_namespace)::var_14<64,var_12>*>var_17>var_17>
                  *)in_stack_ffffff84,
                 (pair<unsigned_int,var_17(anonymous_namespace)::var_14<64,var_12>*> *)
                 __args_0);
    }
    else {
      do {
        while (pSVar19 = pSVar10, *(type_19 **)(pSVar19 + 0x10) < var_6) {
          pSVar1 = pSVar19 + 0xc;
          pSVar10 = *(type_6 **)pSVar1;
          pSVar19 = pSVar18;
          if (*(type_6 **)pSVar1 == (type_6 *)0x0) goto LAB_001985d5;
        }
        pSVar10 = *(type_6 **)(pSVar19 + 8);
        pSVar18 = pSVar19;
      } while (*(type_6 **)(pSVar19 + 8) != (type_6 *)0x0);
LAB_001985d5:
      if ((pSVar19 == var_5 + 0x16c) || (var_6 < *(type_19 **)(pSVar19 + 0x10)))
      goto LAB_00198b60;
      aVar15 = (type_8)
               ((type_8 *)(pSVar19 + 0x14))->relobj;
      __args_0 = (type_13 *)in_stack_ffffff88._M_current;
    }
    in_stack_ffffff88._M_current = (var_15<64> **)__args_0;
    if (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] != '\0')
    goto LAB_001986ca;
    if (var_10 == (type_12 *)0x0) {
      ((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length = 0;
      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_local_buf[4] = '\x01';
      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =
           (type_21)rela;
      return;
    }
    if ((((aVar15.relobj)->super_Relobj).super_Object.name_._M_string_length == 0) &&
       (((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity == 0)) {
      ((aVar15.relobj)->super_Relobj).super_Object.name_.field_2._M_allocated_capacity =
           (type_21)rela;
    }
  }
  if ((((var_10 != (type_12 *)0x67) && (var_10 != (type_12 *)0x64)) &&
      (bVar11 = var_2<64,var_12>::var_16
                          (in_stack_ffffff84,(type_14)in_stack_ffffff88._M_current), !bVar11)) &&
     (var_6 != *(type_19 **)(var_5 + 0x22c))) {
    *(type_7 *)&rela[0x10].p_ = 1;
  }
  if (var_10 < (type_12 *)0xfa) {
                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (*(type_22 *)(&UNK_00451af7 +
              *(int *)(&UNK_002dbf73 + (int)var_10 * 4 + var_8) + var_8))();
    return;
  }
  *(type_7 *)&rela[0x14].p_ = 1;
  *(type_7 *)&rela[0x12].p_ = 1;
  if (var_10 == (type_12 *)0x67) goto LAB_0019878c;
  if (var_10 < (type_12 *)0x68) {
    if (var_10 < (type_12 *)0x20) {
      if (((type_12 *)0x1d < var_10) || (var_10 == (type_12 *)0xb))
      goto LAB_0019878c;
    }
    else if (var_10 == (type_12 *)0x25) goto LAB_0019878c;
LAB_001988ea:
    *(type_7 *)((int)&rela[0x12].p_ + 1) = 1;
    if ((extraout_ECX->out_shndx_ != 0) &&
       (var_19 = (type_17)rela, *(char *)((int)&rela[0x17].p_ + 1) != '\0')) {
      std::
      _Hashtable<(anonymous_namespace)::var_15<64>*,var_17(anonymous_namespace)::var_15<64>*,var_18::allocator<(anonymous_namespace)::var_15<64>*>,var_18::__detail::_Identity,var_18::equal_to<(anonymous_namespace)::var_15<64>*>,var_17(anonymous_namespace)::Mips_symbol_hash<64>,var_18::__detail::_Mod_range_hashing,var_18::__detail::_Default_ranged_hash,var_18::__detail::_Prime_rehash_policy,var_18::__detail::_Hashtable_traits<true,_true,_true>var_17>
      ::_M_erase();
      *(type_7 *)(var_19 + 0x5d) = 0;
    }
  }
  else {
    if (var_10 < (type_12 *)0x9b) {
      if ((type_12 *)0x98 < var_10) goto LAB_0019878c;
      if (var_10 != (type_12 *)0x8e) goto LAB_001988ea;
      var_20 = *(char *)((int)&rela[0x12].p_ + 1);
    }
    else {
      if (var_10 != (type_12 *)0x9c) goto LAB_001988ea;
LAB_0019878c:
      var_20 = *(char *)((int)&rela[0x12].p_ + 1);
    }
    if (var_20 == '\0') {
      bVar11 = gold::Symbol::var_21((type_23 *)rela);
      var_23 = *(type_1 *)((int)&rela[10].p_ + 2);
      in_stack_ffffff88._M_current =
           (var_15<64> **)var_22((int3)((type_14)in_stack_ffffff88._M_current >> 8),var_23);
      if (bVar11) {
        if ((var_23 & 7) != 0) {
LAB_00198ff9:
          if ((var_23 & 7) != 4) goto LAB_001987a0;
          goto LAB_00199001;
        }
        if ((rela[2].p_[1].r_addend & 0x100000000) == 0) goto LAB_00199108;
      }
      else {
        if ((var_23 & 7) != 0) goto LAB_00198ff9;
LAB_00199108:
        if ((rela[3].p_ != (type_3 *)0x0) || (((type_14)rela[10].p_ & 0x20000000) == 0))
        goto LAB_001987a0;
LAB_00199001:
        if (*(int *)(*(int *)(&DAT_004522bf + var_8) + 8) == 0) goto LAB_0019972d;
        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + var_8) + 8) + 0x1a25) == '\0')
        goto LAB_001987a0;
      }
      if (extraout_ECX->out_shndx_ == 0) {
        pOVar17 = (type_10 *)var_13(0x54);
        puVar12 = &(pOVar17->super_Output_data).field_0x1c;
        *puVar12 = *puVar12 & 0xe0;
        *(type_4 *)&(pOVar17->super_Output_data).address_ = 0;
        *(type_4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;
        *(type_4 *)&(pOVar17->super_Output_data).data_size_ = 0;
        *(type_4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;
        *(type_4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;
        *(type_4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;
        pOVar17->output_section_ = (type_12 *)0x0;
        *(type_4 *)&pOVar17->addralign_ = 8;
        *(type_4 *)((int)&pOVar17->addralign_ + 4) = 0;
        (pOVar17->super_Output_data)._vptr_Output_data =
             (type_2 **)
             ("N4gold15General_options18Struct_fix_arm1176E" + var_8 + 0x13);
        var_9 = 0;
        do {
          *(type_4 *)((int)&pOVar17[1].super_Output_data._vptr_Output_data + var_9) = 0;
          var_9 = var_9 + 4;
        } while (var_9 < 0x1c);
        pOVar17[1].super_Output_data._vptr_Output_data =
             (type_2 **)((int)&pOVar17[1].super_Output_data.offset_ + 4);
        *(type_12 **)&pOVar17[1].addralign_ = extraout_ECX;
        extraout_ECX->out_shndx_ = (type_14)pOVar17;
        *(type_4 *)&pOVar17[1].super_Output_data.address_ = 1;
        *(type_4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;
        *(type_4 *)&pOVar17[1].super_Output_data.data_size_ = 0;
        *(type_4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0x3f800000;
        *(type_4 *)&pOVar17[1].super_Output_data.offset_ = 0;
        *(type_4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;
        *(type_4 *)&pOVar17[1].super_Output_data.field_0x1c = 0xffffffff;
        *(type_7 *)&pOVar17[1].output_section_ = 0;
        gold::Layout::var_24
                  (this_01,&UNK_002d8d0c + var_8,1,6,pOVar17,ORDER_PLT,false);
      }
      var_19 = (type_17)rela;
      if ((*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&
         (rela[6].p_ == (type_3 *)0xffffffff)) {
        std::
        _Hashtable<(anonymous_namespace)::var_15<64>*,var_17(anonymous_namespace)::var_15<64>*,var_18::allocator<(anonymous_namespace)::var_15<64>*>,var_18::__detail::_Identity,var_18::equal_to<(anonymous_namespace)::var_15<64>*>,var_17(anonymous_namespace)::Mips_symbol_hash<64>,var_18::__detail::_Mod_range_hashing,var_18::__detail::_Default_ranged_hash,var_18::__detail::_Prime_rehash_policy,var_18::__detail::_Hashtable_traits<true,_true,_true>var_17>
        ::
        _M_insert<(anonymous_namespace)::var_15<64>*_const&,var_18::__detail::_AllocNode<std::allocator<std::__detail::_Hash_node<(anonymous_namespace)::var_15<64>*,_true>var_17>var_17>var_17>
                  ();
        *(type_7 *)(var_19 + 0x5d) = 1;
      }
    }
  }
LAB_001987a0:
  if (((type_1)var_5[0x1e8] & 1) == 0) {
    if (var_10 == (type_12 *)0x64) {
      var_23 = *(type_1 *)((int)&rela[10].p_ + 1);
      in_stack_ffffff88._M_current =
           (var_15<64> **)var_22((int3)((type_14)in_stack_ffffff88._M_current >> 8),var_23);
      if ((var_23 >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;
    }
    else if (var_10 < (type_12 *)0x65) {
      if (var_10 == (type_12 *)0xa) {
LAB_00198a07:
        *(type_7 *)((int)&rela[0x10].p_ + 1) = 1;
      }
      else if (var_10 < (type_12 *)0xb) {
        if (var_10 == (type_12 *)0x4) goto LAB_00198a07;
      }
      else if (&var_10[-1].checkpoint_ < (type_24 **)0x2)
      goto LAB_00198a07;
    }
    else if (var_10 < (type_12 *)0x8e) {
      if ((type_12 *)0x8a < var_10) goto LAB_00198a07;
      if (var_10 == (type_12 *)0x85) {
        *(type_7 *)((int)&rela[0x10].p_ + 1) = 1;
      }
    }
    else if (var_10 == (type_12 *)0xad) {
      *(type_7 *)((int)&rela[0x10].p_ + 1) = 1;
    }
  }
  bVar11 = gold::Symbol::var_21((type_23 *)rela);
  if (bVar11) {
    if ((*(char *)((int)&rela[0x17].p_ + 1) == '\0') &&
       (rela[6].p_ == (type_3 *)0xffffffff)) {
      var_25 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;
      if (var_25 == 0) {
        var_26<64,var_12>::var_27
                  ((var_26<64,var_12> *)in_stack_ffffff84,
                   (type_19 *)in_stack_ffffff88._M_current,layout_00);
        pOVar17 = (type_10 *)var_13(0x30);
        (pOVar17->super_Output_data)._vptr_Output_data =
             (type_2 **)(var_8 + 0x4439c7);
        extraout_ECX->name_ = (char *)pOVar17;
        *(type_4 *)&(pOVar17->super_Output_data).address_ = 0;
        *(type_4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;
        *(type_4 *)&(pOVar17->super_Output_data).data_size_ = 0;
        *(type_4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;
        *(type_4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;
        *(type_4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;
        puVar12 = &(pOVar17->super_Output_data).field_0x1c;
        *puVar12 = *puVar12 & 0xe0;
        pOVar17->output_section_ = (type_12 *)0x0;
        *(type_4 *)&pOVar17->addralign_ = 4;
        *(type_4 *)((int)&pOVar17->addralign_ + 4) = 0;
        pOVar17[1].super_Output_data._vptr_Output_data =
             (type_2 **)(&UNK_002b4e97 + var_8);
        gold::Layout::var_24
                  (this_01,(char *)(var_8 + 0x2b4f02),1,3,pOVar17,ORDER_DATA,false);
        pcVar13 = extraout_ECX->name_;
        if ((pcVar13[0x1c] & 2U) != 0) goto LAB_001997f3;
        pcVar13[0xc] = '\x10';
        pcVar13[0xd] = '\0';
        pcVar13[0xe] = '\0';
        pcVar13[0xf] = '\0';
        pcVar13[0x10] = '\0';
        pcVar13[0x11] = '\0';
        pcVar13[0x12] = '\0';
        pcVar13[0x13] = '\0';
        pOVar17 = (type_10 *)var_13(0x50);
        pcVar13 = extraout_ECX->name_;
        puVar12 = &(pOVar17->super_Output_data).field_0x1c;
        *puVar12 = *puVar12 & 0xe0;
        *(type_4 *)&(pOVar17->super_Output_data).address_ = 0;
        *(type_4 *)((int)&(pOVar17->super_Output_data).address_ + 4) = 0;
        *(type_4 *)&(pOVar17->super_Output_data).data_size_ = 0;
        *(type_4 *)((int)&(pOVar17->super_Output_data).data_size_ + 4) = 0;
        *(type_4 *)&(pOVar17->super_Output_data).offset_ = 0xffffffff;
        *(type_4 *)((int)&(pOVar17->super_Output_data).offset_ + 4) = 0xffffffff;
        pOVar17->output_section_ = (type_12 *)0x0;
        *(type_4 *)&pOVar17->addralign_ = 8;
        *(type_4 *)((int)&pOVar17->addralign_ + 4) = 0;
        (pOVar17->super_Output_data)._vptr_Output_data =
             (type_2 **)
             ("N4gold15General_options24Struct_no_fatal_warningsE" + var_8 + 0x27);
        *(char **)&pOVar17[1].super_Output_data.address_ = pcVar13;
        *(type_4 *)((int)&pOVar17[1].super_Output_data.address_ + 4) = 0;
        *(type_4 *)&pOVar17[1].super_Output_data.data_size_ = 0;
        *(type_4 *)((int)&pOVar17[1].super_Output_data.data_size_ + 4) = 0;
        *(type_4 *)&pOVar17[1].super_Output_data.offset_ = 0;
        *(type_4 *)((int)&pOVar17[1].super_Output_data.offset_ + 4) = 0;
        *(type_4 *)&pOVar17[1].super_Output_data.field_0x1c = 0;
        pOVar17[1].output_section_ = extraout_ECX;
                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */
        this_00 = (type_11 *)var_13(0x40);
        in_stack_ffffff88._M_current = (var_15<64> **)this_00;
                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */
        gold::Output_data_reloc_generic::type_11(this_00,0x40,false);
        this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.
        _vptr_Output_data = (type_2 **)0x0;
        *(type_4 *)
         &this_00[1].super_Output_section_data_build.super_Output_section_data.super_Output_data.
          address_ = 0;
        *(type_4 *)
         ((int)&this_00[1].super_Output_section_data_build.super_Output_section_data.
                super_Output_data.address_ + 4) = 0;
        pOVar17[1].super_Output_data._vptr_Output_data = (type_2 **)this_00;
        (this_00->super_Output_section_data_build).super_Output_section_data.super_Output_data.
        _vptr_Output_data = (type_2 **)(&UNK_0044971f + var_8);
                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */
        gold::Layout::var_24
                  (this_01,(char *)(var_8 + 0x2b4f79),9,2,(type_10 *)this_00,
                   ORDER_DYNAMIC_PLT_RELOCS,false);
        *(type_10 **)&(extraout_ECX->super_Output_data).field_0x1c = pOVar17;
        gold::Layout::var_24
                  (this_01,(char *)(var_8 + 0x2b7b9f),1,6,pOVar17,ORDER_PLT,false);
        var_25 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;
        gold::Output_section::var_28
                  (*(type_12 **)(*(int *)(var_25 + 0x2c) + 0x20),
                   *(type_12 **)(var_25 + 0x20));
        var_25 = *(int *)&(extraout_ECX->super_Output_data).field_0x1c;
        if (rela[6].p_ != (type_3 *)0xffffffff) {
                    /* WARNING: Subroutine does not return */
          gold::var_7(&UNK_002d8ce1 + var_8,0x1cf4,(char *)(var_8 + 0x2e1fd7))
          ;
        }
      }
      var_29 = *(type_4 **)(var_25 + 0x38);
      rela[6].p_ = (type_3 *)((((int)var_29 - *(int *)(var_25 + 0x34) >> 2) + 2) * 0x10);
      if (var_29 == *(type_4 **)(var_25 + 0x3c)) {
        std::
        vector<(anonymous_namespace)::var_15<64>*,var_18::allocator<(anonymous_namespace)::var_15<64>*>var_17>
        ::_M_realloc_insert<(anonymous_namespace)::var_15<64>*_const&>
                  ((vector<(anonymous_namespace)::var_15<64>*,var_18::allocator<(anonymous_namespace)::var_15<64>*>var_17>
                    *)in_stack_ffffff84,in_stack_ffffff88,(var_15<64> **)layout_00);
      }
      else {
        *var_29 = rela;
        *(type_4 **)(var_25 + 0x38) = var_29 + 1;
      }
      if ((var_10 == (type_12 *)0x64 || var_10 == (type_12 *)0x4) ||
         (var_10 == (type_12 *)0x85)) {
        if (var_10 == (type_12 *)0x4) {
          *(type_7 *)((int)&rela[0x17].p_ + 2) = 1;
        }
        else {
          *(type_7 *)((int)&rela[0x17].p_ + 3) = 1;
        }
      }
      od = *(type_5 **)(var_25 + 0x30);
      var_30 = (int)od->data_size_;
      var_32 = var_30 + 8;
      if ((od->field_0x1c & 2) != 0) {
LAB_001997f3:
                    /* WARNING: Subroutine does not return */
        gold::var_7
                  ((char *)(gold::General_options::var_31 + var_8 + 4),0x231,
                   &UNK_002e21d7 + var_8);
      }
      *(int *)&od->data_size_ = var_32;
      *(int *)((int)&od->data_size_ + 4) = var_32 >> 0x1f;
      pbVar2 = (type_1 *)((int)&rela[10].p_ + 2);
      *pbVar2 = *pbVar2 | 0x40;
      in_stack_ffffff88._M_current = *(var_15<64> ***)(var_25 + 0x2c);
      gold::var_33<9,_true,_64,var_12>::var_33
                ((var_33<9,_true,_64,var_12> *)&var_19,(type_23 *)rela,0x7f,od,
                 (type_25)var_30,false,false,false);
      gold::var_34<9,_true,_64,var_12>::var_35
                ((var_34<9,_true,_64,var_12> *)in_stack_ffffff88._M_current,od,
                 (var_33<9,_true,_64,var_12> *)&var_19);
    }
    if ((((type_14)rela[10].p_ & 0x70000) == 0) && ((rela[2].p_[1].r_addend & 0x100000000) != 0)) {
      if (*(int *)(*(int *)(&DAT_004522bf + var_8) + 8) == 0) goto LAB_0019972d;
      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + var_8) + 8) + 0x1a25) == '\0') &&
         (gold::type_23::var_36((type_23 *)rela), *(char *)&rela[0x14].p_ != '\0')) {
        var_23 = *(type_1 *)((int)&rela[10].p_ + 1);
        if ((var_23 >> 2 & 0x3c) == 0x3c) {
          *(type_1 *)((int)&rela[10].p_ + 1) = var_23 & 3 | 0xf8;
        }
        else {
          *(type_1 *)((int)&rela[10].p_ + 1) = (type_1)((var_23 >> 2 & 0x30 | 2) << 2) | var_23 & 3;
        }
      }
    }
  }
  var_25 = 0;
  if ((type_7 *)((int)&var_10[-1].reloc_section_ + 3U) < (type_7 *)0xf9) {
    var_25 = (int)*(char *)((int)&var_10[0x32c6].addralign_ + var_8 + 2);
  }
  bVar11 = gold::Symbol::var_37((type_23 *)rela,var_25);
  if (bVar11) {
    bVar11 = gold::Symbol::var_38((type_23 *)rela);
    if (bVar11) {
      reloc_section =
           var_39((var_26<64,var_12> *)in_stack_ffffff84,
                           (type_13 *)in_stack_ffffff88._M_current);
      sym = gold::Symbol_table::var_40<64>
                      ((type_19 *)in_stack_ffffff84,(type_23 *)in_stack_ffffff88._M_current);
      gold::var_41<9,_64,var_12>::var_42
                ((var_41<9,_64,var_12> *)&extraout_ECX->entsize_,(type_19 *)uVar22,this_01
                 ,sym,(Sized_relobj_file<64,var_12> *)var_5,(type_14)var_6,(type_12 *)layout,
                 (type_14)var_10,CONCAT44(local_68,p_Var20),0,
                 &reloc_section->super_Output_data_reloc<9,_true,_64,var_12>);
    }
    else {
      pMVar6 = rela->p_;
      pcVar13 = (char *)gettext(var_8 + 0x2d9153);
      gold::var_44(pcVar13,pMVar6);
    }
  }
  puVar12 = (type_7 *)((int)&var_10[-1].patch_space_ + 3);
  if (puVar12 < (type_7 *)0xf1) {
                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (*(type_22 *)(&UNK_00451af7 + *(int *)(&UNK_002dc35b + (int)puVar12 * 4 + var_8) + var_8))
              ();
    return;
  }
  if (*(int *)(*(int *)(&DAT_004522bf + var_8) + 8) == 0) {
LAB_0019972d:
                    /* WARNING: Subroutine does not return */
    gold::var_7((char *)(var_8 + 0x2afd64),0x5c,&UNK_002e274f + var_8);
  }
  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + var_8) + 8) + 0x1a25) == '\0') {
    return;
  }
  if (var_10 != (type_12 *)0x64) {
    if (var_10 < (type_12 *)0x65) {
      if (var_10 != (type_12 *)0x5) {
        if (var_10 < (type_12 *)0x6) {
          if (var_10 != (type_12 *)0x4) {
            return;
          }
          goto LAB_0019889d;
        }
        if ((type_7 *)0x1 < (type_7 *)((int)&var_10[-1].free_list_.length_ + 4U)) {
          return;
        }
      }
    }
    else if (var_10 != (type_12 *)0x86) {
      if (var_10 < (type_12 *)0x87) {
        if (var_10 != (type_12 *)0x68) {
          if (var_10 != (type_12 *)0x85) {
            return;
          }
          goto LAB_0019889d;
        }
      }
      else if ((type_7 *)0x1 < (type_7 *)((int)&var_10[-1].type_ + 1U)) {
        return;
      }
    }
    if (var_43 == (type_2 *)0x0) {
      return;
    }
  }
LAB_0019889d:
  pMVar6 = rela->p_;
  uVar7 = *(type_4 *)(var_5 + 4);
  pcVar13 = (char *)gettext(var_8 + 0x2d9187);
  gold::var_44(pcVar13,uVar7,var_10,pMVar6);
  return;
}


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

/* WARNING: Removing unreachable block (ram,0x00198a7b) */
/* WARNING: Removing unreachable block (ram,0x001995c0) */
/* WARNING: Removing unreachable block (ram,0x001996ee) */
/* WARNING: Removing unreachable block (ram,0x001995dd) */
/* WARNING: Removing unreachable block (ram,0x001995e7) */
/* WARNING: Removing unreachable block (ram,0x001995f4) */
/* WARNING: Removing unreachable block (ram,0x0019970b) */
/* WARNING: Removing unreachable block (ram,0x00199717) */
/* WARNING: Removing unreachable block (ram,0x001995fb) */
/* WARNING: Removing unreachable block (ram,0x00199612) */
/* WARNING: Removing unreachable block (ram,0x00199726) */
/* WARNING: Removing unreachable block (ram,0x00199646) */
/* WARNING: Removing unreachable block (ram,0x00199650) */
/* WARNING: Removing unreachable block (ram,0x00199683) */
/* WARNING: Removing unreachable block (ram,0x001996a5) */
/* WARNING: Removing unreachable block (ram,0x001996ac) */
/* WARNING: Removing unreachable block (ram,0x001996c1) */
/* WARNING: Removing unreachable block (ram,0x00198a95) */
/* WARNING: Removing unreachable block (ram,0x001987ea) */

void MASKED(int param_1,undefined4 *param_2,undefined4 param_3,int *param_4,int *param_5,
                 int param_6,uint param_7,undefined4 *param_8)

{
  byte bVar1;
  int iVar2;
  char cVar3;
  undefined4 uVar4;
  int iVar5;
  int iVar6;
  undefined4 uVar7;
  undefined4 uVar8;
  int *piVar9;
  undefined4 *puVar10;
  int extraout_ECX;
  int iVar11;
  undefined4 extraout_ECX_00;
  undefined4 extraout_ECX_01;
  undefined4 extraout_ECX_02;
  undefined4 extraout_ECX_03;
  undefined4 extraout_ECX_04;
  undefined4 extraout_ECX_05;
  undefined4 extraout_ECX_06;
  uint uVar12;
  uint uVar13;
  int unaff_EDI;
  undefined8 uVar14;
  undefined4 local_68;
  int local_64;
  undefined4 *local_38;
  int *local_34;
  
  uVar14 = FUN_00074f0a();
  uVar8 = (undefined4)((ulonglong)uVar14 >> 0x20);
  if (param_6 == 4) {
    puVar10 = (undefined4 *)*param_4;
    uVar7 = *puVar10;
    local_68 = puVar10[1];
    local_64 = puVar10[2];
  }
  else {
    puVar10 = (undefined4 *)*param_5;
    uVar7 = *puVar10;
    local_68 = puVar10[1];
    local_64 = puVar10[2];
  }
  if ((undefined4 *)
      ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +
      (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar7);
  }
  uVar13 = (uint)param_2 >> 5;
  uVar12 = 1 << ((byte)param_2 & 0x1f);
  if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {
    iVar5 = *(int *)(param_1 + 0x204);
    if ((undefined4 *)
        ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +
        (*(int *)(param_1 + 0x20c) - iVar5) * 8) <= param_2) {
                    /* WARNING: Subroutine does not return */
      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,iVar5);
    }
    if ((*(uint *)(iVar5 + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;
    iVar5 = *(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218);
    if ((undefined4 *)((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) + iVar5 * 8) <=
        param_2) {
                    /* WARNING: Subroutine does not return */
      FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,iVar5);
    }
    if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) != 0) goto LAB_0019859c;
LAB_001986ca:
    if (param_7 == 0) {
      return;
    }
  }
  else {
LAB_0019859c:
    iVar5 = *(int *)(param_1 + 0x170);
    iVar6 = param_1 + 0x16c;
    if (*(int *)(param_1 + 0x170) == 0) {
LAB_00198b60:
      piVar9 = (int *)FUN_003ac4d0(0x14);
      piVar9[2] = 0;
      *piVar9 = param_1;
      piVar9[3] = 0;
      piVar9[1] = (int)param_2;
      *(undefined1 *)(piVar9 + 4) = 0;
      if ((undefined4 *)
          ((*(int *)(param_1 + 0x1fc) - *(int *)(param_1 + 500)) +
          (*(int *)(param_1 + 0x1f8) - *(int *)(param_1 + 0x1f0)) * 8) <= param_2) {
                    /* WARNING: Subroutine does not return */
        FUN_002446e0(unaff_EDI + 0x2d8ce1,0x711,unaff_EDI + 0x2e244b,uVar12);
      }
      if ((*(uint *)(*(int *)(param_1 + 0x1f0) + uVar13 * 4) & uVar12) == 0) {
        puVar10 = (undefined4 *)
                  ((*(int *)(param_1 + 0x210) - *(int *)(param_1 + 0x208)) +
                  (*(int *)(param_1 + 0x20c) - *(int *)(param_1 + 0x204)) * 8);
        if (puVar10 <= param_2) {
                    /* WARNING: Subroutine does not return */
          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x71a,unaff_EDI + 0x2e242f,puVar10);
        }
        if ((*(uint *)(*(int *)(param_1 + 0x204) + uVar13 * 4) & uVar12) == 0) {
          puVar10 = (undefined4 *)
                    ((*(int *)(param_1 + 0x224) - *(int *)(param_1 + 0x21c)) +
                    (*(int *)(param_1 + 0x220) - *(int *)(param_1 + 0x218)) * 8);
          if (puVar10 <= param_2) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001997b6 to 001997f2 has its CatchHandler @ 0019980f */
            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x723,unaff_EDI + 0x2e240f,puVar10);
          }
          if ((*(uint *)(*(int *)(param_1 + 0x218) + uVar13 * 4) & uVar12) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0019925f to 00199263 has its CatchHandler @ 0019980f */
            FUN_002446e0(unaff_EDI + 0x2d8ce1,0x5b7,unaff_EDI + 0x2e2223,puVar10);
          }
        }
      }
      local_38 = param_2;
      local_34 = piVar9;
      FUN_001721f0();
    }
    else {
      do {
        while (iVar11 = iVar5, *(undefined4 **)(iVar11 + 0x10) < param_2) {
          piVar9 = (int *)(iVar11 + 0xc);
          iVar5 = *piVar9;
          iVar11 = iVar6;
          if (*piVar9 == 0) goto LAB_001985d5;
        }
        iVar5 = *(int *)(iVar11 + 8);
        iVar6 = iVar11;
      } while (*(int *)(iVar11 + 8) != 0);
LAB_001985d5:
      if ((iVar11 == param_1 + 0x16c) || (param_2 < *(undefined4 **)(iVar11 + 0x10)))
      goto LAB_00198b60;
      piVar9 = *(int **)(iVar11 + 0x14);
    }
    if ((char)piVar9[4] != '\0') goto LAB_001986ca;
    if (param_7 == 0) {
      piVar9[2] = 0;
      *(undefined1 *)(piVar9 + 4) = 1;
      piVar9[3] = (int)param_8;
      return;
    }
    if ((piVar9[2] == 0) && (piVar9[3] == 0)) {
      piVar9[3] = (int)param_8;
    }
  }
  if ((((param_7 != 0x67) && (param_7 != 100)) && (cVar3 = FUN_0017b7a0(), cVar3 == '\0')) &&
     (param_2 != *(undefined4 **)(param_1 + 0x22c))) {
    *(undefined1 *)(param_8 + 0x10) = 1;
  }
  if (param_7 < 0xfa) {
                    /* WARNING: Could not recover jumptable at 0x00198716. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dbf73 + param_7 * 4) + unaff_EDI))();
    return;
  }
  *(undefined1 *)(param_8 + 0x14) = 1;
  *(undefined1 *)(param_8 + 0x12) = 1;
  if (param_7 == 0x67) goto LAB_0019878c;
  if (param_7 < 0x68) {
    if (param_7 < 0x20) {
      if ((0x1d < param_7) || (param_7 == 0xb)) goto LAB_0019878c;
    }
    else if (param_7 == 0x25) goto LAB_0019878c;
LAB_001988ea:
    *(undefined1 *)((int)param_8 + 0x49) = 1;
    if ((*(int *)(extraout_ECX + 0x60) != 0) &&
       (local_38 = param_8, *(char *)((int)param_8 + 0x5d) != '\0')) {
      FUN_00179860();
      *(undefined1 *)((int)local_38 + 0x5d) = 0;
    }
  }
  else {
    if (param_7 < 0x9b) {
      if (0x98 < param_7) goto LAB_0019878c;
      if (param_7 != 0x8e) goto LAB_001988ea;
      cVar3 = *(char *)((int)param_8 + 0x49);
    }
    else {
      if (param_7 != 0x9c) goto LAB_001988ea;
LAB_0019878c:
      cVar3 = *(char *)((int)param_8 + 0x49);
    }
    if (cVar3 == '\0') {
      cVar3 = FUN_0008ff10(param_8);
      bVar1 = *(byte *)((int)param_8 + 0x2a);
      if (cVar3 == '\0') {
        if ((bVar1 & 7) != 0) goto LAB_00198ff9;
LAB_00199108:
        if ((param_8[3] != 0) || ((*(byte *)((int)param_8 + 0x2b) & 0x20) == 0)) goto LAB_001987a0;
LAB_00199001:
        uVar4 = extraout_ECX_00;
        if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;
        if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0')
        goto LAB_001987a0;
      }
      else {
        if ((bVar1 & 7) != 0) {
LAB_00198ff9:
          if ((bVar1 & 7) != 4) goto LAB_001987a0;
          goto LAB_00199001;
        }
        if ((*(byte *)(param_8[2] + 0x2c) & 1) == 0) goto LAB_00199108;
      }
      if (*(int *)(extraout_ECX + 0x60) == 0) {
        piVar9 = (int *)FUN_003ac4d0(0x54);
        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;
        piVar9[1] = 0;
        piVar9[2] = 0;
        piVar9[3] = 0;
        piVar9[4] = 0;
        piVar9[5] = -1;
        piVar9[6] = -1;
        piVar9[8] = 0;
        piVar9[9] = 8;
        piVar9[10] = 0;
        *piVar9 = (int)("N4gold15General_options18Struct_fix_arm1176E" + unaff_EDI + 0x13);
        uVar12 = 0;
        do {
          *(undefined4 *)((int)piVar9 + uVar12 + 0x2c) = 0;
          uVar12 = uVar12 + 4;
        } while (uVar12 < 0x1c);
        piVar9[0xb] = (int)(piVar9 + 0x11);
        piVar9[0x14] = extraout_ECX;
        *(int **)(extraout_ECX + 0x60) = piVar9;
        piVar9[0xc] = 1;
        piVar9[0xd] = 0;
        piVar9[0xe] = 0;
        piVar9[0xf] = 0x3f800000;
        piVar9[0x10] = 0;
        piVar9[0x11] = 0;
        piVar9[0x12] = -1;
        *(undefined1 *)(piVar9 + 0x13) = 0;
        FUN_0027afd0(uVar8,unaff_EDI + 0x2d8d0c,1,6,0,piVar9,7,0);
      }
      local_38 = param_8;
      if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {
        FUN_00179a80();
        *(undefined1 *)((int)local_38 + 0x5d) = 1;
      }
    }
  }
LAB_001987a0:
  if ((*(byte *)(param_1 + 0x1e8) & 1) == 0) {
    if (param_7 == 100) {
      if ((*(byte *)((int)param_8 + 0x29) >> 2 & 0x3c) != 0x3c) goto LAB_00198a07;
    }
    else if (param_7 < 0x65) {
      if (param_7 == 10) {
LAB_00198a07:
        *(undefined1 *)((int)param_8 + 0x41) = 1;
      }
      else if (param_7 < 0xb) {
        if (param_7 == 4) goto LAB_00198a07;
      }
      else if (param_7 - 0x3c < 2) goto LAB_00198a07;
    }
    else if (param_7 < 0x8e) {
      if (0x8a < param_7) goto LAB_00198a07;
      if (param_7 == 0x85) {
        *(undefined1 *)((int)param_8 + 0x41) = 1;
      }
    }
    else if (param_7 == 0xad) {
      *(undefined1 *)((int)param_8 + 0x41) = 1;
    }
  }
  cVar3 = FUN_0008ff10(param_8);
  if (cVar3 != '\0') {
    uVar4 = extraout_ECX_01;
    if ((*(char *)((int)param_8 + 0x5d) == '\0') && (param_8[6] == -1)) {
      iVar5 = *(int *)(extraout_ECX + 0x1c);
      if (iVar5 == 0) {
        FUN_0017bb90();
        piVar9 = (int *)FUN_003ac4d0(0x30);
        *piVar9 = unaff_EDI + 0x4439c7;
        *(int **)(extraout_ECX + 0x20) = piVar9;
        piVar9[1] = 0;
        piVar9[2] = 0;
        piVar9[3] = 0;
        piVar9[4] = 0;
        piVar9[5] = -1;
        piVar9[6] = -1;
        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;
        piVar9[8] = 0;
        piVar9[9] = 4;
        piVar9[10] = 0;
        piVar9[0xb] = unaff_EDI + 0x2b4e97;
        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f02,1,3,0,piVar9,0x16,0);
        iVar6 = *(int *)(extraout_ECX + 0x20);
        if ((*(byte *)(iVar6 + 0x1c) & 2) != 0) goto LAB_001997f3;
        *(undefined4 *)(iVar6 + 0xc) = 0x10;
        *(undefined4 *)(iVar6 + 0x10) = 0;
        piVar9 = (int *)FUN_003ac4d0(0x50);
        iVar5 = *(int *)(extraout_ECX + 0x20);
        *(byte *)(piVar9 + 7) = *(byte *)(piVar9 + 7) & 0xe0;
        piVar9[1] = 0;
        piVar9[2] = 0;
        piVar9[3] = 0;
        piVar9[4] = 0;
        piVar9[5] = -1;
        piVar9[6] = -1;
        piVar9[8] = 0;
        piVar9[9] = 8;
        piVar9[10] = 0;
        *piVar9 = (int)("N4gold15General_options24Struct_no_fatal_warningsE" + unaff_EDI + 0x27);
        piVar9[0xc] = iVar5;
        piVar9[0xd] = 0;
        piVar9[0xe] = 0;
        piVar9[0xf] = 0;
        piVar9[0x10] = 0;
        piVar9[0x11] = 0;
        piVar9[0x12] = 0;
        piVar9[0x13] = extraout_ECX;
                    /* try { // try from 001994f1 to 001994f5 has its CatchHandler @ 0019981d */
        puVar10 = (undefined4 *)FUN_003ac4d0(0x40);
                    /* try { // try from 00199503 to 00199507 has its CatchHandler @ 00199816 */
        FUN_001cc9c0(puVar10,0x40,0);
        puVar10[0xd] = 0;
        puVar10[0xe] = 0;
        puVar10[0xf] = 0;
        piVar9[0xb] = (int)puVar10;
        *puVar10 = &UNK_0044971f + unaff_EDI;
                    /* try { // try from 00199545 to 00199549 has its CatchHandler @ 0019981d */
        FUN_0027afd0(uVar8,unaff_EDI + 0x2b4f79,9,2,0,puVar10,5,0);
        *(int **)(extraout_ECX + 0x1c) = piVar9;
        FUN_0027afd0(uVar8,unaff_EDI + 0x2b7b9f,1,6,0,piVar9,7,0);
        FUN_001cca40(*(undefined4 *)(*(int *)(*(int *)(extraout_ECX + 0x1c) + 0x2c) + 0x20),
                     *(undefined4 *)(*(int *)(extraout_ECX + 0x1c) + 0x20));
        iVar5 = *(int *)(extraout_ECX + 0x1c);
        if (param_8[6] != -1) {
                    /* WARNING: Subroutine does not return */
          FUN_002446e0(unaff_EDI + 0x2d8ce1,0x1cf4,unaff_EDI + 0x2e1fd7,extraout_ECX_06);
        }
      }
      puVar10 = *(undefined4 **)(iVar5 + 0x38);
      param_8[6] = (((int)puVar10 - *(int *)(iVar5 + 0x34) >> 2) + 2) * 0x10;
      if (puVar10 == *(undefined4 **)(iVar5 + 0x3c)) {
        FUN_00177b60();
      }
      else {
        *puVar10 = param_8;
        *(undefined4 **)(iVar5 + 0x38) = puVar10 + 1;
      }
      if ((param_7 == 100 || param_7 == 4) || (param_7 == 0x85)) {
        if (param_7 == 4) {
          *(undefined1 *)((int)param_8 + 0x5e) = 1;
        }
        else {
          *(undefined1 *)((int)param_8 + 0x5f) = 1;
        }
      }
      iVar11 = *(int *)(iVar5 + 0x30);
      iVar2 = *(int *)(iVar11 + 0xc);
      iVar6 = iVar2 + 8;
      if ((*(byte *)(iVar11 + 0x1c) & 2) != 0) {
LAB_001997f3:
                    /* WARNING: Subroutine does not return */
        FUN_002446e0(unaff_EDI + 0x2b4e54,0x231,unaff_EDI + 0x2e21d7,iVar6);
      }
      *(int *)(iVar11 + 0xc) = iVar6;
      *(int *)(iVar11 + 0x10) = iVar6 >> 0x1f;
      *(byte *)((int)param_8 + 0x2a) = *(byte *)((int)param_8 + 0x2a) | 0x40;
      uVar8 = *(undefined4 *)(iVar5 + 0x2c);
      FUN_002d7e30(&local_38,param_8,0x7f,iVar11,iVar2,iVar2 >> 0x1f,0,0,0);
      FUN_001cdb50(uVar8,iVar11,&local_38);
      uVar4 = extraout_ECX_03;
    }
    if (((*(byte *)((int)param_8 + 0x2a) & 7) == 0) && ((*(byte *)(param_8[2] + 0x2c) & 1) != 0)) {
      if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) goto LAB_0019972d;
      if ((*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') &&
         (FUN_0008feb0(param_8), *(char *)(param_8 + 0x14) != '\0')) {
        bVar1 = *(byte *)((int)param_8 + 0x29);
        if ((bVar1 >> 2 & 0x3c) == 0x3c) {
          *(byte *)((int)param_8 + 0x29) = bVar1 & 3 | 0xf8;
        }
        else {
          *(byte *)((int)param_8 + 0x29) = (byte)((bVar1 >> 2 & 0x30 | 2) << 2) | bVar1 & 3;
        }
      }
    }
  }
  iVar5 = 0;
  if (param_7 - 1 < 0xf9) {
    iVar5 = (int)*(char *)(unaff_EDI + 0x2e0396 + param_7);
  }
  cVar3 = FUN_00071bb0(param_8,iVar5);
  uVar4 = extraout_ECX_02;
  if (cVar3 != '\0') {
    cVar3 = FUN_00103300(param_8);
    if (cVar3 == '\0') {
      uVar8 = *param_8;
      uVar7 = gettext(unaff_EDI + 0x2d9153);
      FUN_0023b810(uVar7,uVar8);
      uVar4 = extraout_ECX_04;
    }
    else {
      uVar8 = FUN_00198320();
      uVar4 = FUN_001771a0();
      FUN_0022b910(extraout_ECX + 0x2c,uVar14,uVar4,param_1,param_2,param_3,param_7,uVar7,local_68,0
                   ,0,uVar8);
      uVar4 = extraout_ECX_05;
    }
  }
  if (param_7 - 9 < 0xf1) {
                    /* WARNING: Could not recover jumptable at 0x00198811. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (*(code *)(&UNK_00451af7 + *(int *)(unaff_EDI + 0x2dc35b + (param_7 - 9) * 4) + unaff_EDI))();
    return;
  }
  if (*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) == 0) {
LAB_0019972d:
                    /* WARNING: Subroutine does not return */
    FUN_002446e0(unaff_EDI + 0x2afd64,0x5c,unaff_EDI + 0x2e274f,uVar4);
  }
  if (*(char *)(*(int *)(*(int *)(&DAT_004522bf + unaff_EDI) + 8) + 0x1a25) == '\0') {
    return;
  }
  if (param_7 != 100) {
    if (param_7 < 0x65) {
      if (param_7 != 5) {
        if (param_7 < 6) {
          if (param_7 != 4) {
            return;
          }
          goto LAB_0019889d;
        }
        if (1 < param_7 - 0x1c) {
          return;
        }
      }
    }
    else if (param_7 != 0x86) {
      if (param_7 < 0x87) {
        if (param_7 != 0x68) {
          if (param_7 != 0x85) {
            return;
          }
          goto LAB_0019889d;
        }
      }
      else if (1 < param_7 - 0x97) {
        return;
      }
    }
    if (local_64 == 0) {
      return;
    }
  }
LAB_0019889d:
  uVar8 = *param_8;
  uVar7 = *(undefined4 *)(param_1 + 4);
  uVar4 = gettext(unaff_EDI + 0x2d9187);
  FUN_0023b810(uVar4,uVar7,param_7,uVar8);
  return;
}

