
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void do_allocate_commons_list<32>(Symbol_table * this, Layout * layout,
   Commons_section_type commons_section_type, Commons_type * commons, Mapfile * mapfile,
   Sort_commons_order sort_order) */

void __thiscall
gold::Symbol_table::do_allocate_commons_list<32>
          (Symbol_table *this,Layout *layout,Commons_section_type commons_section_type,
          Commons_type *commons,Mapfile *mapfile,Sort_commons_order sort_order)

{
  undefined1 *puVar1;
  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>
  __first;
  Target_info *pTVar2;
  _Iter_comp_iter<gold::Sort_commons<32>_> __comp;
  _Val_comp_iter<gold::Sort_commons<32>_> __comp_00;
  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_01;
  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_02;
  bool bVar3;
  bool bVar4;
  Symbol *pSVar5;
  pointer ppSVar6;
  Sized_symbol<32> *pSVar7;
  Value_type value;
  char *format;
  uint uVar8;
  pointer ppSVar9;
  uint uVar10;
  pointer ppSVar11;
  undefined4 uVar12;
  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>
  __last;
  char *pcVar13;
  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>
  __last_00;
  longlong lVar14;
  Symbol_table *in_stack_ffffffc4;
  Symbol *in_stack_ffffffc8;
  uint local_2c;
  Output_section_data *local_28;
  Output_section *local_20;
  
  local_2c = 0;
  ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
             _M_start;
  if (ppSVar11 ==
      (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish
     ) {
    return;
  }
  bVar4 = false;
  do {
    while( true ) {
      ppSVar6 = ppSVar11;
      pSVar5 = *ppSVar6;
      if ((pSVar5->field_0x2a & 0x10) != 0) {
        pSVar5 = resolve_forwards(this,pSVar5);
        *ppSVar6 = pSVar5;
      }
      if ((((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) &&
         (bVar3 = Symbol::is_common_shndx((pSVar5->u2_).shndx), bVar3)) break;
      *ppSVar6 = (Symbol *)0x0;
      ppSVar11 = ppSVar6 + 1;
      bVar3 = bVar4;
      if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
          _M_finish == ppSVar6 + 1) goto LAB_00208000;
    }
    pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);
    uVar10 = pSVar7->value_;
    if (pSVar7->value_ <= local_2c) {
      uVar10 = local_2c;
    }
    local_2c = uVar10;
    ppSVar11 = ppSVar6 + 1;
    bVar4 = bVar3;
  } while ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
           _M_finish != ppSVar6 + 1);
LAB_00208000:
  __last._M_current = ppSVar6 + 1;
  if (bVar3 == false) {
    return;
  }
  __first._M_current =
       (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_start
  ;
  if (__last._M_current != __first._M_current) {
    uVar8 = (int)__last._M_current - (int)__first._M_current >> 2;
    uVar10 = 0x1f;
    if (uVar8 != 0) {
      for (; uVar8 >> uVar10 == 0; uVar10 = uVar10 - 1) {
      }
    }
    __comp._M_comp.sort_order_ = sort_order;
    __comp._M_comp.symtab_ = this;
    std::
    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>
              (__first,__last,(0x1f - (uVar10 ^ 0x1f)) * 2,__comp);
    if ((int)__last._M_current - (int)__first._M_current < 0x41) {
      __comp_02._M_comp.sort_order_ = sort_order;
      __comp_02._M_comp.symtab_ = this;
      std::
      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>
                (__first,__last,__comp_02);
    }
    else {
      __last_00._M_current = __first._M_current + 0x10;
      __comp_01._M_comp.sort_order_ = sort_order;
      __comp_01._M_comp.symtab_ = this;
      std::
      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>
                (__first,__last_00,__comp_01);
      for (; __last._M_current != __last_00._M_current;
          __last_00._M_current = __last_00._M_current + 1) {
        __comp_00._M_comp.sort_order_ = sort_order;
        __comp_00._M_comp.symtab_ = this;
        std::
        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>
                  (__last_00,__comp_00);
      }
    }
  }
  if (commons_section_type == COMMONS_TLS) {
    uVar12 = 0;
    pcVar13 = ".tbss";
    local_20 = (Output_section *)0x310db8;
    uVar10 = 0x403;
  }
  else if (commons_section_type == COMMONS_NORMAL) {
    uVar12 = 0;
    local_20 = (Output_section *)0x310d9e;
    pcVar13 = ".bss";
    uVar10 = 3;
  }
  else if (commons_section_type == COMMONS_SMALL) {
    if (parameters->target_ == (Target *)0x0) {
LAB_002084b3:
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/parameters.h",0x69,"target");
    }
    pTVar2 = parameters->target_->pti_;
    if (pTVar2->small_common_shndx == 0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");
    }
    uVar12 = *(undefined4 *)((int)&pTVar2->small_common_section_flags + 4);
    uVar10 = (uint)pTVar2->small_common_section_flags | 3;
    local_20 = (Output_section *)0x310da8;
    pcVar13 = ".sbss";
  }
  else {
    if (commons_section_type != COMMONS_LARGE) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");
    }
    if (parameters->target_ == (Target *)0x0) goto LAB_002084b3;
    pTVar2 = parameters->target_->pti_;
    if (pTVar2->large_common_shndx == 0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");
    }
    uVar12 = *(undefined4 *)((int)&pTVar2->large_common_section_flags + 4);
    uVar10 = (uint)pTVar2->large_common_section_flags | 3;
    local_20 = (Output_section *)0x310d8e;
    pcVar13 = ".lbss";
  }
  bVar4 = Parameters::incremental_update(parameters);
  if (bVar4) {
    local_20 = Layout::find_output_section(layout,pcVar13);
    local_28 = (Output_section_data *)0x0;
  }
  else {
    local_28 = (Output_section_data *)operator_new(0x30);
    *(undefined4 *)&(local_28->super_Output_data).address_ = 0;
    *(undefined4 *)((int)&(local_28->super_Output_data).address_ + 4) = 0;
    *(undefined4 *)&(local_28->super_Output_data).data_size_ = 0;
    *(undefined4 *)((int)&(local_28->super_Output_data).data_size_ + 4) = 0;
    *(undefined4 *)&(local_28->super_Output_data).offset_ = 0xffffffff;
    *(undefined4 *)((int)&(local_28->super_Output_data).offset_ + 4) = 0xffffffff;
    puVar1 = &(local_28->super_Output_data).field_0x1c;
    *puVar1 = *puVar1 & 0xe0;
    local_28->output_section_ = (Output_section *)0x0;
    *(uint *)&local_28->addralign_ = local_2c;
    *(undefined4 *)((int)&local_28->addralign_ + 4) = 0;
    (local_28->super_Output_data)._vptr_Output_data =
         (_func_int_varargs **)&PTR__Output_data_space_0040dc2c;
    local_28[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)local_20;
    local_20 = Layout::add_output_section_data
                         (layout,pcVar13,8,CONCAT44(uVar12,uVar10),local_28,ORDER_INVALID,false);
  }
  if (local_20 != (Output_section *)0x0) {
    if (commons_section_type == COMMONS_SMALL) {
      local_20->field_0x91 = local_20->field_0x91 | 0x40;
    }
    else if (commons_section_type == COMMONS_LARGE) {
      local_20->field_0x91 = local_20->field_0x91 | 0x80;
    }
  }
  ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
             _M_start;
  ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
            _M_finish;
  if ((ppSVar11 == ppSVar6) || (pSVar5 = *ppSVar11, pSVar5 == (Symbol *)0x0)) {
    lVar14 = 0;
    ppSVar9 = ppSVar6;
  }
  else {
    lVar14 = 0;
    do {
      value = (Value_type)lVar14;
      ppSVar11 = ppSVar11 + 1;
      if (((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) {
        bVar4 = Symbol::is_common_shndx((pSVar5->u2_).shndx);
        if (bVar4) {
          pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);
          if (mapfile != (Mapfile *)0x0) {
            Mapfile::report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);
          }
          uVar10 = pSVar7->value_;
          if (local_28 != (Output_section_data *)0x0) {
            if (uVar10 != 0) {
              lVar14 = lVar14 + -1 + (ulonglong)uVar10;
              value = (uint)lVar14 & -uVar10;
              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);
            }
            Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value);
            lVar14 = lVar14 + (ulonglong)pSVar7->symsize_;
            ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).
                      _M_impl._M_finish;
            goto LAB_00208270;
          }
          lVar14 = Output_section::allocate(local_20,(ulonglong)pSVar7->symsize_,(ulonglong)uVar10);
          if (lVar14 == -1) {
            pcVar13 = local_20->name_;
            format = (char *)gettext(
                                    "out of patch space in section %s; relink with --incremental-full"
                                    );
                    /* WARNING: Subroutine does not return */
            gold_fallback(format,pcVar13);
          }
          Sized_symbol<32>::allocate_common(pSVar7,&local_20->super_Output_data,(Value_type)lVar14);
        }
        ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).
                  _M_impl._M_finish;
      }
LAB_00208270:
      ppSVar9 = ppSVar11;
    } while ((ppSVar6 != ppSVar11) &&
            (pSVar5 = *ppSVar11, ppSVar9 = ppSVar6, pSVar5 != (Symbol *)0x0));
  }
  if (local_28 != (Output_section_data *)0x0) {
    if (((local_28->super_Output_data).field_0x1c & 2) != 0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");
    }
    (local_28->super_Output_data).data_size_ = lVar14;
  }
  ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
             _M_start;
  if (ppSVar11 != ppSVar9) {
    (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish =
         ppSVar11;
  }
  return;
}



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

void FUN_00207f20(undefined **param_1,undefined **param_2,int param_3,undefined **param_4,
                 undefined **param_5,undefined **param_6)

{
  undefined **ppuVar1;
  undefined *puVar2;
  bool bVar3;
  undefined **ppuVar4;
  undefined **ppuVar5;
  undefined **ppuVar6;
  char cVar7;
  undefined **ppuVar8;
  int iVar9;
  undefined4 *puVar10;
  undefined4 *puVar11;
  uint uVar12;
  undefined ***pppuVar13;
  undefined4 *puVar14;
  undefined **ppuVar15;
  longlong lVar16;
  undefined **ppuStack_4c;
  undefined **ppuStack_48;
  undefined **ppuStack_44;
  undefined **ppuStack_40;
  undefined1 auStack_3c [12];
  undefined **local_30;
  undefined **local_2c;
  undefined **local_28;
  undefined **local_24;
  undefined **local_20;
  
  pppuVar13 = (undefined ***)auStack_3c;
  local_30 = &__DT_PLTGOT;
  local_2c = (undefined **)0x0;
  local_24 = (undefined **)0x0;
  if (*param_4 == param_4[1]) {
    return;
  }
  ppuVar15 = (undefined **)0x0;
  puVar14 = (undefined4 *)*param_4;
  do {
    while( true ) {
      puVar10 = puVar14;
      ppuVar8 = (undefined **)*puVar10;
      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {
        ppuStack_4c = param_1;
        ppuStack_48 = ppuVar8;
        ppuVar8 = (undefined **)FUN_001e6f30();
        *puVar10 = ppuVar8;
      }
      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&
         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;
LAB_00207f6c:
      *puVar10 = 0;
      puVar14 = puVar10 + 1;
      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;
    }
    ppuStack_4c = (undefined **)ppuVar8[3];
    local_20 = ppuVar8;
    cVar7 = FUN_001e6ac0();
    local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);
    if (cVar7 == '\0') goto LAB_00207f6c;
    ppuStack_40 = (undefined **)0x207fc9;
    iVar9 = FUN_00207550();
    bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;
    ppuVar8 = *(undefined ***)(iVar9 + 0x30);
    if (bVar3) {
      ppuVar8 = local_2c;
    }
    ppuVar15 = (undefined **)((uint)local_28 & 0xff);
    local_2c = ppuVar8;
    ppuVar8 = (undefined **)0x0;
    if (bVar3) {
      ppuVar8 = local_24;
    }
    local_24 = ppuVar8;
    puVar14 = puVar10 + 1;
  } while ((undefined4 *)param_4[1] != puVar10 + 1);
LAB_00208000:
  ppuVar8 = (undefined **)(puVar10 + 1);
  if ((char)ppuVar15 == '\0') {
    return;
  }
  ppuVar1 = (undefined **)*param_4;
  ppuVar4 = param_4;
  ppuVar6 = ppuStack_4c;
  ppuVar5 = ppuStack_40;
  if (ppuVar8 != ppuVar1) {
    ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);
    ppuStack_4c = param_6;
    uVar12 = 0x1f;
    if ((int)ppuVar15 >> 2 != 0) {
      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {
      }
    }
    FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);
    ppuStack_4c = ppuVar1;
    if ((int)ppuVar15 < 0x41) {
      ppuStack_40 = param_6;
      ppuStack_44 = param_1;
      ppuStack_48 = ppuVar8;
      FUN_00207850();
      ppuVar6 = ppuStack_4c;
      ppuVar5 = ppuStack_40;
    }
    else {
      ppuVar15 = ppuVar1 + 0x10;
      ppuStack_40 = param_6;
      ppuStack_44 = param_1;
      ppuStack_48 = ppuVar15;
      FUN_00207850();
      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;
          ppuVar15 = ppuVar15 + 1) {
        ppuStack_44 = param_6;
        ppuStack_48 = param_1;
        ppuStack_4c = ppuVar15;
        FUN_00207810();
        ppuVar1 = param_1;
        ppuVar4 = param_6;
      }
    }
  }
  ppuStack_40 = ppuVar1;
  if (param_3 == 1) {
    ppuVar8 = (undefined **)0x0;
    local_20 = local_30 + -0x40c92;
    ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);
    uVar12 = 0x403;
    ppuStack_4c = (undefined **)local_30[0x13a];
  }
  else if (param_3 == 0) {
    ppuVar8 = (undefined **)0x0;
    local_20 = (undefined **)((int)local_30 + -0x103262);
    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);
    uVar12 = 3;
    ppuStack_4c = (undefined **)local_30[0x13a];
  }
  else if (param_3 == 2) {
    ppuStack_4c = (undefined **)local_30[0x13a];
    if (ppuStack_4c[3] == (undefined *)0x0) {
LAB_002084b3:
      ppuStack_44 = local_30 + -0x40c6c;
      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);
      ppuStack_48 = (undefined **)0x69;
      ppuStack_40 = ppuVar4;
                    /* WARNING: Subroutine does not return */
      FUN_000da200();
    }
    iVar9 = *(int *)(ppuStack_4c[3] + 4);
    ppuStack_40 = ppuVar5;
    if (*(short *)(iVar9 + 0x3c) == 0) {
LAB_0020850f:
      ppuStack_4c = ppuVar6;
      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;
      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;
      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;
      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;
      FUN_000da200();
    }
    ppuVar8 = *(undefined ***)(iVar9 + 0x44);
    uVar12 = *(uint *)(iVar9 + 0x40) | 3;
    local_20 = local_30 + -0x40c96;
    ppuVar15 = local_30 + -0x45a2c;
  }
  else {
    if (param_3 != 3) {
      ppuStack_44 = local_30 + -0x40c1e;
      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);
      ppuStack_48 = (undefined **)0x11b;
                    /* WARNING: Subroutine does not return */
      FUN_000da200();
    }
    ppuStack_4c = (undefined **)local_30[0x13a];
    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;
    iVar9 = *(int *)(ppuStack_4c[3] + 4);
    if (*(short *)(iVar9 + 0x3e) == 0) {
      ppuStack_44 = local_30 + -0x40c34;
      ppuStack_4c = local_30 + -0x47473;
      ppuStack_48 = (undefined **)0xd5;
      ppuStack_40 = ppuVar8;
                    /* WARNING: Subroutine does not return */
      FUN_000da200();
    }
    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);
    uVar12 = *(uint *)(iVar9 + 0x48) | 3;
    local_20 = (undefined **)((int)local_30 + -0x103272);
    ppuVar15 = local_30 + -0x45a1c;
  }
  ppuStack_40 = ppuVar5;
  cVar7 = FUN_001a5190();
  if (cVar7 == '\0') {
    ppuStack_4c = (undefined **)0x30;
    ppuStack_48 = (undefined **)FUN_00246670();
    ppuStack_48[1] = (undefined *)0x0;
    ppuStack_48[2] = (undefined *)0x0;
    ppuStack_48[3] = (undefined *)0x0;
    ppuStack_48[4] = (undefined *)0x0;
    ppuStack_48[5] = (undefined *)0xffffffff;
    ppuStack_48[6] = (undefined *)0xffffffff;
    *(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;
    ppuStack_48[8] = (undefined *)0x0;
    ppuStack_48[9] = (undefined *)local_2c;
    ppuStack_48[10] = (undefined *)local_24;
    *ppuStack_48 = (undefined *)(local_30 + -0x18f5);
    ppuStack_48[0xb] = (undefined *)local_20;
    ppuStack_40 = (undefined **)0x0;
    ppuStack_44 = (undefined **)0x0;
    ppuStack_4c = ppuVar8;
    local_28 = ppuStack_48;
    local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);
  }
  else {
    ppuStack_4c = param_2;
    ppuStack_48 = ppuVar15;
    local_20 = (undefined **)FUN_001079e0();
    local_28 = (undefined **)0x0;
  }
  if (local_20 != (undefined **)0x0) {
    if (param_3 == 2) {
      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;
    }
    else if (param_3 == 3) {
      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;
    }
  }
  puVar14 = (undefined4 *)*param_4;
  puVar10 = (undefined4 *)param_4[1];
  if ((puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)) {
    lVar16 = 0;
    puVar11 = puVar10;
  }
  else {
    lVar16 = 0;
    do {
      puVar14 = puVar14 + 1;
      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&
         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {
        ppuStack_4c = (undefined **)ppuVar15[3];
        local_2c = ppuVar15;
        cVar7 = FUN_001e6ac0();
        if (cVar7 != '\0') {
          local_24 = local_2c;
          ppuStack_40 = (undefined **)0x20831b;
          local_2c = (undefined **)FUN_00207550();
          if (param_5 != (undefined **)0x0) {
            ppuStack_44 = (undefined **)local_2c[0xd];
            ppuStack_40 = (undefined **)0x0;
            ppuStack_48 = local_24;
            ppuStack_4c = param_5;
            FUN_001207b0();
          }
          puVar2 = local_2c[0xc];
          if (local_28 != (undefined **)0x0) {
            if (puVar2 != (undefined *)0x0) {
              lVar16 = lVar16 + -1 + ZEXT48(puVar2);
              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &
                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);
            }
            ppuStack_44 = (undefined **)lVar16;
            ppuStack_48 = local_28;
            ppuStack_4c = local_2c;
            FUN_001ea5f0();
            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);
            puVar10 = (undefined4 *)param_4[1];
            goto LAB_00208270;
          }
          ppuStack_4c = (undefined **)0x0;
          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);
          ppuVar15 = local_30;
          if (lVar16 == -1) {
            ppuVar8 = (undefined **)local_20[8];
            ppuStack_4c = local_30 + -0x43ac7;
            ppuStack_4c = (undefined **)gettext();
            pppuVar13 = &ppuStack_4c;
            ppuStack_48 = ppuVar8;
            FUN_000d1300();
            ppuVar6 = ppuStack_4c;
            goto LAB_0020850f;
          }
          ppuStack_48 = local_20;
          ppuStack_4c = local_2c;
          ppuStack_44 = (undefined **)lVar16;
          FUN_001ea5f0();
        }
        puVar10 = (undefined4 *)param_4[1];
      }
LAB_00208270:
      puVar11 = puVar14;
    } while ((puVar10 != puVar14) &&
            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));
  }
  if (local_28 != (undefined **)0x0) {
    if (((uint)local_28[7] & 2) != 0) {
      ppuStack_40 = local_28;
      ppuStack_44 = local_30 + -0x40c68;
      ppuStack_4c = local_30 + -0x47469;
      ppuStack_48 = (undefined **)0x231;
                    /* WARNING: Subroutine does not return */
      FUN_000da200();
    }
    *(longlong *)(local_28 + 3) = lVar16;
  }
  if ((undefined4 *)*param_4 != puVar11) {
    param_4[1] = *param_4;
  }
  return;
}


CALL 0x000b4846
ADD EAX,0x20c0db
PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x2c
MOV dword ptr [ESP + 0xc],EAX
MOV EAX,dword ptr [ESP + 0x4c]
MOV dword ptr [ESP + 0x10],0x0
MOV ESI,dword ptr [EAX]
MOV dword ptr [ESP + 0x18],0x0
CMP ESI,dword ptr [EAX + 0x4]
JZ 0x0020811f
XOR EDI,EDI
MOV EBP,EAX
JMP 0x00207f7e
TEST byte ptr [EDX + 0x2a],0x7
JNZ 0x00207f6c
TEST byte ptr [EDX + 0x2b],0x20
JZ 0x00207fa0
MOV dword ptr [ESI],0x0
ADD ESI,0x4
CMP dword ptr [EBP + 0x4],ESI
JZ 0x00208000
MOV EDX,dword ptr [ESI]
TEST byte ptr [EDX + 0x2a],0x10
JZ 0x00207f60
SUB ESP,0x8
PUSH EDX
PUSH dword ptr [ESP + 0x4c]
MOV EBX,dword ptr [ESP + 0x1c]
CALL 0x001e6f30
ADD ESP,0x10
MOV EDX,EAX
MOV dword ptr [ESI],EAX
JMP 0x00207f60
SUB ESP,0xc
PUSH dword ptr [EDX + 0xc]
MOV EBX,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x2c],EDX
CALL 0x001e6ac0
ADD ESP,0x10
MOV byte ptr [ESP + 0x14],AL
TEST AL,AL
JZ 0x00207f6c
MOV EDX,dword ptr [ESP + 0x1c]
MOV EAX,EDX
CALL 0x00207550
MOV EDI,dword ptr [ESP + 0x10]
MOV ECX,dword ptr [ESP + 0x18]
XOR EDX,EDX
MOV EAX,dword ptr [EAX + 0x30]
MOV EBX,ECX
CMP EDI,EAX
SBB EBX,EDX
CMOVNC EAX,EDI
MOVZX EDI,byte ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,0x0
CMOVNC EAX,ECX
ADD ESI,0x4
MOV dword ptr [ESP + 0x18],EAX
CMP dword ptr [EBP + 0x4],ESI
JNZ 0x00207f7e
LEA ESI,[ESI]
MOV EAX,EDI
TEST AL,AL
JZ 0x0020811f
MOV EAX,dword ptr [ESP + 0x4c]
MOV EBX,dword ptr [EAX]
CMP ESI,EBX
JZ 0x00208085
MOV EDI,ESI
MOV EAX,dword ptr [ESP + 0x40]
MOV EDX,dword ptr [ESP + 0x54]
SUB ESP,0xc
SUB EDI,EBX
MOV ECX,EDI
PUSH EDX
SAR ECX,0x2
PUSH EAX
MOV EAX,0x1f
BSR ECX,ECX
XOR ECX,0x1f
SUB EAX,ECX
ADD EAX,EAX
PUSH EAX
PUSH ESI
PUSH EBX
CALL 0x00207ca0
ADD ESP,0x20
CMP EDI,0x40
JLE 0x002082c0
MOV EAX,dword ptr [ESP + 0x40]
MOV EDX,dword ptr [ESP + 0x54]
LEA EDI,[EBX + 0x40]
PUSH EDX
PUSH EAX
PUSH EDI
PUSH EBX
CALL 0x00207850
ADD ESP,0x10
CMP ESI,EDI
JZ 0x00208085
MOV EBX,dword ptr [ESP + 0x40]
MOV EBP,dword ptr [ESP + 0x54]
SUB ESP,0x4
PUSH EBP
PUSH EBX
PUSH EDI
ADD EDI,0x4
CALL 0x00207810
ADD ESP,0x10
CMP ESI,EDI
JNZ 0x00208070
CMP dword ptr [ESP + 0x48],0x1
JZ 0x002082df
MOV EAX,dword ptr [ESP + 0x48]
TEST EAX,EAX
JZ 0x00208430
CMP dword ptr [ESP + 0x48],0x2
JNZ 0x00208130
MOV EAX,dword ptr [ESP + 0xc]
LEA EAX,[EAX + 0x4e8]
MOV EAX,dword ptr [EAX]
MOV EDX,dword ptr [EAX + 0xc]
TEST EDX,EDX
JZ 0x002084b3
MOV EDX,dword ptr [EDX + 0x4]
CMP word ptr [EDX + 0x3c],0x0
JZ 0x0020850f
MOV EBX,dword ptr [EDX + 0x40]
MOV EBP,dword ptr [EDX + 0x44]
OR EBX,0x3
MOV EDI,EBX
MOV EBX,dword ptr [ESP + 0xc]
LEA ECX,[EBX + 0xffefcda8]
LEA ESI,[EBX + 0xffee9750]
MOV dword ptr [ESP + 0x1c],ECX
JMP 0x0020817f
MOV ECX,EBP
MOV EAX,dword ptr [ESP + 0x14]
TEST EAX,EAX
JZ 0x0020810e
TEST byte ptr [EAX + 0x1c],0x2
JNZ 0x002084cd
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [EAX + 0xc],ESI
MOV dword ptr [EAX + 0x10],EDI
MOV EAX,dword ptr [ESP + 0x4c]
MOV EAX,dword ptr [EAX]
CMP EAX,ECX
JZ 0x0020811f
MOV EBX,dword ptr [ESP + 0x4c]
MOV dword ptr [EBX + 0x4],EAX
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP dword ptr [ESP + 0x48],0x3
JNZ 0x00208496
MOV EAX,dword ptr [ESP + 0xc]
LEA EAX,[EAX + 0x4e8]
MOV EAX,dword ptr [EAX]
MOV EDX,dword ptr [EAX + 0xc]
TEST EDX,EDX
JZ 0x002084b3
MOV EDX,dword ptr [EDX + 0x4]
CMP word ptr [EDX + 0x3e],0x0
JZ 0x00208479
MOV EBX,dword ptr [EDX + 0x48]
MOV EBP,dword ptr [EDX + 0x4c]
OR EBX,0x3
MOV EDI,EBX
MOV EBX,dword ptr [ESP + 0xc]
LEA ECX,[EBX + 0xffefcd8e]
LEA ESI,[EBX + 0xffee9790]
MOV dword ptr [ESP + 0x1c],ECX
SUB ESP,0xc
PUSH EAX
MOV EBX,dword ptr [ESP + 0x1c]
CALL 0x001a5190
ADD ESP,0x10
TEST AL,AL
JNZ 0x00208400
SUB ESP,0xc
PUSH 0x30
MOV EBX,dword ptr [ESP + 0x1c]
CALL 0x00246670
MOV EBX,dword ptr [ESP + 0x1c]
MOV dword ptr [EAX + 0x4],0x0
MOV ECX,EAX
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 [ESP + 0x24],EAX
MOV EAX,dword ptr [ESP + 0x20]
MOV dword ptr [ECX + 0x24],EAX
MOV EAX,dword ptr [ESP + 0x28]
MOV dword ptr [ECX + 0x28],EAX
LEA EAX,[EBX + 0xffff9c2c]
MOV dword ptr [ECX],EAX
MOV EAX,dword ptr [ESP + 0x2c]
ADD ESP,0x10
MOV dword ptr [ECX + 0x2c],EAX
PUSH 0x0
PUSH 0x0
PUSH ECX
PUSH EBP
PUSH EDI
PUSH 0x8
PUSH ESI
PUSH dword ptr [ESP + 0x60]
CALL 0x00111290
MOV dword ptr [ESP + 0x3c],EAX
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x1c]
TEST ECX,ECX
JZ 0x00208248
CMP dword ptr [ESP + 0x48],0x2
JZ 0x00208460
CMP dword ptr [ESP + 0x48],0x3
JNZ 0x00208248
MOV EAX,dword ptr [ESP + 0x1c]
OR byte ptr [EAX + 0x91],0x80
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [ESP + 0x4c]
MOV EBX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x4]
MOV ECX,EAX
CMP EBX,EAX
JZ 0x00208470
MOV EDX,dword ptr [EBX]
TEST EDX,EDX
JZ 0x00208470
LEA EBP,[EBX + 0x4]
XOR ESI,ESI
XOR EDI,EDI
JMP 0x00208286
CMP EAX,EBP
JZ 0x002080f0
ADD EBP,0x4
MOV EDX,dword ptr [EBP + -0x4]
TEST EDX,EDX
JZ 0x00208428
TEST byte ptr [EDX + 0x2a],0x7
JNZ 0x00208270
TEST byte ptr [EDX + 0x2b],0x20
JNZ 0x00208270
SUB ESP,0xc
PUSH dword ptr [EDX + 0xc]
MOV EBX,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x20],EDX
CALL 0x001e6ac0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x10]
TEST AL,AL
JNZ 0x00208310
MOV EAX,dword ptr [ESP + 0x4c]
MOV EAX,dword ptr [EAX + 0x4]
JMP 0x00208270
MOV EAX,dword ptr [ESP + 0x40]
MOV EDX,dword ptr [ESP + 0x54]
PUSH EDX
PUSH EAX
PUSH ESI
PUSH EBX
CALL 0x00207850
ADD ESP,0x10
CMP dword ptr [ESP + 0x48],0x1
JNZ 0x00208090
MOV EBX,dword ptr [ESP + 0xc]
XOR EBP,EBP
LEA EAX,[EBX + 0x4e8]
LEA EDI,[EBX + 0xffefcdb8]
LEA ESI,[EBX + 0xffee973b]
MOV dword ptr [ESP + 0x1c],EDI
MOV EDI,0x403
MOV EAX,dword ptr [EAX]
JMP 0x0020817f
MOV EAX,EDX
MOV dword ptr [ESP + 0x18],EDX
CALL 0x00207550
MOV EDX,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x10],EAX
TEST EDX,EDX
JZ 0x00208343
MOV ECX,dword ptr [EAX + 0x34]
XOR EBX,EBX
PUSH EBX
PUSH ECX
MOV EDX,dword ptr [ESP + 0x20]
PUSH EDX
PUSH dword ptr [ESP + 0x5c]
MOV EBX,dword ptr [ESP + 0x1c]
CALL 0x001207b0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x10]
XOR EBX,EBX
MOV ECX,dword ptr [EAX + 0x30]
MOV EAX,dword ptr [ESP + 0x14]
TEST EAX,EAX
JZ 0x002083b0
MOV EAX,ESI
TEST ECX,ECX
JZ 0x00208377
ADD ESI,-0x1
ADC EDI,-0x1
ADD ESI,ECX
ADC EDI,EBX
NEG ECX
MOV EAX,ESI
ADC EBX,0x0
MOV EDX,EDI
AND EAX,ECX
NEG EBX
MOV ESI,EAX
AND EDX,EBX
MOV EDI,EDX
SUB ESP,0x4
PUSH EAX
PUSH dword ptr [ESP + 0x1c]
PUSH dword ptr [ESP + 0x1c]
MOV EBX,dword ptr [ESP + 0x1c]
CALL 0x001ea5f0
MOV EAX,dword ptr [ESP + 0x20]
XOR EDX,EDX
MOV EAX,dword ptr [EAX + 0x34]
ADD ESI,EAX
ADC EDI,EDX
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x4c]
MOV EAX,dword ptr [EAX + 0x4]
JMP 0x00208270
SUB ESP,0xc
XOR EDX,EDX
PUSH EBX
PUSH ECX
MOV EAX,dword ptr [ESP + 0x24]
MOV EAX,dword ptr [EAX + 0x34]
PUSH EDX
PUSH EAX
PUSH dword ptr [ESP + 0x38]
MOV EBX,dword ptr [ESP + 0x2c]
CALL 0x0015e340
ADD ESP,0x20
MOV ESI,EAX
MOV EAX,EDX
MOV EDI,EDX
AND EAX,ESI
CMP EAX,-0x1
JZ 0x002084ea
SUB ESP,0x4
PUSH ESI
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x1c]
MOV EBX,dword ptr [ESP + 0x1c]
CALL 0x001ea5f0
ADD ESP,0x10
JMP 0x002082b0
SUB ESP,0x8
PUSH ESI
PUSH dword ptr [ESP + 0x50]
MOV EBX,dword ptr [ESP + 0x1c]
CALL 0x001079e0
MOV dword ptr [ESP + 0x2c],EAX
ADD ESP,0x10
MOV dword ptr [ESP + 0x14],0x0
JMP 0x0020821e
MOV ECX,EAX
JMP 0x002080f2
MOV EBX,dword ptr [ESP + 0xc]
XOR EBP,EBP
LEA EAX,[EBX + 0x4e8]
LEA EDI,[EBX + 0xffefcd9e]
LEA ESI,[EBX + 0xffee4dc5]
MOV dword ptr [ESP + 0x1c],EDI
MOV EDI,0x3
MOV EAX,dword ptr [EAX]
JMP 0x0020817f
MOV EAX,dword ptr [ESP + 0x1c]
OR byte ptr [EAX + 0x91],0x40
JMP 0x00208248
XOR ESI,ESI
XOR EDI,EDI
JMP 0x002080f2
PUSH ESI
MOV EBX,dword ptr [ESP + 0x10]
LEA EAX,[EBX + 0xffefcf30]
PUSH EAX
LEA EAX,[EBX + 0xffee2e34]
PUSH 0xd5
PUSH EAX
CALL 0x000da200
PUSH EBX
MOV EBX,dword ptr [ESP + 0x10]
LEA EAX,[EBX + 0xffefcf88]
PUSH EAX
LEA EAX,[EBX + 0xffefcd79]
PUSH 0x11b
PUSH EAX
CALL 0x000da200
PUSH EBP
MOV EBX,dword ptr [ESP + 0x10]
LEA EAX,[EBX + 0xffefce50]
PUSH EAX
LEA EAX,[EBX + 0xffece26d]
PUSH 0x69
PUSH EAX
CALL 0x000da200
PUSH EAX
MOV EBX,dword ptr [ESP + 0x10]
LEA EAX,[EBX + 0xffefce60]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0x231
PUSH EAX
CALL 0x000da200
MOV EAX,dword ptr [ESP + 0x1c]
SUB ESP,0xc
MOV EDI,dword ptr [ESP + 0x18]
MOV ESI,dword ptr [EAX + 0x20]
LEA EAX,[EDI + 0xffef14e4]
MOV EBX,EDI
PUSH EAX
CALL 0x0002c440
POP EDX
POP ECX
PUSH ESI
PUSH EAX
CALL 0x000d1300
PUSH EDI
MOV EBX,dword ptr [ESP + 0x10]
LEA EAX,[EBX + 0xffefcf4c]
PUSH EAX
LEA EAX,[EBX + 0xffee2e34]
PUSH 0xc5
PUSH EAX
CALL 0x000da200
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_00207f20(undefined **param_1,undefined **param_2,int param_3,undefined **param_4,\n                 undefined **param_5,undefined **param_6)\n\n{\n  undefined **ppuVar1;\n  undefined *puVar2;\n  bool bVar3;\n  undefined **ppuVar4;\n  undefined **ppuVar5;\n  undefined **ppuVar6;\n  char cVar7;\n  undefined **ppuVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  undefined4 *puVar11;\n  uint uVar12;\n  undefined ***pppuVar13;\n  undefined4 *puVar14;\n  undefined **ppuVar15;\n  longlong lVar16;\n  undefined **ppuStack_4c;\n  undefined **ppuStack_48;\n  undefined **ppuStack_44;\n  undefined **ppuStack_40;\n  undefined1 auStack_3c [12];\n  undefined **local_30;\n  undefined **local_2c;\n  undefined **local_28;\n  undefined **local_24;\n  undefined **local_20;\n  \n  pppuVar13 = (undefined ***)auStack_3c;\n  local_30 = &__DT_PLTGOT;\n  local_2c = (undefined **)0x0;\n  local_24 = (undefined **)0x0;\n  if (*param_4 == param_4[1]) {\n    return;\n  }\n  ppuVar15 = (undefined **)0x0;\n  puVar14 = (undefined4 *)*param_4;\n  do {\n    while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }\n    ppuStack_4c = (undefined **)ppuVar8[3];\n    local_20 = ppuVar8;\n    cVar7 = FUN_001e6ac0();\n    local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);\n    if (cVar7 == '\0') goto LAB_00207f6c;\n    ppuStack_40 = (undefined **)0x207fc9;\n    iVar9 = FUN_00207550();\n    bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;\n    ppuVar8 = *(undefined ***)(iVar9 + 0x30);\n    if (bVar3) {\n      ppuVar8 = local_2c;\n    }\n    ppuVar15 = (undefined **)((uint)local_28 & 0xff);\n    local_2c = ppuVar8;\n    ppuVar8 = (undefined **)0x0;\n    if (bVar3) {\n      ppuVar8 = local_24;\n    }\n    local_24 = ppuVar8;\n    puVar14 = puVar10 + 1;\n  } while ((undefined4 *)param_4[1] != puVar10 + 1);\nLAB_00208000:\n  ppuVar8 = (undefined **)(puVar10 + 1);\n  if ((char)ppuVar15 == '\0') {\n    return;\n  }\n  ppuVar1 = (undefined **)*param_4;\n  ppuVar4 = param_4;\n  ppuVar6 = ppuStack_4c;\n  ppuVar5 = ppuStack_40;\n  if (ppuVar8 != ppuVar1) {\n    ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);\n    ppuStack_4c = param_6;\n    uVar12 = 0x1f;\n    if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }\n    FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);\n    ppuStack_4c = ppuVar1;\n    if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }\n  }\n  ppuStack_40 = ppuVar1;\n  if (param_3 == 1) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = local_30 + -0x40c92;\n    ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);\n    uVar12 = 0x403;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }\n  ppuStack_40 = ppuVar5;\n  cVar7 = FUN_001a5190();\n  if (cVar7 == '\0') {\n    ppuStack_4c = (undefined **)0x30;\n    ppuStack_48 = (undefined **)FUN_00246670();\n    ppuStack_48[1] = (undefined *)0x0;\n    ppuStack_48[2] = (undefined *)0x0;\n    ppuStack_48[3] = (undefined *)0x0;\n    ppuStack_48[4] = (undefined *)0x0;\n    ppuStack_48[5] = (undefined *)0xffffffff;\n    ppuStack_48[6] = (undefined *)0xffffffff;\n    *(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;\n    ppuStack_48[8] = (undefined *)0x0;\n    ppuStack_48[9] = (undefined *)local_2c;\n    ppuStack_48[10] = (undefined *)local_24;\n    *ppuStack_48 = (undefined *)(local_30 + -0x18f5);\n    ppuStack_48[0xb] = (undefined *)local_20;\n    ppuStack_40 = (undefined **)0x0;\n    ppuStack_44 = (undefined **)0x0;\n    ppuStack_4c = ppuVar8;\n    local_28 = ppuStack_48;\n    local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);\n  }\n  else {\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }\n  if (local_20 != (undefined **)0x0) {\n    if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }\n  }\n  puVar14 = (undefined4 *)*param_4;\n  puVar10 = (undefined4 *)param_4[1];\n  if ((puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)) {\n    lVar16 = 0;\n    puVar11 = puVar10;\n  }\n  else {\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }\n  if (local_28 != (undefined **)0x0) {\n    if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    *(longlong *)(local_28 + 3) = lVar16;\n  }\n  if ((undefined4 *)*param_4 != puVar11) {\n    param_4[1] = *param_4;\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_00207f20(undefined **param_1,undefined **param_2,int param_3,undefined **param_4,\n                 undefined **param_5,undefined **param_6)\n\n{\n  undefined **ppuVar1;\n  undefined *puVar2;\n  bool bVar3;\n  undefined **ppuVar4;\n  undefined **ppuVar5;\n  undefined **ppuVar6;\n  char cVar7;\n  undefined **ppuVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  undefined4 *puVar11;\n  uint uVar12;\n  undefined ***pppuVar13;\n  undefined4 *puVar14;\n  undefined **ppuVar15;\n  longlong lVar16;\n  undefined **ppuStack_4c;\n  undefined **ppuStack_48;\n  undefined **ppuStack_44;\n  undefined **ppuStack_40;\n  undefined1 auStack_3c [12];\n  undefined **local_30;\n  undefined **local_2c;\n  undefined **local_28;\n  undefined **local_24;\n  undefined **local_20;\n  \n  pppuVar13 = (undefined ***)auStack_3c;\n  local_30 = &__DT_PLTGOT;\n  local_2c = (undefined **)0x0;\n  local_24 = (undefined **)0x0;\n  if (*param_4 == param_4[1]) {\n    return;\n  }\n  ppuVar15 = (undefined **)0x0;\n  puVar14 = (undefined4 *)*param_4;\n  do {\n    while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }\n    ppuStack_4c = (undefined **)ppuVar8[3];\n    local_20 = ppuVar8;\n    cVar7 = FUN_001e6ac0();\n    local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);\n    if (cVar7 == '\0') goto LAB_00207f6c;\n    ppuStack_40 = (undefined **)0x207fc9;\n    iVar9 = FUN_00207550();\n    bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;\n    ppuVar8 = *(undefined ***)(iVar9 + 0x30);\n    if (bVar3) {\n      ppuVar8 = local_2c;\n    }\n    ppuVar15 = (undefined **)((uint)local_28 & 0xff);\n    local_2c = ppuVar8;\n    ppuVar8 = (undefined **)0x0;\n    if (bVar3) {\n      ppuVar8 = local_24;\n    }\n    local_24 = ppuVar8;\n    puVar14 = puVar10 + 1;\n  } while ((undefined4 *)param_4[1] != puVar10 + 1);\nLAB_00208000:\n  ppuVar8 = (undefined **)(puVar10 + 1);\n  if ((char)ppuVar15 == '\0') {\n    return;\n  }\n  ppuVar1 = (undefined **)*param_4;\n  ppuVar4 = param_4;\n  ppuVar6 = ppuStack_4c;\n  ppuVar5 = ppuStack_40;\n  if (ppuVar8 != ppuVar1) {\n    ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);\n    ppuStack_4c = param_6;\n    uVar12 = 0x1f;\n    if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }\n    FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);\n    ppuStack_4c = ppuVar1;\n    if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }\n  }\n  ppuStack_40 = ppuVar1;\n  if (param_3 == 1) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = local_30 + -0x40c92;\n    ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);\n    uVar12 = 0x403;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }\n  ppuStack_40 = ppuVar5;\n  cVar7 = FUN_001a5190();\n  if (cVar7 == '\0') {\n    ppuStack_4c = (undefined **)0x30;\n    ppuStack_48 = (undefined **)FUN_00246670();\n    ppuStack_48[1] = (undefined *)0x0;\n    ppuStack_48[2] = (undefined *)0x0;\n    ppuStack_48[3] = (undefined *)0x0;\n    ppuStack_48[4] = (undefined *)0x0;\n    ppuStack_48[5] = (undefined *)0xffffffff;\n    ppuStack_48[6] = (undefined *)0xffffffff;\n    *(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;\n    ppuStack_48[8] = (undefined *)0x0;\n    ppuStack_48[9] = (undefined *)local_2c;\n    ppuStack_48[10] = (undefined *)local_24;\n    *ppuStack_48 = (undefined *)(local_30 + -0x18f5);\n    ppuStack_48[0xb] = (undefined *)local_20;\n    ppuStack_40 = (undefined **)0x0;\n    ppuStack_44 = (undefined **)0x0;\n    ppuStack_4c = ppuVar8;\n    local_28 = ppuStack_48;\n    local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);\n  }\n  else {\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }\n  if (local_20 != (undefined **)0x0) {\n    if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }\n  }\n  puVar14 = (undefined4 *)*param_4;\n  puVar10 = (undefined4 *)param_4[1];\n  if ((puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)) {\n    lVar16 = 0;\n    puVar11 = puVar10;\n  }\n  else {\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }\n  if (local_28 != (undefined **)0x0) {\n    if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    *(longlong *)(local_28 + 3) = lVar16;\n  }\n  if ((undefined4 *)*param_4 != puVar11) {\n    param_4[1] = *param_4;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00207f20(undefined **param_1,undefined **param_2,int param_3,undefined **param_4,\n                 undefined **param_5,undefined **param_6)" identifier (parameter_list "(undefined **param_1,undefined **param_2,int param_3,undefined **param_4,\n                 undefined **param_5,undefined **param_6)" ( (parameter_declaration "undefined **param_1" type_identifier (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier))) , (parameter_declaration "undefined **param_2" type_identifier (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier))) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined **param_4" type_identifier (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier))) , (parameter_declaration "undefined **param_5" type_identifier (pointer_declarator "**param_5" * (pointer_declarator "*param_5" * identifier))) , (parameter_declaration "undefined **param_6" type_identifier (pointer_declarator "**param_6" * (pointer_declarator "*param_6" * identifier))) ))) (compound_statement "{\n  undefined **ppuVar1;\n  undefined *puVar2;\n  bool bVar3;\n  undefined **ppuVar4;\n  undefined **ppuVar5;\n  undefined **ppuVar6;\n  char cVar7;\n  undefined **ppuVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  undefined4 *puVar11;\n  uint uVar12;\n  undefined ***pppuVar13;\n  undefined4 *puVar14;\n  undefined **ppuVar15;\n  longlong lVar16;\n  undefined **ppuStack_4c;\n  undefined **ppuStack_48;\n  undefined **ppuStack_44;\n  undefined **ppuStack_40;\n  undefined1 auStack_3c [12];\n  undefined **local_30;\n  undefined **local_2c;\n  undefined **local_28;\n  undefined **local_24;\n  undefined **local_20;\n  \n  pppuVar13 = (undefined ***)auStack_3c;\n  local_30 = &__DT_PLTGOT;\n  local_2c = (undefined **)0x0;\n  local_24 = (undefined **)0x0;\n  if (*param_4 == param_4[1]) {\n    return;\n  }\n  ppuVar15 = (undefined **)0x0;\n  puVar14 = (undefined4 *)*param_4;\n  do {\n    while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }\n    ppuStack_4c = (undefined **)ppuVar8[3];\n    local_20 = ppuVar8;\n    cVar7 = FUN_001e6ac0();\n    local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);\n    if (cVar7 == '\0') goto LAB_00207f6c;\n    ppuStack_40 = (undefined **)0x207fc9;\n    iVar9 = FUN_00207550();\n    bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;\n    ppuVar8 = *(undefined ***)(iVar9 + 0x30);\n    if (bVar3) {\n      ppuVar8 = local_2c;\n    }\n    ppuVar15 = (undefined **)((uint)local_28 & 0xff);\n    local_2c = ppuVar8;\n    ppuVar8 = (undefined **)0x0;\n    if (bVar3) {\n      ppuVar8 = local_24;\n    }\n    local_24 = ppuVar8;\n    puVar14 = puVar10 + 1;\n  } while ((undefined4 *)param_4[1] != puVar10 + 1);\nLAB_00208000:\n  ppuVar8 = (undefined **)(puVar10 + 1);\n  if ((char)ppuVar15 == '\0') {\n    return;\n  }\n  ppuVar1 = (undefined **)*param_4;\n  ppuVar4 = param_4;\n  ppuVar6 = ppuStack_4c;\n  ppuVar5 = ppuStack_40;\n  if (ppuVar8 != ppuVar1) {\n    ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);\n    ppuStack_4c = param_6;\n    uVar12 = 0x1f;\n    if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }\n    FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);\n    ppuStack_4c = ppuVar1;\n    if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }\n  }\n  ppuStack_40 = ppuVar1;\n  if (param_3 == 1) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = local_30 + -0x40c92;\n    ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);\n    uVar12 = 0x403;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }\n  ppuStack_40 = ppuVar5;\n  cVar7 = FUN_001a5190();\n  if (cVar7 == '\0') {\n    ppuStack_4c = (undefined **)0x30;\n    ppuStack_48 = (undefined **)FUN_00246670();\n    ppuStack_48[1] = (undefined *)0x0;\n    ppuStack_48[2] = (undefined *)0x0;\n    ppuStack_48[3] = (undefined *)0x0;\n    ppuStack_48[4] = (undefined *)0x0;\n    ppuStack_48[5] = (undefined *)0xffffffff;\n    ppuStack_48[6] = (undefined *)0xffffffff;\n    *(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;\n    ppuStack_48[8] = (undefined *)0x0;\n    ppuStack_48[9] = (undefined *)local_2c;\n    ppuStack_48[10] = (undefined *)local_24;\n    *ppuStack_48 = (undefined *)(local_30 + -0x18f5);\n    ppuStack_48[0xb] = (undefined *)local_20;\n    ppuStack_40 = (undefined **)0x0;\n    ppuStack_44 = (undefined **)0x0;\n    ppuStack_4c = ppuVar8;\n    local_28 = ppuStack_48;\n    local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);\n  }\n  else {\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }\n  if (local_20 != (undefined **)0x0) {\n    if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }\n  }\n  puVar14 = (undefined4 *)*param_4;\n  puVar10 = (undefined4 *)param_4[1];\n  if ((puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)) {\n    lVar16 = 0;\n    puVar11 = puVar10;\n  }\n  else {\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }\n  if (local_28 != (undefined **)0x0) {\n    if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    *(longlong *)(local_28 + 3) = lVar16;\n  }\n  if ((undefined4 *)*param_4 != puVar11) {\n    param_4[1] = *param_4;\n  }\n  return;\n}" { (declaration "undefined **ppuVar1;" type_identifier (pointer_declarator "**ppuVar1" * (pointer_declarator "*ppuVar1" * identifier)) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "undefined **ppuVar4;" type_identifier (pointer_declarator "**ppuVar4" * (pointer_declarator "*ppuVar4" * identifier)) ;) (declaration "undefined **ppuVar5;" type_identifier (pointer_declarator "**ppuVar5" * (pointer_declarator "*ppuVar5" * identifier)) ;) (declaration "undefined **ppuVar6;" type_identifier (pointer_declarator "**ppuVar6" * (pointer_declarator "*ppuVar6" * identifier)) ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "undefined **ppuVar8;" type_identifier (pointer_declarator "**ppuVar8" * (pointer_declarator "*ppuVar8" * identifier)) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "undefined ***pppuVar13;" type_identifier (pointer_declarator "***pppuVar13" * (pointer_declarator "**pppuVar13" * (pointer_declarator "*pppuVar13" * identifier))) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined **ppuVar15;" type_identifier (pointer_declarator "**ppuVar15" * (pointer_declarator "*ppuVar15" * identifier)) ;) (declaration "longlong lVar16;" type_identifier identifier ;) (declaration "undefined **ppuStack_4c;" type_identifier (pointer_declarator "**ppuStack_4c" * (pointer_declarator "*ppuStack_4c" * identifier)) ;) (declaration "undefined **ppuStack_48;" type_identifier (pointer_declarator "**ppuStack_48" * (pointer_declarator "*ppuStack_48" * identifier)) ;) (declaration "undefined **ppuStack_44;" type_identifier (pointer_declarator "**ppuStack_44" * (pointer_declarator "*ppuStack_44" * identifier)) ;) (declaration "undefined **ppuStack_40;" type_identifier (pointer_declarator "**ppuStack_40" * (pointer_declarator "*ppuStack_40" * identifier)) ;) (declaration "undefined1 auStack_3c [12];" type_identifier (array_declarator "auStack_3c [12]" identifier [ number_literal ]) ;) (declaration "undefined **local_30;" type_identifier (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier)) ;) (declaration "undefined **local_2c;" type_identifier (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier)) ;) (declaration "undefined **local_28;" type_identifier (pointer_declarator "**local_28" * (pointer_declarator "*local_28" * identifier)) ;) (declaration "undefined **local_24;" type_identifier (pointer_declarator "**local_24" * (pointer_declarator "*local_24" * identifier)) ;) (declaration "undefined **local_20;" type_identifier (pointer_declarator "**local_20" * (pointer_declarator "*local_20" * identifier)) ;) (expression_statement "pppuVar13 = (undefined ***)auStack_3c;" (assignment_expression "pppuVar13 = (undefined ***)auStack_3c" identifier = (cast_expression "(undefined ***)auStack_3c" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "local_30 = &__DT_PLTGOT;" (assignment_expression "local_30 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_2c = (undefined **)0x0;" (assignment_expression "local_2c = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_24 = (undefined **)0x0;" (assignment_expression "local_24 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (*param_4 == param_4[1]) {\n    return;\n  }" if (parenthesized_expression "(*param_4 == param_4[1])" ( (binary_expression "*param_4 == param_4[1]" (pointer_expression "*param_4" * identifier) == (subscript_expression "param_4[1]" identifier [ number_literal ])) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "ppuVar15 = (undefined **)0x0;" (assignment_expression "ppuVar15 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "puVar14 = (undefined4 *)*param_4;" (assignment_expression "puVar14 = (undefined4 *)*param_4" identifier = (cast_expression "(undefined4 *)*param_4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier))) ;) (do_statement "do {\n    while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }\n    ppuStack_4c = (undefined **)ppuVar8[3];\n    local_20 = ppuVar8;\n    cVar7 = FUN_001e6ac0();\n    local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);\n    if (cVar7 == '\0') goto LAB_00207f6c;\n    ppuStack_40 = (undefined **)0x207fc9;\n    iVar9 = FUN_00207550();\n    bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;\n    ppuVar8 = *(undefined ***)(iVar9 + 0x30);\n    if (bVar3) {\n      ppuVar8 = local_2c;\n    }\n    ppuVar15 = (undefined **)((uint)local_28 & 0xff);\n    local_2c = ppuVar8;\n    ppuVar8 = (undefined **)0x0;\n    if (bVar3) {\n      ppuVar8 = local_24;\n    }\n    local_24 = ppuVar8;\n    puVar14 = puVar10 + 1;\n  } while ((undefined4 *)param_4[1] != puVar10 + 1);" do (compound_statement "{\n    while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }\n    ppuStack_4c = (undefined **)ppuVar8[3];\n    local_20 = ppuVar8;\n    cVar7 = FUN_001e6ac0();\n    local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);\n    if (cVar7 == '\0') goto LAB_00207f6c;\n    ppuStack_40 = (undefined **)0x207fc9;\n    iVar9 = FUN_00207550();\n    bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;\n    ppuVar8 = *(undefined ***)(iVar9 + 0x30);\n    if (bVar3) {\n      ppuVar8 = local_2c;\n    }\n    ppuVar15 = (undefined **)((uint)local_28 & 0xff);\n    local_2c = ppuVar8;\n    ppuVar8 = (undefined **)0x0;\n    if (bVar3) {\n      ppuVar8 = local_24;\n    }\n    local_24 = ppuVar8;\n    puVar14 = puVar10 + 1;\n  }" { (while_statement "while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }" { (expression_statement "puVar10 = puVar14;" (assignment_expression "puVar10 = puVar14" identifier = identifier) ;) (expression_statement "ppuVar8 = (undefined **)*puVar10;" (assignment_expression "ppuVar8 = (undefined **)*puVar10" identifier = (cast_expression "(undefined **)*puVar10" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar10" * identifier))) ;) (if_statement "if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }" if (parenthesized_expression "((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0)" ( (binary_expression "(*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)ppuVar8 + 0x2a) & 0x10)" ( (binary_expression "*(byte *)((int)ppuVar8 + 0x2a) & 0x10" (pointer_expression "*(byte *)((int)ppuVar8 + 0x2a)" * (cast_expression "(byte *)((int)ppuVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar8 + 0x2a)" ( (binary_expression "(int)ppuVar8 + 0x2a" (cast_expression "(int)ppuVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }" { (expression_statement "ppuStack_4c = param_1;" (assignment_expression "ppuStack_4c = param_1" identifier = identifier) ;) (expression_statement "ppuStack_48 = ppuVar8;" (assignment_expression "ppuStack_48 = ppuVar8" identifier = identifier) ;) (expression_statement "ppuVar8 = (undefined **)FUN_001e6f30();" (assignment_expression "ppuVar8 = (undefined **)FUN_001e6f30()" identifier = (cast_expression "(undefined **)FUN_001e6f30()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_001e6f30()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*puVar10 = ppuVar8;" (assignment_expression "*puVar10 = ppuVar8" (pointer_expression "*puVar10" * identifier) = identifier) ;) })) (if_statement "if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;" if (parenthesized_expression "(((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0))" ( (binary_expression "((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)" (parenthesized_expression "((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)ppuVar8 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)ppuVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)ppuVar8 + 0x2a)" * (cast_expression "(byte *)((int)ppuVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar8 + 0x2a)" ( (binary_expression "(int)ppuVar8 + 0x2a" (cast_expression "(int)ppuVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)ppuVar8 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)ppuVar8 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)ppuVar8 + 0x2b)" * (cast_expression "(byte *)((int)ppuVar8 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar8 + 0x2b)" ( (binary_expression "(int)ppuVar8 + 0x2b" (cast_expression "(int)ppuVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00207f6c:\n      *puVar10 = 0;" statement_identifier : (expression_statement "*puVar10 = 0;" (assignment_expression "*puVar10 = 0" (pointer_expression "*puVar10" * identifier) = number_literal) ;)) (expression_statement "puVar14 = puVar10 + 1;" (assignment_expression "puVar14 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) (if_statement "if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;" if (parenthesized_expression "((undefined4 *)param_4[1] == puVar10 + 1)" ( (binary_expression "(undefined4 *)param_4[1] == puVar10 + 1" (cast_expression "(undefined4 *)param_4[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ])) == (binary_expression "puVar10 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_00208000;" goto statement_identifier ;)) })) (expression_statement "ppuStack_4c = (undefined **)ppuVar8[3];" (assignment_expression "ppuStack_4c = (undefined **)ppuVar8[3]" identifier = (cast_expression "(undefined **)ppuVar8[3]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppuVar8[3]" identifier [ number_literal ]))) ;) (expression_statement "local_20 = ppuVar8;" (assignment_expression "local_20 = ppuVar8" identifier = identifier) ;) (expression_statement "cVar7 = FUN_001e6ac0();" (assignment_expression "cVar7 = FUN_001e6ac0()" identifier = (call_expression "FUN_001e6ac0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);" (assignment_expression "local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7)" identifier = (cast_expression "(undefined **)CONCAT31(local_28._1_3_,cVar7)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_28._1_3_,cVar7)" identifier (argument_list "(local_28._1_3_,cVar7)" ( (field_expression "local_28._1_3_" identifier . field_identifier) , identifier ))))) ;) (if_statement "if (cVar7 == '\0') goto LAB_00207f6c;" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00207f6c;" goto statement_identifier ;)) (expression_statement "ppuStack_40 = (undefined **)0x207fc9;" (assignment_expression "ppuStack_40 = (undefined **)0x207fc9" identifier = (cast_expression "(undefined **)0x207fc9" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar9 = FUN_00207550();" (assignment_expression "iVar9 = FUN_00207550()" identifier = (call_expression "FUN_00207550()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;" (assignment_expression "bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24" identifier = (binary_expression "(undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24" (cast_expression "(undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(uint)(local_2c < *(undefined ***)(iVar9 + 0x30))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_2c < *(undefined ***)(iVar9 + 0x30))" ( (binary_expression "local_2c < *(undefined ***)(iVar9 + 0x30)" identifier < (pointer_expression "*(undefined ***)(iVar9 + 0x30)" * (cast_expression "(undefined ***)(iVar9 + 0x30)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar9 + 0x30)" ( (binary_expression "iVar9 + 0x30" identifier + number_literal) ))))) )))) <= identifier)) ;) (expression_statement "ppuVar8 = *(undefined ***)(iVar9 + 0x30);" (assignment_expression "ppuVar8 = *(undefined ***)(iVar9 + 0x30)" identifier = (pointer_expression "*(undefined ***)(iVar9 + 0x30)" * (cast_expression "(undefined ***)(iVar9 + 0x30)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar9 + 0x30)" ( (binary_expression "iVar9 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (bVar3) {\n      ppuVar8 = local_2c;\n    }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n      ppuVar8 = local_2c;\n    }" { (expression_statement "ppuVar8 = local_2c;" (assignment_expression "ppuVar8 = local_2c" identifier = identifier) ;) })) (expression_statement "ppuVar15 = (undefined **)((uint)local_28 & 0xff);" (assignment_expression "ppuVar15 = (undefined **)((uint)local_28 & 0xff)" identifier = (cast_expression "(undefined **)((uint)local_28 & 0xff)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((uint)local_28 & 0xff)" ( (binary_expression "(uint)local_28 & 0xff" (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "local_2c = ppuVar8;" (assignment_expression "local_2c = ppuVar8" identifier = identifier) ;) (expression_statement "ppuVar8 = (undefined **)0x0;" (assignment_expression "ppuVar8 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (bVar3) {\n      ppuVar8 = local_24;\n    }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n      ppuVar8 = local_24;\n    }" { (expression_statement "ppuVar8 = local_24;" (assignment_expression "ppuVar8 = local_24" identifier = identifier) ;) })) (expression_statement "local_24 = ppuVar8;" (assignment_expression "local_24 = ppuVar8" identifier = identifier) ;) (expression_statement "puVar14 = puVar10 + 1;" (assignment_expression "puVar14 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((undefined4 *)param_4[1] != puVar10 + 1)" ( (binary_expression "(undefined4 *)param_4[1] != puVar10 + 1" (cast_expression "(undefined4 *)param_4[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ])) != (binary_expression "puVar10 + 1" identifier + number_literal)) )) ;) (labeled_statement "LAB_00208000:\n  ppuVar8 = (undefined **)(puVar10 + 1);" statement_identifier : (expression_statement "ppuVar8 = (undefined **)(puVar10 + 1);" (assignment_expression "ppuVar8 = (undefined **)(puVar10 + 1)" identifier = (cast_expression "(undefined **)(puVar10 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 1)" ( (binary_expression "puVar10 + 1" identifier + number_literal) )))) ;)) (if_statement "if ((char)ppuVar15 == '\0') {\n    return;\n  }" if (parenthesized_expression "((char)ppuVar15 == '\0')" ( (binary_expression "(char)ppuVar15 == '\0'" (cast_expression "(char)ppuVar15" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "ppuVar1 = (undefined **)*param_4;" (assignment_expression "ppuVar1 = (undefined **)*param_4" identifier = (cast_expression "(undefined **)*param_4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_4" * identifier))) ;) (expression_statement "ppuVar4 = param_4;" (assignment_expression "ppuVar4 = param_4" identifier = identifier) ;) (expression_statement "ppuVar6 = ppuStack_4c;" (assignment_expression "ppuVar6 = ppuStack_4c" identifier = identifier) ;) (expression_statement "ppuVar5 = ppuStack_40;" (assignment_expression "ppuVar5 = ppuStack_40" identifier = identifier) ;) (if_statement "if (ppuVar8 != ppuVar1) {\n    ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);\n    ppuStack_4c = param_6;\n    uVar12 = 0x1f;\n    if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }\n    FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);\n    ppuStack_4c = ppuVar1;\n    if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }\n  }" if (parenthesized_expression "(ppuVar8 != ppuVar1)" ( (binary_expression "ppuVar8 != ppuVar1" identifier != identifier) )) (compound_statement "{\n    ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);\n    ppuStack_4c = param_6;\n    uVar12 = 0x1f;\n    if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }\n    FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);\n    ppuStack_4c = ppuVar1;\n    if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }\n  }" { (expression_statement "ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);" (assignment_expression "ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1)" identifier = (cast_expression "(undefined **)((int)ppuVar8 - (int)ppuVar1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar8 - (int)ppuVar1)" ( (binary_expression "(int)ppuVar8 - (int)ppuVar1" (cast_expression "(int)ppuVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuVar1" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppuStack_4c = param_6;" (assignment_expression "ppuStack_4c = param_6" identifier = identifier) ;) (expression_statement "uVar12 = 0x1f;" (assignment_expression "uVar12 = 0x1f" identifier = number_literal) ;) (if_statement "if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }" if (parenthesized_expression "((int)ppuVar15 >> 2 != 0)" ( (binary_expression "(int)ppuVar15 >> 2 != 0" (binary_expression "(int)ppuVar15 >> 2" (cast_expression "(int)ppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) != number_literal) )) (compound_statement "{\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }" { (for_statement "for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }" for ( ; (binary_expression "(uint)((int)ppuVar15 >> 2) >> uVar12 == 0" (binary_expression "(uint)((int)ppuVar15 >> 2) >> uVar12" (call_expression "(uint)((int)ppuVar15 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppuVar15 >> 2)" ( (binary_expression "(int)ppuVar15 >> 2" (cast_expression "(int)ppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) >> identifier) == number_literal) ; (assignment_expression "uVar12 = uVar12 - 1" identifier = (binary_expression "uVar12 - 1" identifier - number_literal)) ) (compound_statement "{\n      }" { })) })) (expression_statement "FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);" (call_expression "FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1)" identifier (argument_list "(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1)" ( identifier , identifier , (binary_expression "(0x1f - (uVar12 ^ 0x1f)) * 2" (parenthesized_expression "(0x1f - (uVar12 ^ 0x1f))" ( (binary_expression "0x1f - (uVar12 ^ 0x1f)" number_literal - (parenthesized_expression "(uVar12 ^ 0x1f)" ( (binary_expression "uVar12 ^ 0x1f" identifier ^ number_literal) ))) )) * number_literal) , identifier ))) ;) (expression_statement "ppuStack_4c = ppuVar1;" (assignment_expression "ppuStack_4c = ppuVar1" identifier = identifier) ;) (if_statement "if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }" if (parenthesized_expression "((int)ppuVar15 < 0x41)" ( (binary_expression "(int)ppuVar15 < 0x41" (cast_expression "(int)ppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }" { (expression_statement "ppuStack_40 = param_6;" (assignment_expression "ppuStack_40 = param_6" identifier = identifier) ;) (expression_statement "ppuStack_44 = param_1;" (assignment_expression "ppuStack_44 = param_1" identifier = identifier) ;) (expression_statement "ppuStack_48 = ppuVar8;" (assignment_expression "ppuStack_48 = ppuVar8" identifier = identifier) ;) (expression_statement "FUN_00207850();" (call_expression "FUN_00207850()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar6 = ppuStack_4c;" (assignment_expression "ppuVar6 = ppuStack_4c" identifier = identifier) ;) (expression_statement "ppuVar5 = ppuStack_40;" (assignment_expression "ppuVar5 = ppuStack_40" identifier = identifier) ;) }) (else_clause "else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }" else (compound_statement "{\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }" { (expression_statement "ppuVar15 = ppuVar1 + 0x10;" (assignment_expression "ppuVar15 = ppuVar1 + 0x10" identifier = (binary_expression "ppuVar1 + 0x10" identifier + number_literal)) ;) (expression_statement "ppuStack_40 = param_6;" (assignment_expression "ppuStack_40 = param_6" identifier = identifier) ;) (expression_statement "ppuStack_44 = param_1;" (assignment_expression "ppuStack_44 = param_1" identifier = identifier) ;) (expression_statement "ppuStack_48 = ppuVar15;" (assignment_expression "ppuStack_48 = ppuVar15" identifier = identifier) ;) (expression_statement "FUN_00207850();" (call_expression "FUN_00207850()" identifier (argument_list "()" ( ))) ;) (for_statement "for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }" for ( ; (comma_expression "ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15" (assignment_expression "ppuVar6 = ppuStack_4c" identifier = identifier) , (comma_expression "ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15" (assignment_expression "ppuVar5 = ppuStack_40" identifier = identifier) , (binary_expression "ppuVar8 != ppuVar15" identifier != identifier))) ; (assignment_expression "ppuVar15 = ppuVar15 + 1" identifier = (binary_expression "ppuVar15 + 1" identifier + number_literal)) ) (compound_statement "{\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }" { (expression_statement "ppuStack_44 = param_6;" (assignment_expression "ppuStack_44 = param_6" identifier = identifier) ;) (expression_statement "ppuStack_48 = param_1;" (assignment_expression "ppuStack_48 = param_1" identifier = identifier) ;) (expression_statement "ppuStack_4c = ppuVar15;" (assignment_expression "ppuStack_4c = ppuVar15" identifier = identifier) ;) (expression_statement "FUN_00207810();" (call_expression "FUN_00207810()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar1 = param_1;" (assignment_expression "ppuVar1 = param_1" identifier = identifier) ;) (expression_statement "ppuVar4 = param_6;" (assignment_expression "ppuVar4 = param_6" identifier = identifier) ;) })) }))) })) (expression_statement "ppuStack_40 = ppuVar1;" (assignment_expression "ppuStack_40 = ppuVar1" identifier = identifier) ;) (if_statement "if (param_3 == 1) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = local_30 + -0x40c92;\n    ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);\n    uVar12 = 0x403;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" if (parenthesized_expression "(param_3 == 1)" ( (binary_expression "param_3 == 1" identifier == number_literal) )) (compound_statement "{\n    ppuVar8 = (undefined **)0x0;\n    local_20 = local_30 + -0x40c92;\n    ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);\n    uVar12 = 0x403;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }" { (expression_statement "ppuVar8 = (undefined **)0x0;" (assignment_expression "ppuVar8 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_20 = local_30 + -0x40c92;" (assignment_expression "local_20 = local_30 + -0x40c92" identifier = (binary_expression "local_30 + -0x40c92" identifier + number_literal)) ;) (expression_statement "ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);" (assignment_expression "ppuVar15 = (undefined **)((int)local_30 + -0x1168c5)" identifier = (cast_expression "(undefined **)((int)local_30 + -0x1168c5)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_30 + -0x1168c5)" ( (binary_expression "(int)local_30 + -0x1168c5" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar12 = 0x403;" (assignment_expression "uVar12 = 0x403" identifier = number_literal) ;) (expression_statement "ppuStack_4c = (undefined **)local_30[0x13a];" (assignment_expression "ppuStack_4c = (undefined **)local_30[0x13a]" identifier = (cast_expression "(undefined **)local_30[0x13a]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_30[0x13a]" identifier [ number_literal ]))) ;) }) (else_clause "else if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" else (if_statement "if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }" { (expression_statement "ppuVar8 = (undefined **)0x0;" (assignment_expression "ppuVar8 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_20 = (undefined **)((int)local_30 + -0x103262);" (assignment_expression "local_20 = (undefined **)((int)local_30 + -0x103262)" identifier = (cast_expression "(undefined **)((int)local_30 + -0x103262)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_30 + -0x103262)" ( (binary_expression "(int)local_30 + -0x103262" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);" (assignment_expression "ppuVar15 = (undefined **)((int)local_30 + -0x11b23b)" identifier = (cast_expression "(undefined **)((int)local_30 + -0x11b23b)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_30 + -0x11b23b)" ( (binary_expression "(int)local_30 + -0x11b23b" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar12 = 3;" (assignment_expression "uVar12 = 3" identifier = number_literal) ;) (expression_statement "ppuStack_4c = (undefined **)local_30[0x13a];" (assignment_expression "ppuStack_4c = (undefined **)local_30[0x13a]" identifier = (cast_expression "(undefined **)local_30[0x13a]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_30[0x13a]" identifier [ number_literal ]))) ;) }) (else_clause "else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" else (if_statement "if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" if (parenthesized_expression "(param_3 == 2)" ( (binary_expression "param_3 == 2" identifier == number_literal) )) (compound_statement "{\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }" { (expression_statement "ppuStack_4c = (undefined **)local_30[0x13a];" (assignment_expression "ppuStack_4c = (undefined **)local_30[0x13a]" identifier = (cast_expression "(undefined **)local_30[0x13a]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_30[0x13a]" identifier [ number_literal ]))) ;) (if_statement "if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }" if (parenthesized_expression "(ppuStack_4c[3] == (undefined *)0x0)" ( (binary_expression "ppuStack_4c[3] == (undefined *)0x0" (subscript_expression "ppuStack_4c[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }" { (labeled_statement "LAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;" statement_identifier : (expression_statement "ppuStack_44 = local_30 + -0x40c6c;" (assignment_expression "ppuStack_44 = local_30 + -0x40c6c" identifier = (binary_expression "local_30 + -0x40c6c" identifier + number_literal)) ;)) (expression_statement "ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);" (assignment_expression "ppuStack_4c = (undefined **)((int)local_30 + -0x131d93)" identifier = (cast_expression "(undefined **)((int)local_30 + -0x131d93)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_30 + -0x131d93)" ( (binary_expression "(int)local_30 + -0x131d93" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppuStack_48 = (undefined **)0x69;" (assignment_expression "ppuStack_48 = (undefined **)0x69" identifier = (cast_expression "(undefined **)0x69" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuStack_40 = ppuVar4;" (assignment_expression "ppuStack_40 = ppuVar4" identifier = identifier) ;) comment (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar9 = *(int *)(ppuStack_4c[3] + 4);" (assignment_expression "iVar9 = *(int *)(ppuStack_4c[3] + 4)" identifier = (pointer_expression "*(int *)(ppuStack_4c[3] + 4)" * (cast_expression "(int *)(ppuStack_4c[3] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuStack_4c[3] + 4)" ( (binary_expression "ppuStack_4c[3] + 4" (subscript_expression "ppuStack_4c[3]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "ppuStack_40 = ppuVar5;" (assignment_expression "ppuStack_40 = ppuVar5" identifier = identifier) ;) (if_statement "if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }" if (parenthesized_expression "(*(short *)(iVar9 + 0x3c) == 0)" ( (binary_expression "*(short *)(iVar9 + 0x3c) == 0" (pointer_expression "*(short *)(iVar9 + 0x3c)" * (cast_expression "(short *)(iVar9 + 0x3c)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x3c)" ( (binary_expression "iVar9 + 0x3c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    /* WARNING: Subroutine does not return */\n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }" { (labeled_statement "LAB_0020850f:\n      ppuStack_4c = ppuVar6;" statement_identifier : (expression_statement "ppuStack_4c = ppuVar6;" (assignment_expression "ppuStack_4c = ppuVar6" identifier = identifier) ;)) (expression_statement "*(undefined ***)((int)pppuVar13 + -4) = ppuVar15;" (assignment_expression "*(undefined ***)((int)pppuVar13 + -4) = ppuVar15" (pointer_expression "*(undefined ***)((int)pppuVar13 + -4)" * (cast_expression "(undefined ***)((int)pppuVar13 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppuVar13 + -4)" ( (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;" (assignment_expression "*(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4" (pointer_expression "*(int *)((int)pppuVar13 + -8)" * (cast_expression "(int *)((int)pppuVar13 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -8)" ( (binary_expression "(int)pppuVar13 + -8" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)pppuVar13 + 0xc) + -0x1030b4" (pointer_expression "*(int *)((int)pppuVar13 + 0xc)" * (cast_expression "(int *)((int)pppuVar13 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0xc)" ( (binary_expression "(int)pppuVar13 + 0xc" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0xc)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0xc)" ( (binary_expression "(int)pppuVar13 + -0xc" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;" (assignment_expression "*(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc" (pointer_expression "*(int *)((int)pppuVar13 + -0x10)" * (cast_expression "(int *)((int)pppuVar13 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)pppuVar13 + 0xc) + -0x11d1cc" (pointer_expression "*(int *)((int)pppuVar13 + 0xc)" * (cast_expression "(int *)((int)pppuVar13 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0xc)" ( (binary_expression "(int)pppuVar13 + 0xc" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x14)" ( (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar8 = *(undefined ***)(iVar9 + 0x44);" (assignment_expression "ppuVar8 = *(undefined ***)(iVar9 + 0x44)" identifier = (pointer_expression "*(undefined ***)(iVar9 + 0x44)" * (cast_expression "(undefined ***)(iVar9 + 0x44)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar9 + 0x44)" ( (binary_expression "iVar9 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar9 + 0x40) | 3;" (assignment_expression "uVar12 = *(uint *)(iVar9 + 0x40) | 3" identifier = (binary_expression "*(uint *)(iVar9 + 0x40) | 3" (pointer_expression "*(uint *)(iVar9 + 0x40)" * (cast_expression "(uint *)(iVar9 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x40)" ( (binary_expression "iVar9 + 0x40" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "local_20 = local_30 + -0x40c96;" (assignment_expression "local_20 = local_30 + -0x40c96" identifier = (binary_expression "local_30 + -0x40c96" identifier + number_literal)) ;) (expression_statement "ppuVar15 = local_30 + -0x45a2c;" (assignment_expression "ppuVar15 = local_30 + -0x45a2c" identifier = (binary_expression "local_30 + -0x45a2c" identifier + number_literal)) ;) }) (else_clause "else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" else (compound_statement "{\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" { (if_statement "if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }" if (parenthesized_expression "(param_3 != 3)" ( (binary_expression "param_3 != 3" identifier != number_literal) )) (compound_statement "{\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }" { (expression_statement "ppuStack_44 = local_30 + -0x40c1e;" (assignment_expression "ppuStack_44 = local_30 + -0x40c1e" identifier = (binary_expression "local_30 + -0x40c1e" identifier + number_literal)) ;) (expression_statement "ppuStack_4c = (undefined **)((int)local_30 + -0x103287);" (assignment_expression "ppuStack_4c = (undefined **)((int)local_30 + -0x103287)" identifier = (cast_expression "(undefined **)((int)local_30 + -0x103287)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_30 + -0x103287)" ( (binary_expression "(int)local_30 + -0x103287" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppuStack_48 = (undefined **)0x11b;" (assignment_expression "ppuStack_48 = (undefined **)0x11b" identifier = (cast_expression "(undefined **)0x11b" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuStack_4c = (undefined **)local_30[0x13a];" (assignment_expression "ppuStack_4c = (undefined **)local_30[0x13a]" identifier = (cast_expression "(undefined **)local_30[0x13a]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_30[0x13a]" identifier [ number_literal ]))) ;) (if_statement "if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;" if (parenthesized_expression "(ppuStack_4c[3] == (undefined *)0x0)" ( (binary_expression "ppuStack_4c[3] == (undefined *)0x0" (subscript_expression "ppuStack_4c[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002084b3;" goto statement_identifier ;)) (expression_statement "iVar9 = *(int *)(ppuStack_4c[3] + 4);" (assignment_expression "iVar9 = *(int *)(ppuStack_4c[3] + 4)" identifier = (pointer_expression "*(int *)(ppuStack_4c[3] + 4)" * (cast_expression "(int *)(ppuStack_4c[3] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuStack_4c[3] + 4)" ( (binary_expression "ppuStack_4c[3] + 4" (subscript_expression "ppuStack_4c[3]" identifier [ number_literal ]) + number_literal) ))))) ;) (if_statement "if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }" if (parenthesized_expression "(*(short *)(iVar9 + 0x3e) == 0)" ( (binary_expression "*(short *)(iVar9 + 0x3e) == 0" (pointer_expression "*(short *)(iVar9 + 0x3e)" * (cast_expression "(short *)(iVar9 + 0x3e)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x3e)" ( (binary_expression "iVar9 + 0x3e" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }" { (expression_statement "ppuStack_44 = local_30 + -0x40c34;" (assignment_expression "ppuStack_44 = local_30 + -0x40c34" identifier = (binary_expression "local_30 + -0x40c34" identifier + number_literal)) ;) (expression_statement "ppuStack_4c = local_30 + -0x47473;" (assignment_expression "ppuStack_4c = local_30 + -0x47473" identifier = (binary_expression "local_30 + -0x47473" identifier + number_literal)) ;) (expression_statement "ppuStack_48 = (undefined **)0xd5;" (assignment_expression "ppuStack_48 = (undefined **)0xd5" identifier = (cast_expression "(undefined **)0xd5" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuStack_40 = ppuVar8;" (assignment_expression "ppuStack_40 = ppuVar8" identifier = identifier) ;) comment (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar8 = *(undefined ***)(iVar9 + 0x4c);" (assignment_expression "ppuVar8 = *(undefined ***)(iVar9 + 0x4c)" identifier = (pointer_expression "*(undefined ***)(iVar9 + 0x4c)" * (cast_expression "(undefined ***)(iVar9 + 0x4c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar9 + 0x4c)" ( (binary_expression "iVar9 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar9 + 0x48) | 3;" (assignment_expression "uVar12 = *(uint *)(iVar9 + 0x48) | 3" identifier = (binary_expression "*(uint *)(iVar9 + 0x48) | 3" (pointer_expression "*(uint *)(iVar9 + 0x48)" * (cast_expression "(uint *)(iVar9 + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x48)" ( (binary_expression "iVar9 + 0x48" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "local_20 = (undefined **)((int)local_30 + -0x103272);" (assignment_expression "local_20 = (undefined **)((int)local_30 + -0x103272)" identifier = (cast_expression "(undefined **)((int)local_30 + -0x103272)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_30 + -0x103272)" ( (binary_expression "(int)local_30 + -0x103272" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppuVar15 = local_30 + -0x45a1c;" (assignment_expression "ppuVar15 = local_30 + -0x45a1c" identifier = (binary_expression "local_30 + -0x45a1c" identifier + number_literal)) ;) }))))))) (expression_statement "ppuStack_40 = ppuVar5;" (assignment_expression "ppuStack_40 = ppuVar5" identifier = identifier) ;) (expression_statement "cVar7 = FUN_001a5190();" (assignment_expression "cVar7 = FUN_001a5190()" identifier = (call_expression "FUN_001a5190()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 == '\0') {\n    ppuStack_4c = (undefined **)0x30;\n    ppuStack_48 = (undefined **)FUN_00246670();\n    ppuStack_48[1] = (undefined *)0x0;\n    ppuStack_48[2] = (undefined *)0x0;\n    ppuStack_48[3] = (undefined *)0x0;\n    ppuStack_48[4] = (undefined *)0x0;\n    ppuStack_48[5] = (undefined *)0xffffffff;\n    ppuStack_48[6] = (undefined *)0xffffffff;\n    *(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;\n    ppuStack_48[8] = (undefined *)0x0;\n    ppuStack_48[9] = (undefined *)local_2c;\n    ppuStack_48[10] = (undefined *)local_24;\n    *ppuStack_48 = (undefined *)(local_30 + -0x18f5);\n    ppuStack_48[0xb] = (undefined *)local_20;\n    ppuStack_40 = (undefined **)0x0;\n    ppuStack_44 = (undefined **)0x0;\n    ppuStack_4c = ppuVar8;\n    local_28 = ppuStack_48;\n    local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);\n  }\n  else {\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    ppuStack_4c = (undefined **)0x30;\n    ppuStack_48 = (undefined **)FUN_00246670();\n    ppuStack_48[1] = (undefined *)0x0;\n    ppuStack_48[2] = (undefined *)0x0;\n    ppuStack_48[3] = (undefined *)0x0;\n    ppuStack_48[4] = (undefined *)0x0;\n    ppuStack_48[5] = (undefined *)0xffffffff;\n    ppuStack_48[6] = (undefined *)0xffffffff;\n    *(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;\n    ppuStack_48[8] = (undefined *)0x0;\n    ppuStack_48[9] = (undefined *)local_2c;\n    ppuStack_48[10] = (undefined *)local_24;\n    *ppuStack_48 = (undefined *)(local_30 + -0x18f5);\n    ppuStack_48[0xb] = (undefined *)local_20;\n    ppuStack_40 = (undefined **)0x0;\n    ppuStack_44 = (undefined **)0x0;\n    ppuStack_4c = ppuVar8;\n    local_28 = ppuStack_48;\n    local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);\n  }" { (expression_statement "ppuStack_4c = (undefined **)0x30;" (assignment_expression "ppuStack_4c = (undefined **)0x30" identifier = (cast_expression "(undefined **)0x30" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuStack_48 = (undefined **)FUN_00246670();" (assignment_expression "ppuStack_48 = (undefined **)FUN_00246670()" identifier = (cast_expression "(undefined **)FUN_00246670()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00246670()" identifier (argument_list "()" ( ))))) ;) (expression_statement "ppuStack_48[1] = (undefined *)0x0;" (assignment_expression "ppuStack_48[1] = (undefined *)0x0" (subscript_expression "ppuStack_48[1]" identifier [ number_literal ]) = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuStack_48[2] = (undefined *)0x0;" (assignment_expression "ppuStack_48[2] = (undefined *)0x0" (subscript_expression "ppuStack_48[2]" identifier [ number_literal ]) = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuStack_48[3] = (undefined *)0x0;" (assignment_expression "ppuStack_48[3] = (undefined *)0x0" (subscript_expression "ppuStack_48[3]" identifier [ number_literal ]) = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuStack_48[4] = (undefined *)0x0;" (assignment_expression "ppuStack_48[4] = (undefined *)0x0" (subscript_expression "ppuStack_48[4]" identifier [ number_literal ]) = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuStack_48[5] = (undefined *)0xffffffff;" (assignment_expression "ppuStack_48[5] = (undefined *)0xffffffff" (subscript_expression "ppuStack_48[5]" identifier [ number_literal ]) = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuStack_48[6] = (undefined *)0xffffffff;" (assignment_expression "ppuStack_48[6] = (undefined *)0xffffffff" (subscript_expression "ppuStack_48[6]" identifier [ number_literal ]) = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;" (assignment_expression "*(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0" (pointer_expression "*(byte *)(ppuStack_48 + 7)" * (cast_expression "(byte *)(ppuStack_48 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuStack_48 + 7)" ( (binary_expression "ppuStack_48 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(ppuStack_48 + 7) & 0xe0" (pointer_expression "*(byte *)(ppuStack_48 + 7)" * (cast_expression "(byte *)(ppuStack_48 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuStack_48 + 7)" ( (binary_expression "ppuStack_48 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "ppuStack_48[8] = (undefined *)0x0;" (assignment_expression "ppuStack_48[8] = (undefined *)0x0" (subscript_expression "ppuStack_48[8]" identifier [ number_literal ]) = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuStack_48[9] = (undefined *)local_2c;" (assignment_expression "ppuStack_48[9] = (undefined *)local_2c" (subscript_expression "ppuStack_48[9]" identifier [ number_literal ]) = (cast_expression "(undefined *)local_2c" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppuStack_48[10] = (undefined *)local_24;" (assignment_expression "ppuStack_48[10] = (undefined *)local_24" (subscript_expression "ppuStack_48[10]" identifier [ number_literal ]) = (cast_expression "(undefined *)local_24" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*ppuStack_48 = (undefined *)(local_30 + -0x18f5);" (assignment_expression "*ppuStack_48 = (undefined *)(local_30 + -0x18f5)" (pointer_expression "*ppuStack_48" * identifier) = (cast_expression "(undefined *)(local_30 + -0x18f5)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_30 + -0x18f5)" ( (binary_expression "local_30 + -0x18f5" identifier + number_literal) )))) ;) (expression_statement "ppuStack_48[0xb] = (undefined *)local_20;" (assignment_expression "ppuStack_48[0xb] = (undefined *)local_20" (subscript_expression "ppuStack_48[0xb]" identifier [ number_literal ]) = (cast_expression "(undefined *)local_20" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppuStack_40 = (undefined **)0x0;" (assignment_expression "ppuStack_40 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuStack_44 = (undefined **)0x0;" (assignment_expression "ppuStack_44 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuStack_4c = ppuVar8;" (assignment_expression "ppuStack_4c = ppuVar8" identifier = identifier) ;) (expression_statement "local_28 = ppuStack_48;" (assignment_expression "local_28 = ppuStack_48" identifier = identifier) ;) (expression_statement "local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);" (assignment_expression "local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12)" identifier = (cast_expression "(undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00111290(param_2,ppuVar15,8,uVar12)" identifier (argument_list "(param_2,ppuVar15,8,uVar12)" ( identifier , identifier , number_literal , identifier ))))) ;) }) (else_clause "else {\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }" else (compound_statement "{\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }" { (expression_statement "ppuStack_4c = param_2;" (assignment_expression "ppuStack_4c = param_2" identifier = identifier) ;) (expression_statement "ppuStack_48 = ppuVar15;" (assignment_expression "ppuStack_48 = ppuVar15" identifier = identifier) ;) (expression_statement "local_20 = (undefined **)FUN_001079e0();" (assignment_expression "local_20 = (undefined **)FUN_001079e0()" identifier = (cast_expression "(undefined **)FUN_001079e0()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_001079e0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_28 = (undefined **)0x0;" (assignment_expression "local_28 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }))) (if_statement "if (local_20 != (undefined **)0x0) {\n    if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }\n  }" if (parenthesized_expression "(local_20 != (undefined **)0x0)" ( (binary_expression "local_20 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }\n  }" { (if_statement "if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }" if (parenthesized_expression "(param_3 == 2)" ( (binary_expression "param_3 == 2" identifier == number_literal) )) (compound_statement "{\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }" { (expression_statement "*(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;" (assignment_expression "*(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40" (pointer_expression "*(byte *)((int)local_20 + 0x91)" * (cast_expression "(byte *)((int)local_20 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_20 + 0x91)" ( (binary_expression "(int)local_20 + 0x91" (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)local_20 + 0x91) | 0x40" (pointer_expression "*(byte *)((int)local_20 + 0x91)" * (cast_expression "(byte *)((int)local_20 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_20 + 0x91)" ( (binary_expression "(int)local_20 + 0x91" (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) }) (else_clause "else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }" else (if_statement "if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }" if (parenthesized_expression "(param_3 == 3)" ( (binary_expression "param_3 == 3" identifier == number_literal) )) (compound_statement "{\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }" { (expression_statement "*(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;" (assignment_expression "*(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80" (pointer_expression "*(byte *)((int)local_20 + 0x91)" * (cast_expression "(byte *)((int)local_20 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_20 + 0x91)" ( (binary_expression "(int)local_20 + 0x91" (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)local_20 + 0x91) | 0x80" (pointer_expression "*(byte *)((int)local_20 + 0x91)" * (cast_expression "(byte *)((int)local_20 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_20 + 0x91)" ( (binary_expression "(int)local_20 + 0x91" (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })))) })) (expression_statement "puVar14 = (undefined4 *)*param_4;" (assignment_expression "puVar14 = (undefined4 *)*param_4" identifier = (cast_expression "(undefined4 *)*param_4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier))) ;) (expression_statement "puVar10 = (undefined4 *)param_4[1];" (assignment_expression "puVar10 = (undefined4 *)param_4[1]" identifier = (cast_expression "(undefined4 *)param_4[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) ;) (if_statement "if ((puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)) {\n    lVar16 = 0;\n    puVar11 = puVar10;\n  }\n  else {\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }" if (parenthesized_expression "((puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0))" ( (binary_expression "(puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)" (parenthesized_expression "(puVar14 == puVar10)" ( (binary_expression "puVar14 == puVar10" identifier == identifier) )) || (parenthesized_expression "(ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)" ( (comma_expression "ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0" (assignment_expression "ppuVar15 = (undefined **)*puVar14" identifier = (cast_expression "(undefined **)*puVar14" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar14" * identifier))) , (binary_expression "ppuVar15 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ))) )) (compound_statement "{\n    lVar16 = 0;\n    puVar11 = puVar10;\n  }" { (expression_statement "lVar16 = 0;" (assignment_expression "lVar16 = 0" identifier = number_literal) ;) (expression_statement "puVar11 = puVar10;" (assignment_expression "puVar11 = puVar10" identifier = identifier) ;) }) (else_clause "else {\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }" else (compound_statement "{\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }" { (expression_statement "lVar16 = 0;" (assignment_expression "lVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));" do (compound_statement "{\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    }" { (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (if_statement "if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }" if (parenthesized_expression "(((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0))" ( (binary_expression "((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)" (parenthesized_expression "((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)ppuVar15 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)ppuVar15 + 0x2a) & 7" (pointer_expression "*(byte *)((int)ppuVar15 + 0x2a)" * (cast_expression "(byte *)((int)ppuVar15 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar15 + 0x2a)" ( (binary_expression "(int)ppuVar15 + 0x2a" (cast_expression "(int)ppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)ppuVar15 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)ppuVar15 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)ppuVar15 + 0x2b)" * (cast_expression "(byte *)((int)ppuVar15 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar15 + 0x2b)" ( (binary_expression "(int)ppuVar15 + 0x2b" (cast_expression "(int)ppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }" { (expression_statement "ppuStack_4c = (undefined **)ppuVar15[3];" (assignment_expression "ppuStack_4c = (undefined **)ppuVar15[3]" identifier = (cast_expression "(undefined **)ppuVar15[3]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppuVar15[3]" identifier [ number_literal ]))) ;) (expression_statement "local_2c = ppuVar15;" (assignment_expression "local_2c = ppuVar15" identifier = identifier) ;) (expression_statement "cVar7 = FUN_001e6ac0();" (assignment_expression "cVar7 = FUN_001e6ac0()" identifier = (call_expression "FUN_001e6ac0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }" { (expression_statement "local_24 = local_2c;" (assignment_expression "local_24 = local_2c" identifier = identifier) ;) (expression_statement "ppuStack_40 = (undefined **)0x20831b;" (assignment_expression "ppuStack_40 = (undefined **)0x20831b" identifier = (cast_expression "(undefined **)0x20831b" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_2c = (undefined **)FUN_00207550();" (assignment_expression "local_2c = (undefined **)FUN_00207550()" identifier = (cast_expression "(undefined **)FUN_00207550()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00207550()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }" if (parenthesized_expression "(param_5 != (undefined **)0x0)" ( (binary_expression "param_5 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }" { (expression_statement "ppuStack_44 = (undefined **)local_2c[0xd];" (assignment_expression "ppuStack_44 = (undefined **)local_2c[0xd]" identifier = (cast_expression "(undefined **)local_2c[0xd]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_2c[0xd]" identifier [ number_literal ]))) ;) (expression_statement "ppuStack_40 = (undefined **)0x0;" (assignment_expression "ppuStack_40 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuStack_48 = local_24;" (assignment_expression "ppuStack_48 = local_24" identifier = identifier) ;) (expression_statement "ppuStack_4c = param_5;" (assignment_expression "ppuStack_4c = param_5" identifier = identifier) ;) (expression_statement "FUN_001207b0();" (call_expression "FUN_001207b0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar2 = local_2c[0xc];" (assignment_expression "puVar2 = local_2c[0xc]" identifier = (subscript_expression "local_2c[0xc]" identifier [ number_literal ])) ;) (if_statement "if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }" if (parenthesized_expression "(local_28 != (undefined **)0x0)" ( (binary_expression "local_28 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }" { (if_statement "if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }" if (parenthesized_expression "(puVar2 != (undefined *)0x0)" ( (binary_expression "puVar2 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }" { (expression_statement "lVar16 = lVar16 + -1 + ZEXT48(puVar2);" (assignment_expression "lVar16 = lVar16 + -1 + ZEXT48(puVar2)" identifier = (binary_expression "lVar16 + -1 + ZEXT48(puVar2)" (binary_expression "lVar16 + -1" identifier + number_literal) + (call_expression "ZEXT48(puVar2)" identifier (argument_list "(puVar2)" ( identifier ))))) ;) (expression_statement "lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);" (assignment_expression "lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2)" identifier = (call_expression "CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2)" identifier (argument_list "((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2)" ( (binary_expression "(uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0)" (call_expression "(uint)((ulonglong)lVar16 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar16 >> 0x20)" ( (binary_expression "(ulonglong)lVar16 >> 0x20" (cast_expression "(ulonglong)lVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) & (unary_expression "-(uint)(puVar2 != (undefined *)0x0)" - (call_expression "(uint)(puVar2 != (undefined *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar2 != (undefined *)0x0)" ( (binary_expression "puVar2 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) , (binary_expression "(uint)lVar16 & -(int)puVar2" (cast_expression "(uint)lVar16" ( (type_descriptor "uint" type_identifier) ) identifier) & (unary_expression "-(int)puVar2" - (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) })) (expression_statement "ppuStack_44 = (undefined **)lVar16;" (assignment_expression "ppuStack_44 = (undefined **)lVar16" identifier = (cast_expression "(undefined **)lVar16" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "ppuStack_48 = local_28;" (assignment_expression "ppuStack_48 = local_28" identifier = identifier) ;) (expression_statement "ppuStack_4c = local_2c;" (assignment_expression "ppuStack_4c = local_2c" identifier = identifier) ;) (expression_statement "FUN_001ea5f0();" (call_expression "FUN_001ea5f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "lVar16 = lVar16 + ZEXT48(local_2c[0xd]);" (assignment_expression "lVar16 = lVar16 + ZEXT48(local_2c[0xd])" identifier = (binary_expression "lVar16 + ZEXT48(local_2c[0xd])" identifier + (call_expression "ZEXT48(local_2c[0xd])" identifier (argument_list "(local_2c[0xd])" ( (subscript_expression "local_2c[0xd]" identifier [ number_literal ]) ))))) ;) (expression_statement "puVar10 = (undefined4 *)param_4[1];" (assignment_expression "puVar10 = (undefined4 *)param_4[1]" identifier = (cast_expression "(undefined4 *)param_4[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00208270;" goto statement_identifier ;) })) (expression_statement "ppuStack_4c = (undefined **)0x0;" (assignment_expression "ppuStack_4c = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);" (assignment_expression "lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2)" identifier = (call_expression "FUN_0015e340(local_20,local_2c[0xd],0,puVar2)" identifier (argument_list "(local_20,local_2c[0xd],0,puVar2)" ( identifier , (subscript_expression "local_2c[0xd]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (expression_statement "ppuVar15 = local_30;" (assignment_expression "ppuVar15 = local_30" identifier = identifier) ;) (if_statement "if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }" if (parenthesized_expression "(lVar16 == -1)" ( (binary_expression "lVar16 == -1" identifier == number_literal) )) (compound_statement "{\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }" { (expression_statement "ppuVar8 = (undefined **)local_20[8];" (assignment_expression "ppuVar8 = (undefined **)local_20[8]" identifier = (cast_expression "(undefined **)local_20[8]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_20[8]" identifier [ number_literal ]))) ;) (expression_statement "ppuStack_4c = local_30 + -0x43ac7;" (assignment_expression "ppuStack_4c = local_30 + -0x43ac7" identifier = (binary_expression "local_30 + -0x43ac7" identifier + number_literal)) ;) (expression_statement "ppuStack_4c = (undefined **)gettext();" (assignment_expression "ppuStack_4c = (undefined **)gettext()" identifier = (cast_expression "(undefined **)gettext()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "gettext()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pppuVar13 = &ppuStack_4c;" (assignment_expression "pppuVar13 = &ppuStack_4c" identifier = (pointer_expression "&ppuStack_4c" & identifier)) ;) (expression_statement "ppuStack_48 = ppuVar8;" (assignment_expression "ppuStack_48 = ppuVar8" identifier = identifier) ;) (expression_statement "FUN_000d1300();" (call_expression "FUN_000d1300()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar6 = ppuStack_4c;" (assignment_expression "ppuVar6 = ppuStack_4c" identifier = identifier) ;) (goto_statement "goto LAB_0020850f;" goto statement_identifier ;) })) (expression_statement "ppuStack_48 = local_20;" (assignment_expression "ppuStack_48 = local_20" identifier = identifier) ;) (expression_statement "ppuStack_4c = local_2c;" (assignment_expression "ppuStack_4c = local_2c" identifier = identifier) ;) (expression_statement "ppuStack_44 = (undefined **)lVar16;" (assignment_expression "ppuStack_44 = (undefined **)lVar16" identifier = (cast_expression "(undefined **)lVar16" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "FUN_001ea5f0();" (call_expression "FUN_001ea5f0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar10 = (undefined4 *)param_4[1];" (assignment_expression "puVar10 = (undefined4 *)param_4[1]" identifier = (cast_expression "(undefined4 *)param_4[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) ;) })) (labeled_statement "LAB_00208270:\n      puVar11 = puVar14;" statement_identifier : (expression_statement "puVar11 = puVar14;" (assignment_expression "puVar11 = puVar14" identifier = identifier) ;)) }) while (parenthesized_expression "((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0))" ( (binary_expression "(puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0)" (parenthesized_expression "(puVar10 != puVar14)" ( (binary_expression "puVar10 != puVar14" identifier != identifier) )) && (parenthesized_expression "(ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0)" ( (comma_expression "ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0" (assignment_expression "ppuVar15 = (undefined **)*puVar14" identifier = (cast_expression "(undefined **)*puVar14" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar14" * identifier))) , (comma_expression "puVar11 = puVar10, ppuVar15 != (undefined **)0x0" (assignment_expression "puVar11 = puVar10" identifier = identifier) , (binary_expression "ppuVar15 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)))) ))) )) ;) }))) (if_statement "if (local_28 != (undefined **)0x0) {\n    if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    *(longlong *)(local_28 + 3) = lVar16;\n  }" if (parenthesized_expression "(local_28 != (undefined **)0x0)" ( (binary_expression "local_28 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }\n    *(longlong *)(local_28 + 3) = lVar16;\n  }" { (if_statement "if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }" if (parenthesized_expression "(((uint)local_28[7] & 2) != 0)" ( (binary_expression "((uint)local_28[7] & 2) != 0" (parenthesized_expression "((uint)local_28[7] & 2)" ( (binary_expression "(uint)local_28[7] & 2" (cast_expression "(uint)local_28[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_28[7]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) (compound_statement "{\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200();\n    }" { (expression_statement "ppuStack_40 = local_28;" (assignment_expression "ppuStack_40 = local_28" identifier = identifier) ;) (expression_statement "ppuStack_44 = local_30 + -0x40c68;" (assignment_expression "ppuStack_44 = local_30 + -0x40c68" identifier = (binary_expression "local_30 + -0x40c68" identifier + number_literal)) ;) (expression_statement "ppuStack_4c = local_30 + -0x47469;" (assignment_expression "ppuStack_4c = local_30 + -0x47469" identifier = (binary_expression "local_30 + -0x47469" identifier + number_literal)) ;) (expression_statement "ppuStack_48 = (undefined **)0x231;" (assignment_expression "ppuStack_48 = (undefined **)0x231" identifier = (cast_expression "(undefined **)0x231" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) comment (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(longlong *)(local_28 + 3) = lVar16;" (assignment_expression "*(longlong *)(local_28 + 3) = lVar16" (pointer_expression "*(longlong *)(local_28 + 3)" * (cast_expression "(longlong *)(local_28 + 3)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_28 + 3)" ( (binary_expression "local_28 + 3" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if ((undefined4 *)*param_4 != puVar11) {\n    param_4[1] = *param_4;\n  }" if (parenthesized_expression "((undefined4 *)*param_4 != puVar11)" ( (binary_expression "(undefined4 *)*param_4 != puVar11" (cast_expression "(undefined4 *)*param_4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier)) != identifier) )) (compound_statement "{\n    param_4[1] = *param_4;\n  }" { (expression_statement "param_4[1] = *param_4;" (assignment_expression "param_4[1] = *param_4" (subscript_expression "param_4[1]" identifier [ number_literal ]) = (pointer_expression "*param_4" * identifier)) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: void do_allocate_commons_list<32>(Symbol_table * this, Layout * layout,\n   Commons_section_type commons_section_type, Commons_type * commons, Mapfile * mapfile,\n   Sort_commons_order sort_order) */\n\nvoid __thiscall\ngold::Symbol_table::do_allocate_commons_list<32>\n          (Symbol_table *this,Layout *layout,Commons_section_type commons_section_type,\n          Commons_type *commons,Mapfile *mapfile,Sort_commons_order sort_order)\n\n{\n  undefined1 *puVar1;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __first;\n  Target_info *pTVar2;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp;\n  _Val_comp_iter<gold::Sort_commons<32>_> __comp_00;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_01;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_02;\n  bool bVar3;\n  bool bVar4;\n  Symbol *pSVar5;\n  pointer ppSVar6;\n  Sized_symbol<32> *pSVar7;\n  Value_type value;\n  char *format;\n  uint uVar8;\n  pointer ppSVar9;\n  uint uVar10;\n  pointer ppSVar11;\n  undefined4 uVar12;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last;\n  char *pcVar13;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last_00;\n  longlong lVar14;\n  Symbol_table *in_stack_ffffffc4;\n  Symbol *in_stack_ffffffc8;\n  uint local_2c;\n  Output_section_data *local_28;\n  Output_section *local_20;\n  \n  local_2c = 0;\n  ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  if (ppSVar11 ==\n      (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish\n     ) {\n    return;\n  }\n  bVar4 = false;\n  do {\n    while( true ) {\n      ppSVar6 = ppSVar11;\n      pSVar5 = *ppSVar6;\n      if ((pSVar5->field_0x2a & 0x10) != 0) {\n        pSVar5 = resolve_forwards(this,pSVar5);\n        *ppSVar6 = pSVar5;\n      }\n      if ((((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) &&\n         (bVar3 = Symbol::is_common_shndx((pSVar5->u2_).shndx), bVar3)) break;\n      *ppSVar6 = (Symbol *)0x0;\n      ppSVar11 = ppSVar6 + 1;\n      bVar3 = bVar4;\n      if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar6 + 1) goto LAB_00208000;\n    }\n    pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n    uVar10 = pSVar7->value_;\n    if (pSVar7->value_ <= local_2c) {\n      uVar10 = local_2c;\n    }\n    local_2c = uVar10;\n    ppSVar11 = ppSVar6 + 1;\n    bVar4 = bVar3;\n  } while ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n           _M_finish != ppSVar6 + 1);\nLAB_00208000:\n  __last._M_current = ppSVar6 + 1;\n  if (bVar3 == false) {\n    return;\n  }\n  __first._M_current =\n       (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_start\n  ;\n  if (__last._M_current != __first._M_current) {\n    uVar8 = (int)__last._M_current - (int)__first._M_current >> 2;\n    uVar10 = 0x1f;\n    if (uVar8 != 0) {\n      for (; uVar8 >> uVar10 == 0; uVar10 = uVar10 - 1) {\n      }\n    }\n    __comp._M_comp.sort_order_ = sort_order;\n    __comp._M_comp.symtab_ = this;\n    std::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last,(0x1f - (uVar10 ^ 0x1f)) * 2,__comp);\n    if ((int)__last._M_current - (int)__first._M_current < 0x41) {\n      __comp_02._M_comp.sort_order_ = sort_order;\n      __comp_02._M_comp.symtab_ = this;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_02);\n    }\n    else {\n      __last_00._M_current = __first._M_current + 0x10;\n      __comp_01._M_comp.sort_order_ = sort_order;\n      __comp_01._M_comp.symtab_ = this;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last_00,__comp_01);\n      for (; __last._M_current != __last_00._M_current;\n          __last_00._M_current = __last_00._M_current + 1) {\n        __comp_00._M_comp.sort_order_ = sort_order;\n        __comp_00._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last_00,__comp_00);\n      }\n    }\n  }\n  if (commons_section_type == COMMONS_TLS) {\n    uVar12 = 0;\n    pcVar13 = ".tbss";\n    local_20 = (Output_section *)0x310db8;\n    uVar10 = 0x403;\n  }\n  else if (commons_section_type == COMMONS_NORMAL) {\n    uVar12 = 0;\n    local_20 = (Output_section *)0x310d9e;\n    pcVar13 = ".bss";\n    uVar10 = 3;\n  }\n  else if (commons_section_type == COMMONS_SMALL) {\n    if (parameters->target_ == (Target *)0x0) {\nLAB_002084b3:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->small_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->small_common_section_flags | 3;\n    local_20 = (Output_section *)0x310da8;\n    pcVar13 = ".sbss";\n  }\n  else {\n    if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n    }\n    if (parameters->target_ == (Target *)0x0) goto LAB_002084b3;\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->large_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->large_common_section_flags | 3;\n    local_20 = (Output_section *)0x310d8e;\n    pcVar13 = ".lbss";\n  }\n  bVar4 = Parameters::incremental_update(parameters);\n  if (bVar4) {\n    local_20 = Layout::find_output_section(layout,pcVar13);\n    local_28 = (Output_section_data *)0x0;\n  }\n  else {\n    local_28 = (Output_section_data *)operator_new(0x30);\n    *(undefined4 *)&(local_28->super_Output_data).address_ = 0;\n    *(undefined4 *)((int)&(local_28->super_Output_data).address_ + 4) = 0;\n    *(undefined4 *)&(local_28->super_Output_data).data_size_ = 0;\n    *(undefined4 *)((int)&(local_28->super_Output_data).data_size_ + 4) = 0;\n    *(undefined4 *)&(local_28->super_Output_data).offset_ = 0xffffffff;\n    *(undefined4 *)((int)&(local_28->super_Output_data).offset_ + 4) = 0xffffffff;\n    puVar1 = &(local_28->super_Output_data).field_0x1c;\n    *puVar1 = *puVar1 & 0xe0;\n    local_28->output_section_ = (Output_section *)0x0;\n    *(uint *)&local_28->addralign_ = local_2c;\n    *(undefined4 *)((int)&local_28->addralign_ + 4) = 0;\n    (local_28->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_0040dc2c;\n    local_28[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)local_20;\n    local_20 = Layout::add_output_section_data\n                         (layout,pcVar13,8,CONCAT44(uVar12,uVar10),local_28,ORDER_INVALID,false);\n  }\n  if (local_20 != (Output_section *)0x0) {\n    if (commons_section_type == COMMONS_SMALL) {\n      local_20->field_0x91 = local_20->field_0x91 | 0x40;\n    }\n    else if (commons_section_type == COMMONS_LARGE) {\n      local_20->field_0x91 = local_20->field_0x91 | 0x80;\n    }\n  }\n  ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish;\n  if ((ppSVar11 == ppSVar6) || (pSVar5 = *ppSVar11, pSVar5 == (Symbol *)0x0)) {\n    lVar14 = 0;\n    ppSVar9 = ppSVar6;\n  }\n  else {\n    lVar14 = 0;\n    do {\n      value = (Value_type)lVar14;\n      ppSVar11 = ppSVar11 + 1;\n      if (((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) {\n        bVar4 = Symbol::is_common_shndx((pSVar5->u2_).shndx);\n        if (bVar4) {\n          pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);\n          }\n          uVar10 = pSVar7->value_;\n          if (local_28 != (Output_section_data *)0x0) {\n            if (uVar10 != 0) {\n              lVar14 = lVar14 + -1 + (ulonglong)uVar10;\n              value = (uint)lVar14 & -uVar10;\n              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);\n            }\n            Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value);\n            lVar14 = lVar14 + (ulonglong)pSVar7->symsize_;\n            ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish;\n            goto LAB_00208270;\n          }\n          lVar14 = Output_section::allocate(local_20,(ulonglong)pSVar7->symsize_,(ulonglong)uVar10);\n          if (lVar14 == -1) {\n            pcVar13 = local_20->name_;\n            format = (char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(format,pcVar13);\n          }\n          Sized_symbol<32>::allocate_common(pSVar7,&local_20->super_Output_data,(Value_type)lVar14);\n        }\n        ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                  _M_impl._M_finish;\n      }\nLAB_00208270:\n      ppSVar9 = ppSVar11;\n    } while ((ppSVar6 != ppSVar11) &&\n            (pSVar5 = *ppSVar11, ppSVar9 = ppSVar6, pSVar5 != (Symbol *)0x0));\n  }\n  if (local_28 != (Output_section_data *)0x0) {\n    if (((local_28->super_Output_data).field_0x1c & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    (local_28->super_Output_data).data_size_ = lVar14;\n  }\n  ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  if (ppSVar11 != ppSVar9) {\n    (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish =\n         ppSVar11;\n  }\n  return;\n}\n\n" comment comment comment comment (function_definition "void __thiscall\ngold::Symbol_table::do_allocate_commons_list<32>\n          (Symbol_table *this,Layout *layout,Commons_section_type commons_section_type,\n          Commons_type *commons,Mapfile *mapfile,Sort_commons_order sort_order)\n\n{\n  undefined1 *puVar1;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __first;\n  Target_info *pTVar2;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp;\n  _Val_comp_iter<gold::Sort_commons<32>_> __comp_00;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_01;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_02;\n  bool bVar3;\n  bool bVar4;\n  Symbol *pSVar5;\n  pointer ppSVar6;\n  Sized_symbol<32> *pSVar7;\n  Value_type value;\n  char *format;\n  uint uVar8;\n  pointer ppSVar9;\n  uint uVar10;\n  pointer ppSVar11;\n  undefined4 uVar12;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last;\n  char *pcVar13;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last_00;\n  longlong lVar14;\n  Symbol_table *in_stack_ffffffc4;\n  Symbol *in_stack_ffffffc8;\n  uint local_2c;\n  Output_section_data *local_28;\n  Output_section *local_20;\n  \n  local_2c = 0;\n  ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  if (ppSVar11 ==\n      (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish\n     ) {\n    return;\n  }\n  bVar4 = false;\n  do {\n    while( true ) {\n      ppSVar6 = ppSVar11;\n      pSVar5 = *ppSVar6;\n      if ((pSVar5->field_0x2a & 0x10) != 0) {\n        pSVar5 = resolve_forwards(this,pSVar5);\n        *ppSVar6 = pSVar5;\n      }\n      if ((((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) &&\n         (bVar3 = Symbol::is_common_shndx((pSVar5->u2_).shndx), bVar3)) break;\n      *ppSVar6 = (Symbol *)0x0;\n      ppSVar11 = ppSVar6 + 1;\n      bVar3 = bVar4;\n      if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar6 + 1) goto LAB_00208000;\n    }\n    pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n    uVar10 = pSVar7->value_;\n    if (pSVar7->value_ <= local_2c) {\n      uVar10 = local_2c;\n    }\n    local_2c = uVar10;\n    ppSVar11 = ppSVar6 + 1;\n    bVar4 = bVar3;\n  } while ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n           _M_finish != ppSVar6 + 1);\nLAB_00208000:\n  __last._M_current = ppSVar6 + 1;\n  if (bVar3 == false) {\n    return;\n  }\n  __first._M_current =\n       (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_start\n  ;\n  if (__last._M_current != __first._M_current) {\n    uVar8 = (int)__last._M_current - (int)__first._M_current >> 2;\n    uVar10 = 0x1f;\n    if (uVar8 != 0) {\n      for (; uVar8 >> uVar10 == 0; uVar10 = uVar10 - 1) {\n      }\n    }\n    __comp._M_comp.sort_order_ = sort_order;\n    __comp._M_comp.symtab_ = this;\n    std::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last,(0x1f - (uVar10 ^ 0x1f)) * 2,__comp);\n    if ((int)__last._M_current - (int)__first._M_current < 0x41) {\n      __comp_02._M_comp.sort_order_ = sort_order;\n      __comp_02._M_comp.symtab_ = this;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_02);\n    }\n    else {\n      __last_00._M_current = __first._M_current + 0x10;\n      __comp_01._M_comp.sort_order_ = sort_order;\n      __comp_01._M_comp.symtab_ = this;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last_00,__comp_01);\n      for (; __last._M_current != __last_00._M_current;\n          __last_00._M_current = __last_00._M_current + 1) {\n        __comp_00._M_comp.sort_order_ = sort_order;\n        __comp_00._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last_00,__comp_00);\n      }\n    }\n  }\n  if (commons_section_type == COMMONS_TLS) {\n    uVar12 = 0;\n    pcVar13 = ".tbss";\n    local_20 = (Output_section *)0x310db8;\n    uVar10 = 0x403;\n  }\n  else if (commons_section_type == COMMONS_NORMAL) {\n    uVar12 = 0;\n    local_20 = (Output_section *)0x310d9e;\n    pcVar13 = ".bss";\n    uVar10 = 3;\n  }\n  else if (commons_section_type == COMMONS_SMALL) {\n    if (parameters->target_ == (Target *)0x0) {\nLAB_002084b3:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->small_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->small_common_section_flags | 3;\n    local_20 = (Output_section *)0x310da8;\n    pcVar13 = ".sbss";\n  }\n  else {\n    if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n    }\n    if (parameters->target_ == (Target *)0x0) goto LAB_002084b3;\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->large_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->large_common_section_flags | 3;\n    local_20 = (Output_section *)0x310d8e;\n    pcVar13 = ".lbss";\n  }\n  bVar4 = Parameters::incremental_update(parameters);\n  if (bVar4) {\n    local_20 = Layout::find_output_section(layout,pcVar13);\n    local_28 = (Output_section_data *)0x0;\n  }\n  else {\n    local_28 = (Output_section_data *)operator_new(0x30);\n    *(undefined4 *)&(local_28->super_Output_data).address_ = 0;\n    *(undefined4 *)((int)&(local_28->super_Output_data).address_ + 4) = 0;\n    *(undefined4 *)&(local_28->super_Output_data).data_size_ = 0;\n    *(undefined4 *)((int)&(local_28->super_Output_data).data_size_ + 4) = 0;\n    *(undefined4 *)&(local_28->super_Output_data).offset_ = 0xffffffff;\n    *(undefined4 *)((int)&(local_28->super_Output_data).offset_ + 4) = 0xffffffff;\n    puVar1 = &(local_28->super_Output_data).field_0x1c;\n    *puVar1 = *puVar1 & 0xe0;\n    local_28->output_section_ = (Output_section *)0x0;\n    *(uint *)&local_28->addralign_ = local_2c;\n    *(undefined4 *)((int)&local_28->addralign_ + 4) = 0;\n    (local_28->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_0040dc2c;\n    local_28[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)local_20;\n    local_20 = Layout::add_output_section_data\n                         (layout,pcVar13,8,CONCAT44(uVar12,uVar10),local_28,ORDER_INVALID,false);\n  }\n  if (local_20 != (Output_section *)0x0) {\n    if (commons_section_type == COMMONS_SMALL) {\n      local_20->field_0x91 = local_20->field_0x91 | 0x40;\n    }\n    else if (commons_section_type == COMMONS_LARGE) {\n      local_20->field_0x91 = local_20->field_0x91 | 0x80;\n    }\n  }\n  ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish;\n  if ((ppSVar11 == ppSVar6) || (pSVar5 = *ppSVar11, pSVar5 == (Symbol *)0x0)) {\n    lVar14 = 0;\n    ppSVar9 = ppSVar6;\n  }\n  else {\n    lVar14 = 0;\n    do {\n      value = (Value_type)lVar14;\n      ppSVar11 = ppSVar11 + 1;\n      if (((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) {\n        bVar4 = Symbol::is_common_shndx((pSVar5->u2_).shndx);\n        if (bVar4) {\n          pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);\n          }\n          uVar10 = pSVar7->value_;\n          if (local_28 != (Output_section_data *)0x0) {\n            if (uVar10 != 0) {\n              lVar14 = lVar14 + -1 + (ulonglong)uVar10;\n              value = (uint)lVar14 & -uVar10;\n              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);\n            }\n            Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value);\n            lVar14 = lVar14 + (ulonglong)pSVar7->symsize_;\n            ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish;\n            goto LAB_00208270;\n          }\n          lVar14 = Output_section::allocate(local_20,(ulonglong)pSVar7->symsize_,(ulonglong)uVar10);\n          if (lVar14 == -1) {\n            pcVar13 = local_20->name_;\n            format = (char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(format,pcVar13);\n          }\n          Sized_symbol<32>::allocate_common(pSVar7,&local_20->super_Output_data,(Value_type)lVar14);\n        }\n        ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                  _M_impl._M_finish;\n      }\nLAB_00208270:\n      ppSVar9 = ppSVar11;\n    } while ((ppSVar6 != ppSVar11) &&\n            (pSVar5 = *ppSVar11, ppSVar9 = ppSVar6, pSVar5 != (Symbol *)0x0));\n  }\n  if (local_28 != (Output_section_data *)0x0) {\n    if (((local_28->super_Output_data).field_0x1c & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    (local_28->super_Output_data).data_size_ = lVar14;\n  }\n  ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  if (ppSVar11 != ppSVar9) {\n    (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish =\n         ppSVar11;\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Symbol_table::" identifier : : identifier : :) (function_declarator "do_allocate_commons_list<32>\n          (Symbol_table *this,Layout *layout,Commons_section_type commons_section_type,\n          Commons_type *commons,Mapfile *mapfile,Sort_commons_order sort_order)" identifier (ERROR "<32>" < number_literal >) (parameter_list "(Symbol_table *this,Layout *layout,Commons_section_type commons_section_type,\n          Commons_type *commons,Mapfile *mapfile,Sort_commons_order sort_order)" ( (parameter_declaration "Symbol_table *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "Commons_section_type commons_section_type" type_identifier identifier) , (parameter_declaration "Commons_type *commons" type_identifier (pointer_declarator "*commons" * identifier)) , (parameter_declaration "Mapfile *mapfile" type_identifier (pointer_declarator "*mapfile" * identifier)) , (parameter_declaration "Sort_commons_order sort_order" type_identifier identifier) ))) (compound_statement "{\n  undefined1 *puVar1;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __first;\n  Target_info *pTVar2;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp;\n  _Val_comp_iter<gold::Sort_commons<32>_> __comp_00;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_01;\n  _Iter_comp_iter<gold::Sort_commons<32>_> __comp_02;\n  bool bVar3;\n  bool bVar4;\n  Symbol *pSVar5;\n  pointer ppSVar6;\n  Sized_symbol<32> *pSVar7;\n  Value_type value;\n  char *format;\n  uint uVar8;\n  pointer ppSVar9;\n  uint uVar10;\n  pointer ppSVar11;\n  undefined4 uVar12;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last;\n  char *pcVar13;\n  __normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last_00;\n  longlong lVar14;\n  Symbol_table *in_stack_ffffffc4;\n  Symbol *in_stack_ffffffc8;\n  uint local_2c;\n  Output_section_data *local_28;\n  Output_section *local_20;\n  \n  local_2c = 0;\n  ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  if (ppSVar11 ==\n      (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish\n     ) {\n    return;\n  }\n  bVar4 = false;\n  do {\n    while( true ) {\n      ppSVar6 = ppSVar11;\n      pSVar5 = *ppSVar6;\n      if ((pSVar5->field_0x2a & 0x10) != 0) {\n        pSVar5 = resolve_forwards(this,pSVar5);\n        *ppSVar6 = pSVar5;\n      }\n      if ((((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) &&\n         (bVar3 = Symbol::is_common_shndx((pSVar5->u2_).shndx), bVar3)) break;\n      *ppSVar6 = (Symbol *)0x0;\n      ppSVar11 = ppSVar6 + 1;\n      bVar3 = bVar4;\n      if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar6 + 1) goto LAB_00208000;\n    }\n    pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n    uVar10 = pSVar7->value_;\n    if (pSVar7->value_ <= local_2c) {\n      uVar10 = local_2c;\n    }\n    local_2c = uVar10;\n    ppSVar11 = ppSVar6 + 1;\n    bVar4 = bVar3;\n  } while ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n           _M_finish != ppSVar6 + 1);\nLAB_00208000:\n  __last._M_current = ppSVar6 + 1;\n  if (bVar3 == false) {\n    return;\n  }\n  __first._M_current =\n       (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_start\n  ;\n  if (__last._M_current != __first._M_current) {\n    uVar8 = (int)__last._M_current - (int)__first._M_current >> 2;\n    uVar10 = 0x1f;\n    if (uVar8 != 0) {\n      for (; uVar8 >> uVar10 == 0; uVar10 = uVar10 - 1) {\n      }\n    }\n    __comp._M_comp.sort_order_ = sort_order;\n    __comp._M_comp.symtab_ = this;\n    std::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last,(0x1f - (uVar10 ^ 0x1f)) * 2,__comp);\n    if ((int)__last._M_current - (int)__first._M_current < 0x41) {\n      __comp_02._M_comp.sort_order_ = sort_order;\n      __comp_02._M_comp.symtab_ = this;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_02);\n    }\n    else {\n      __last_00._M_current = __first._M_current + 0x10;\n      __comp_01._M_comp.sort_order_ = sort_order;\n      __comp_01._M_comp.symtab_ = this;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last_00,__comp_01);\n      for (; __last._M_current != __last_00._M_current;\n          __last_00._M_current = __last_00._M_current + 1) {\n        __comp_00._M_comp.sort_order_ = sort_order;\n        __comp_00._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last_00,__comp_00);\n      }\n    }\n  }\n  if (commons_section_type == COMMONS_TLS) {\n    uVar12 = 0;\n    pcVar13 = ".tbss";\n    local_20 = (Output_section *)0x310db8;\n    uVar10 = 0x403;\n  }\n  else if (commons_section_type == COMMONS_NORMAL) {\n    uVar12 = 0;\n    local_20 = (Output_section *)0x310d9e;\n    pcVar13 = ".bss";\n    uVar10 = 3;\n  }\n  else if (commons_section_type == COMMONS_SMALL) {\n    if (parameters->target_ == (Target *)0x0) {\nLAB_002084b3:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->small_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->small_common_section_flags | 3;\n    local_20 = (Output_section *)0x310da8;\n    pcVar13 = ".sbss";\n  }\n  else {\n    if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n    }\n    if (parameters->target_ == (Target *)0x0) goto LAB_002084b3;\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->large_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->large_common_section_flags | 3;\n    local_20 = (Output_section *)0x310d8e;\n    pcVar13 = ".lbss";\n  }\n  bVar4 = Parameters::incremental_update(parameters);\n  if (bVar4) {\n    local_20 = Layout::find_output_section(layout,pcVar13);\n    local_28 = (Output_section_data *)0x0;\n  }\n  else {\n    local_28 = (Output_section_data *)operator_new(0x30);\n    *(undefined4 *)&(local_28->super_Output_data).address_ = 0;\n    *(undefined4 *)((int)&(local_28->super_Output_data).address_ + 4) = 0;\n    *(undefined4 *)&(local_28->super_Output_data).data_size_ = 0;\n    *(undefined4 *)((int)&(local_28->super_Output_data).data_size_ + 4) = 0;\n    *(undefined4 *)&(local_28->super_Output_data).offset_ = 0xffffffff;\n    *(undefined4 *)((int)&(local_28->super_Output_data).offset_ + 4) = 0xffffffff;\n    puVar1 = &(local_28->super_Output_data).field_0x1c;\n    *puVar1 = *puVar1 & 0xe0;\n    local_28->output_section_ = (Output_section *)0x0;\n    *(uint *)&local_28->addralign_ = local_2c;\n    *(undefined4 *)((int)&local_28->addralign_ + 4) = 0;\n    (local_28->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_0040dc2c;\n    local_28[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)local_20;\n    local_20 = Layout::add_output_section_data\n                         (layout,pcVar13,8,CONCAT44(uVar12,uVar10),local_28,ORDER_INVALID,false);\n  }\n  if (local_20 != (Output_section *)0x0) {\n    if (commons_section_type == COMMONS_SMALL) {\n      local_20->field_0x91 = local_20->field_0x91 | 0x40;\n    }\n    else if (commons_section_type == COMMONS_LARGE) {\n      local_20->field_0x91 = local_20->field_0x91 | 0x80;\n    }\n  }\n  ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish;\n  if ((ppSVar11 == ppSVar6) || (pSVar5 = *ppSVar11, pSVar5 == (Symbol *)0x0)) {\n    lVar14 = 0;\n    ppSVar9 = ppSVar6;\n  }\n  else {\n    lVar14 = 0;\n    do {\n      value = (Value_type)lVar14;\n      ppSVar11 = ppSVar11 + 1;\n      if (((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) {\n        bVar4 = Symbol::is_common_shndx((pSVar5->u2_).shndx);\n        if (bVar4) {\n          pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);\n          }\n          uVar10 = pSVar7->value_;\n          if (local_28 != (Output_section_data *)0x0) {\n            if (uVar10 != 0) {\n              lVar14 = lVar14 + -1 + (ulonglong)uVar10;\n              value = (uint)lVar14 & -uVar10;\n              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);\n            }\n            Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value);\n            lVar14 = lVar14 + (ulonglong)pSVar7->symsize_;\n            ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish;\n            goto LAB_00208270;\n          }\n          lVar14 = Output_section::allocate(local_20,(ulonglong)pSVar7->symsize_,(ulonglong)uVar10);\n          if (lVar14 == -1) {\n            pcVar13 = local_20->name_;\n            format = (char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(format,pcVar13);\n          }\n          Sized_symbol<32>::allocate_common(pSVar7,&local_20->super_Output_data,(Value_type)lVar14);\n        }\n        ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                  _M_impl._M_finish;\n      }\nLAB_00208270:\n      ppSVar9 = ppSVar11;\n    } while ((ppSVar6 != ppSVar11) &&\n            (pSVar5 = *ppSVar11, ppSVar9 = ppSVar6, pSVar5 != (Symbol *)0x0));\n  }\n  if (local_28 != (Output_section_data *)0x0) {\n    if (((local_28->super_Output_data).field_0x1c & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    (local_28->super_Output_data).data_size_ = lVar14;\n  }\n  ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;\n  if (ppSVar11 != ppSVar9) {\n    (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish =\n         ppSVar11;\n  }\n  return;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (expression_statement "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __first;" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __first" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold" (binary_expression "__normal_iterator<gold::Symbol**,_std" (binary_expression "__normal_iterator<gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) > identifier) ;) (declaration "Target_info *pTVar2;" type_identifier (pointer_declarator "*pTVar2" * identifier) ;) (expression_statement "_Iter_comp_iter<gold::Sort_commons<32>_> __comp;" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32>_> __comp" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32>_" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32" (binary_expression "_Iter_comp_iter<gold" identifier < identifier) (ERROR "::Sort_commons" : : identifier) < number_literal) > identifier) > identifier) ;) (expression_statement "_Val_comp_iter<gold::Sort_commons<32>_> __comp_00;" (binary_expression "_Val_comp_iter<gold::Sort_commons<32>_> __comp_00" (binary_expression "_Val_comp_iter<gold::Sort_commons<32>_" (binary_expression "_Val_comp_iter<gold::Sort_commons<32" (binary_expression "_Val_comp_iter<gold" identifier < identifier) (ERROR "::Sort_commons" : : identifier) < number_literal) > identifier) > identifier) ;) (expression_statement "_Iter_comp_iter<gold::Sort_commons<32>_> __comp_01;" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32>_> __comp_01" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32>_" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32" (binary_expression "_Iter_comp_iter<gold" identifier < identifier) (ERROR "::Sort_commons" : : identifier) < number_literal) > identifier) > identifier) ;) (expression_statement "_Iter_comp_iter<gold::Sort_commons<32>_> __comp_02;" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32>_> __comp_02" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32>_" (binary_expression "_Iter_comp_iter<gold::Sort_commons<32" (binary_expression "_Iter_comp_iter<gold" identifier < identifier) (ERROR "::Sort_commons" : : identifier) < number_literal) > identifier) > identifier) ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "Symbol *pSVar5;" type_identifier (pointer_declarator "*pSVar5" * identifier) ;) (declaration "pointer ppSVar6;" type_identifier identifier ;) (expression_statement "Sized_symbol<32> *pSVar7;" (binary_expression "Sized_symbol<32> *pSVar7" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*pSVar7" * identifier)) ;) (declaration "Value_type value;" type_identifier identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "pointer ppSVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "pointer ppSVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (expression_statement "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last;" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold" (binary_expression "__normal_iterator<gold::Symbol**,_std" (binary_expression "__normal_iterator<gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) > identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (expression_statement "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last_00;" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_>\n  __last_00" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>_" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std::allocator<gold" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*,_std" (binary_expression "__normal_iterator<gold::Symbol**,_std::vector<gold" (binary_expression "__normal_iterator<gold::Symbol**,_std" (binary_expression "__normal_iterator<gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::vector" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) > identifier) ;) (declaration "longlong lVar14;" type_identifier identifier ;) (declaration "Symbol_table *in_stack_ffffffc4;" type_identifier (pointer_declarator "*in_stack_ffffffc4" * identifier) ;) (declaration "Symbol *in_stack_ffffffc8;" type_identifier (pointer_declarator "*in_stack_ffffffc8" * identifier) ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "Output_section_data *local_28;" type_identifier (pointer_declarator "*local_28" * identifier) ;) (declaration "Output_section *local_20;" type_identifier (pointer_declarator "*local_20" * identifier) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (expression_statement "ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;" (assignment_expression "ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start" identifier = (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (ERROR "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold::Symbol*" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_>" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (ppSVar11 ==\n      (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish\n     ) {\n    return;\n  }" if (parenthesized_expression "(ppSVar11 ==\n      (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish\n     )" ( (binary_expression "ppSVar11 ==\n      (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish" identifier == (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (do_statement "do {\n    while( true ) {\n      ppSVar6 = ppSVar11;\n      pSVar5 = *ppSVar6;\n      if ((pSVar5->field_0x2a & 0x10) != 0) {\n        pSVar5 = resolve_forwards(this,pSVar5);\n        *ppSVar6 = pSVar5;\n      }\n      if ((((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) &&\n         (bVar3 = Symbol::is_common_shndx((pSVar5->u2_).shndx), bVar3)) break;\n      *ppSVar6 = (Symbol *)0x0;\n      ppSVar11 = ppSVar6 + 1;\n      bVar3 = bVar4;\n      if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar6 + 1) goto LAB_00208000;\n    }\n    pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n    uVar10 = pSVar7->value_;\n    if (pSVar7->value_ <= local_2c) {\n      uVar10 = local_2c;\n    }\n    local_2c = uVar10;\n    ppSVar11 = ppSVar6 + 1;\n    bVar4 = bVar3;\n  } while ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n           _M_finish != ppSVar6 + 1);" do (compound_statement "{\n    while( true ) {\n      ppSVar6 = ppSVar11;\n      pSVar5 = *ppSVar6;\n      if ((pSVar5->field_0x2a & 0x10) != 0) {\n        pSVar5 = resolve_forwards(this,pSVar5);\n        *ppSVar6 = pSVar5;\n      }\n      if ((((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) &&\n         (bVar3 = Symbol::is_common_shndx((pSVar5->u2_).shndx), bVar3)) break;\n      *ppSVar6 = (Symbol *)0x0;\n      ppSVar11 = ppSVar6 + 1;\n      bVar3 = bVar4;\n      if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar6 + 1) goto LAB_00208000;\n    }\n    pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n    uVar10 = pSVar7->value_;\n    if (pSVar7->value_ <= local_2c) {\n      uVar10 = local_2c;\n    }\n    local_2c = uVar10;\n    ppSVar11 = ppSVar6 + 1;\n    bVar4 = bVar3;\n  }" { (while_statement "while( true ) {\n      ppSVar6 = ppSVar11;\n      pSVar5 = *ppSVar6;\n      if ((pSVar5->field_0x2a & 0x10) != 0) {\n        pSVar5 = resolve_forwards(this,pSVar5);\n        *ppSVar6 = pSVar5;\n      }\n      if ((((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) &&\n         (bVar3 = Symbol::is_common_shndx((pSVar5->u2_).shndx), bVar3)) break;\n      *ppSVar6 = (Symbol *)0x0;\n      ppSVar11 = ppSVar6 + 1;\n      bVar3 = bVar4;\n      if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar6 + 1) goto LAB_00208000;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      ppSVar6 = ppSVar11;\n      pSVar5 = *ppSVar6;\n      if ((pSVar5->field_0x2a & 0x10) != 0) {\n        pSVar5 = resolve_forwards(this,pSVar5);\n        *ppSVar6 = pSVar5;\n      }\n      if ((((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) &&\n         (bVar3 = Symbol::is_common_shndx((pSVar5->u2_).shndx), bVar3)) break;\n      *ppSVar6 = (Symbol *)0x0;\n      ppSVar11 = ppSVar6 + 1;\n      bVar3 = bVar4;\n      if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar6 + 1) goto LAB_00208000;\n    }" { (expression_statement "ppSVar6 = ppSVar11;" (assignment_expression "ppSVar6 = ppSVar11" identifier = identifier) ;) (expression_statement "pSVar5 = *ppSVar6;" (assignment_expression "pSVar5 = *ppSVar6" identifier = (pointer_expression "*ppSVar6" * identifier)) ;) (if_statement "if ((pSVar5->field_0x2a & 0x10) != 0) {\n        pSVar5 = resolve_forwards(this,pSVar5);\n        *ppSVar6 = pSVar5;\n      }" if (parenthesized_expression "((pSVar5->field_0x2a & 0x10) != 0)" ( (binary_expression "(pSVar5->field_0x2a & 0x10) != 0" (parenthesized_expression "(pSVar5->field_0x2a & 0x10)" ( (binary_expression "pSVar5->field_0x2a & 0x10" (field_expression "pSVar5->field_0x2a" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        pSVar5 = resolve_forwards(this,pSVar5);\n        *ppSVar6 = pSVar5;\n      }" { (expression_statement "pSVar5 = resolve_forwards(this,pSVar5);" (assignment_expression "pSVar5 = resolve_forwards(this,pSVar5)" identifier = (call_expression "resolve_forwards(this,pSVar5)" identifier (argument_list "(this,pSVar5)" ( identifier , identifier )))) ;) (expression_statement "*ppSVar6 = pSVar5;" (assignment_expression "*ppSVar6 = pSVar5" (pointer_expression "*ppSVar6" * identifier) = identifier) ;) })) (if_statement "if ((((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) &&\n         (bVar3 = Symbol::is_common_shndx((pSVar5->u2_).shndx), bVar3)) break;" if (parenthesized_expression "((((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) &&\n         (bVar3 = Symbol::is_common_shndx((pSVar5->u2_).shndx), bVar3))" ( (binary_expression "(((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) &&\n         (bVar3 = Symbol::is_common_shndx((pSVar5->u2_).shndx), bVar3)" (parenthesized_expression "(((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0))" ( (binary_expression "((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)" (parenthesized_expression "((pSVar5->field_0x2a & 7) == 0)" ( (binary_expression "(pSVar5->field_0x2a & 7) == 0" (parenthesized_expression "(pSVar5->field_0x2a & 7)" ( (binary_expression "pSVar5->field_0x2a & 7" (field_expression "pSVar5->field_0x2a" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "((pSVar5->field_0x2b & 0x20) == 0)" ( (binary_expression "(pSVar5->field_0x2b & 0x20) == 0" (parenthesized_expression "(pSVar5->field_0x2b & 0x20)" ( (binary_expression "pSVar5->field_0x2b & 0x20" (field_expression "pSVar5->field_0x2b" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(bVar3 = Symbol::is_common_shndx((pSVar5->u2_).shndx), bVar3)" ( (ERROR "bVar3 = Symbol::" (assignment_expression "bVar3 = Symbol" identifier = identifier) : :) (comma_expression "is_common_shndx((pSVar5->u2_).shndx), bVar3" (call_expression "is_common_shndx((pSVar5->u2_).shndx)" identifier (argument_list "((pSVar5->u2_).shndx)" ( (field_expression "(pSVar5->u2_).shndx" (parenthesized_expression "(pSVar5->u2_)" ( (field_expression "pSVar5->u2_" identifier -> field_identifier) )) . field_identifier) ))) , identifier) ))) )) (break_statement "break;" break ;)) (expression_statement "*ppSVar6 = (Symbol *)0x0;" (assignment_expression "*ppSVar6 = (Symbol *)0x0" (pointer_expression "*ppSVar6" * identifier) = (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppSVar11 = ppSVar6 + 1;" (assignment_expression "ppSVar11 = ppSVar6 + 1" identifier = (binary_expression "ppSVar6 + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = bVar4;" (assignment_expression "bVar3 = bVar4" identifier = identifier) ;) (if_statement "if ((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar6 + 1) goto LAB_00208000;" if (parenthesized_expression "((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar6 + 1)" ( (binary_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish == ppSVar6 + 1" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n          _M_finish" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) == (binary_expression "ppSVar6 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_00208000;" goto statement_identifier ;)) })) (expression_statement "pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);" (assignment_expression "pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8)" identifier = (binary_expression "get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8)" (binary_expression "get_sized_symbol<32" identifier < number_literal) > (parenthesized_expression "(in_stack_ffffffc4,in_stack_ffffffc8)" ( (comma_expression "in_stack_ffffffc4,in_stack_ffffffc8" identifier , identifier) )))) ;) (expression_statement "uVar10 = pSVar7->value_;" (assignment_expression "uVar10 = pSVar7->value_" identifier = (field_expression "pSVar7->value_" identifier -> field_identifier)) ;) (if_statement "if (pSVar7->value_ <= local_2c) {\n      uVar10 = local_2c;\n    }" if (parenthesized_expression "(pSVar7->value_ <= local_2c)" ( (binary_expression "pSVar7->value_ <= local_2c" (field_expression "pSVar7->value_" identifier -> field_identifier) <= identifier) )) (compound_statement "{\n      uVar10 = local_2c;\n    }" { (expression_statement "uVar10 = local_2c;" (assignment_expression "uVar10 = local_2c" identifier = identifier) ;) })) (expression_statement "local_2c = uVar10;" (assignment_expression "local_2c = uVar10" identifier = identifier) ;) (expression_statement "ppSVar11 = ppSVar6 + 1;" (assignment_expression "ppSVar11 = ppSVar6 + 1" identifier = (binary_expression "ppSVar6 + 1" identifier + number_literal)) ;) (expression_statement "bVar4 = bVar3;" (assignment_expression "bVar4 = bVar3" identifier = identifier) ;) }) while (parenthesized_expression "((commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n           _M_finish != ppSVar6 + 1)" ( (binary_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n           _M_finish != ppSVar6 + 1" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n           _M_finish" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) != (binary_expression "ppSVar6 + 1" identifier + number_literal)) )) ;) (labeled_statement "LAB_00208000:\n  __last._M_current = ppSVar6 + 1;" statement_identifier : (expression_statement "__last._M_current = ppSVar6 + 1;" (assignment_expression "__last._M_current = ppSVar6 + 1" (field_expression "__last._M_current" identifier . field_identifier) = (binary_expression "ppSVar6 + 1" identifier + number_literal)) ;)) (if_statement "if (bVar3 == false) {\n    return;\n  }" if (parenthesized_expression "(bVar3 == false)" ( (binary_expression "bVar3 == false" identifier == false) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "__first._M_current =\n       (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_start\n  ;" (assignment_expression "__first._M_current =\n       (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_start" (field_expression "__first._M_current" identifier . field_identifier) = (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_start" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (__last._M_current != __first._M_current) {\n    uVar8 = (int)__last._M_current - (int)__first._M_current >> 2;\n    uVar10 = 0x1f;\n    if (uVar8 != 0) {\n      for (; uVar8 >> uVar10 == 0; uVar10 = uVar10 - 1) {\n      }\n    }\n    __comp._M_comp.sort_order_ = sort_order;\n    __comp._M_comp.symtab_ = this;\n    std::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last,(0x1f - (uVar10 ^ 0x1f)) * 2,__comp);\n    if ((int)__last._M_current - (int)__first._M_current < 0x41) {\n      __comp_02._M_comp.sort_order_ = sort_order;\n      __comp_02._M_comp.symtab_ = this;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_02);\n    }\n    else {\n      __last_00._M_current = __first._M_current + 0x10;\n      __comp_01._M_comp.sort_order_ = sort_order;\n      __comp_01._M_comp.symtab_ = this;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last_00,__comp_01);\n      for (; __last._M_current != __last_00._M_current;\n          __last_00._M_current = __last_00._M_current + 1) {\n        __comp_00._M_comp.sort_order_ = sort_order;\n        __comp_00._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last_00,__comp_00);\n      }\n    }\n  }" if (parenthesized_expression "(__last._M_current != __first._M_current)" ( (binary_expression "__last._M_current != __first._M_current" (field_expression "__last._M_current" identifier . field_identifier) != (field_expression "__first._M_current" identifier . field_identifier)) )) (compound_statement "{\n    uVar8 = (int)__last._M_current - (int)__first._M_current >> 2;\n    uVar10 = 0x1f;\n    if (uVar8 != 0) {\n      for (; uVar8 >> uVar10 == 0; uVar10 = uVar10 - 1) {\n      }\n    }\n    __comp._M_comp.sort_order_ = sort_order;\n    __comp._M_comp.symtab_ = this;\n    std::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,_int,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last,(0x1f - (uVar10 ^ 0x1f)) * 2,__comp);\n    if ((int)__last._M_current - (int)__first._M_current < 0x41) {\n      __comp_02._M_comp.sort_order_ = sort_order;\n      __comp_02._M_comp.symtab_ = this;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_02);\n    }\n    else {\n      __last_00._M_current = __first._M_current + 0x10;\n      __comp_01._M_comp.sort_order_ = sort_order;\n      __comp_01._M_comp.symtab_ = this;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last_00,__comp_01);\n      for (; __last._M_current != __last_00._M_current;\n          __last_00._M_current = __last_00._M_current + 1) {\n        __comp_00._M_comp.sort_order_ = sort_order;\n        __comp_00._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last_00,__comp_00);\n      }\n    }\n  }" { (expression_statement "uVar8 = (int)__last._M_current - (int)__first._M_current >> 2;" (assignment_expression "uVar8 = (int)__last._M_current - (int)__first._M_current >> 2" identifier = (binary_expression "(int)__last._M_current - (int)__first._M_current >> 2" (binary_expression "(int)__last._M_current - (int)__first._M_current" (cast_expression "(int)__last._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__last._M_current" identifier . field_identifier)) - (cast_expression "(int)__first._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__first._M_current" identifier . field_identifier))) >> number_literal)) ;) (expression_statement "uVar10 = 0x1f;" (assignment_expression "uVar10 = 0x1f" identifier = number_literal) ;) (if_statement "if (uVar8 != 0) {\n      for (; uVar8 >> uVar10 == 0; uVar10 = uVar10 - 1) {\n      }\n    }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n      for (; uVar8 >> uVar10 == 0; uVar10 = uVar10 - 1) {\n      }\n    }" { (for_statement "for (; uVar8 >> uVar10 == 0; uVar10 = uVar10 - 1) {\n      }" for ( ; (binary_expression "uVar8 >> uVar10 == 0" (binary_expression "uVar8 >> uVar10" identifier >> identifier) == number_literal) ; (assignment_expression "uVar10 = uVar10 - 1" identifier = (binary_expression "uVar10 - 1" identifier - number_literal)) ) (compound_statement "{\n      }" { })) })) (expression_statement "__comp._M_comp.sort_order_ = sort_order;" (assignment_expression "__comp._M_comp.sort_order_ = sort_order" (field_expression "__comp._M_comp.sort_order_" (field_expression "__comp._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "__comp._M_comp.symtab_ = this;" (assignment_expression "__comp._M_comp.symtab_ = this" (field_expression "__comp._M_comp.symtab_" (field_expression "__comp._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (ERROR "std::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,_int,___gnu_cxx::" (comma_expression "std::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**,_std" identifier (ERROR "::\n    __introsort_loop<__gnu_cxx::__normal_iterator<gold::Symbol**" : : (binary_expression "__introsort_loop<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<gold" identifier < identifier) : : identifier * *) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Symbol*>_>,_int,___gnu_cxx" (binary_expression "Symbol*>_>,_int" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) , identifier) : :) (labeled_statement "__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n              (__first,__last,(0x1f - (uVar10 ^ 0x1f)) * 2,__comp);" statement_identifier (ERROR "::_Iter_comp_iter<gold:" : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) :) : (expression_statement "Sort_commons<32>_>_>\n              (__first,__last,(0x1f - (uVar10 ^ 0x1f)) * 2,__comp);" (binary_expression "Sort_commons<32>_>_>\n              (__first,__last,(0x1f - (uVar10 ^ 0x1f)) * 2,__comp)" (binary_expression "Sort_commons<32>_>_" (binary_expression "Sort_commons<32>_" (binary_expression "Sort_commons<32" identifier < number_literal) > identifier) > identifier) > (parenthesized_expression "(__first,__last,(0x1f - (uVar10 ^ 0x1f)) * 2,__comp)" ( (comma_expression "__first,__last,(0x1f - (uVar10 ^ 0x1f)) * 2,__comp" identifier , (comma_expression "__last,(0x1f - (uVar10 ^ 0x1f)) * 2,__comp" identifier , (comma_expression "(0x1f - (uVar10 ^ 0x1f)) * 2,__comp" (binary_expression "(0x1f - (uVar10 ^ 0x1f)) * 2" (parenthesized_expression "(0x1f - (uVar10 ^ 0x1f))" ( (binary_expression "0x1f - (uVar10 ^ 0x1f)" number_literal - (parenthesized_expression "(uVar10 ^ 0x1f)" ( (binary_expression "uVar10 ^ 0x1f" identifier ^ number_literal) ))) )) * number_literal) , identifier))) ))) ;)) (if_statement "if ((int)__last._M_current - (int)__first._M_current < 0x41) {\n      __comp_02._M_comp.sort_order_ = sort_order;\n      __comp_02._M_comp.symtab_ = this;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_02);\n    }\n    else {\n      __last_00._M_current = __first._M_current + 0x10;\n      __comp_01._M_comp.sort_order_ = sort_order;\n      __comp_01._M_comp.symtab_ = this;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last_00,__comp_01);\n      for (; __last._M_current != __last_00._M_current;\n          __last_00._M_current = __last_00._M_current + 1) {\n        __comp_00._M_comp.sort_order_ = sort_order;\n        __comp_00._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last_00,__comp_00);\n      }\n    }" if (parenthesized_expression "((int)__last._M_current - (int)__first._M_current < 0x41)" ( (binary_expression "(int)__last._M_current - (int)__first._M_current < 0x41" (binary_expression "(int)__last._M_current - (int)__first._M_current" (cast_expression "(int)__last._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__last._M_current" identifier . field_identifier)) - (cast_expression "(int)__first._M_current" ( (type_descriptor "int" primitive_type) ) (field_expression "__first._M_current" identifier . field_identifier))) < number_literal) )) (compound_statement "{\n      __comp_02._M_comp.sort_order_ = sort_order;\n      __comp_02._M_comp.symtab_ = this;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_02);\n    }" { (expression_statement "__comp_02._M_comp.sort_order_ = sort_order;" (assignment_expression "__comp_02._M_comp.sort_order_ = sort_order" (field_expression "__comp_02._M_comp.sort_order_" (field_expression "__comp_02._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "__comp_02._M_comp.symtab_ = this;" (assignment_expression "__comp_02._M_comp.symtab_ = this" (field_expression "__comp_02._M_comp.symtab_" (field_expression "__comp_02._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (ERROR "std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::" (comma_expression "std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std" identifier (ERROR "::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**" : : (binary_expression "__insertion_sort<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<gold" identifier < identifier) : : identifier * *) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (binary_expression "Symbol*>_>,___gnu_cxx" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last,__comp_02);" statement_identifier (ERROR "::_Iter_comp_iter<gold:" : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) :) : (expression_statement "Sort_commons<32>_>_>\n                (__first,__last,__comp_02);" (binary_expression "Sort_commons<32>_>_>\n                (__first,__last,__comp_02)" (binary_expression "Sort_commons<32>_>_" (binary_expression "Sort_commons<32>_" (binary_expression "Sort_commons<32" identifier < number_literal) > identifier) > identifier) > (parenthesized_expression "(__first,__last,__comp_02)" ( (comma_expression "__first,__last,__comp_02" identifier , (comma_expression "__last,__comp_02" identifier , identifier)) ))) ;)) }) (else_clause "else {\n      __last_00._M_current = __first._M_current + 0x10;\n      __comp_01._M_comp.sort_order_ = sort_order;\n      __comp_01._M_comp.symtab_ = this;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last_00,__comp_01);\n      for (; __last._M_current != __last_00._M_current;\n          __last_00._M_current = __last_00._M_current + 1) {\n        __comp_00._M_comp.sort_order_ = sort_order;\n        __comp_00._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last_00,__comp_00);\n      }\n    }" else (compound_statement "{\n      __last_00._M_current = __first._M_current + 0x10;\n      __comp_01._M_comp.sort_order_ = sort_order;\n      __comp_01._M_comp.symtab_ = this;\n      std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last_00,__comp_01);\n      for (; __last._M_current != __last_00._M_current;\n          __last_00._M_current = __last_00._M_current + 1) {\n        __comp_00._M_comp.sort_order_ = sort_order;\n        __comp_00._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last_00,__comp_00);\n      }\n    }" { (expression_statement "__last_00._M_current = __first._M_current + 0x10;" (assignment_expression "__last_00._M_current = __first._M_current + 0x10" (field_expression "__last_00._M_current" identifier . field_identifier) = (binary_expression "__first._M_current + 0x10" (field_expression "__first._M_current" identifier . field_identifier) + number_literal)) ;) (expression_statement "__comp_01._M_comp.sort_order_ = sort_order;" (assignment_expression "__comp_01._M_comp.sort_order_ = sort_order" (field_expression "__comp_01._M_comp.sort_order_" (field_expression "__comp_01._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "__comp_01._M_comp.symtab_ = this;" (assignment_expression "__comp_01._M_comp.symtab_ = this" (field_expression "__comp_01._M_comp.symtab_" (field_expression "__comp_01._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (ERROR "std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::" (comma_expression "std::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**,_std" identifier (ERROR "::\n      __insertion_sort<__gnu_cxx::__normal_iterator<gold::Symbol**" : : (binary_expression "__insertion_sort<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<gold" identifier < identifier) : : identifier * *) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (binary_expression "Symbol*>_>,___gnu_cxx" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__ops::_Iter_comp_iter<gold::Sort_commons<32>_>_>\n                (__first,__last_00,__comp_01);" statement_identifier (ERROR "::_Iter_comp_iter<gold:" : : (binary_expression "_Iter_comp_iter<gold" identifier < identifier) :) : (expression_statement "Sort_commons<32>_>_>\n                (__first,__last_00,__comp_01);" (binary_expression "Sort_commons<32>_>_>\n                (__first,__last_00,__comp_01)" (binary_expression "Sort_commons<32>_>_" (binary_expression "Sort_commons<32>_" (binary_expression "Sort_commons<32" identifier < number_literal) > identifier) > identifier) > (parenthesized_expression "(__first,__last_00,__comp_01)" ( (comma_expression "__first,__last_00,__comp_01" identifier , (comma_expression "__last_00,__comp_01" identifier , identifier)) ))) ;)) (for_statement "for (; __last._M_current != __last_00._M_current;\n          __last_00._M_current = __last_00._M_current + 1) {\n        __comp_00._M_comp.sort_order_ = sort_order;\n        __comp_00._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last_00,__comp_00);\n      }" for ( ; (binary_expression "__last._M_current != __last_00._M_current" (field_expression "__last._M_current" identifier . field_identifier) != (field_expression "__last_00._M_current" identifier . field_identifier)) ; (assignment_expression "__last_00._M_current = __last_00._M_current + 1" (field_expression "__last_00._M_current" identifier . field_identifier) = (binary_expression "__last_00._M_current + 1" (field_expression "__last_00._M_current" identifier . field_identifier) + number_literal)) ) (compound_statement "{\n        __comp_00._M_comp.sort_order_ = sort_order;\n        __comp_00._M_comp.symtab_ = this;\n        std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last_00,__comp_00);\n      }" { (expression_statement "__comp_00._M_comp.sort_order_ = sort_order;" (assignment_expression "__comp_00._M_comp.sort_order_ = sort_order" (field_expression "__comp_00._M_comp.sort_order_" (field_expression "__comp_00._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "__comp_00._M_comp.symtab_ = this;" (assignment_expression "__comp_00._M_comp.symtab_ = this" (field_expression "__comp_00._M_comp.symtab_" (field_expression "__comp_00._M_comp" identifier . field_identifier) . field_identifier) = identifier) ;) (ERROR "std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std::vector<gold::Symbol*>_>,___gnu_cxx::" (comma_expression "std::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**,_std" identifier (ERROR "::\n        __unguarded_linear_insert<__gnu_cxx::__normal_iterator<gold::Symbol**" : : (binary_expression "__unguarded_linear_insert<__gnu_cxx" identifier < identifier) : : (binary_expression "__normal_iterator<gold" identifier < identifier) : : identifier * *) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (binary_expression "Symbol*>_>,___gnu_cxx" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__ops::_Val_comp_iter<gold::Sort_commons<32>_>_>\n                  (__last_00,__comp_00);" statement_identifier (ERROR "::_Val_comp_iter<gold:" : : (binary_expression "_Val_comp_iter<gold" identifier < identifier) :) : (expression_statement "Sort_commons<32>_>_>\n                  (__last_00,__comp_00);" (binary_expression "Sort_commons<32>_>_>\n                  (__last_00,__comp_00)" (binary_expression "Sort_commons<32>_>_" (binary_expression "Sort_commons<32>_" (binary_expression "Sort_commons<32" identifier < number_literal) > identifier) > identifier) > (parenthesized_expression "(__last_00,__comp_00)" ( (comma_expression "__last_00,__comp_00" identifier , identifier) ))) ;)) })) }))) })) (if_statement "if (commons_section_type == COMMONS_TLS) {\n    uVar12 = 0;\n    pcVar13 = ".tbss";\n    local_20 = (Output_section *)0x310db8;\n    uVar10 = 0x403;\n  }\n  else if (commons_section_type == COMMONS_NORMAL) {\n    uVar12 = 0;\n    local_20 = (Output_section *)0x310d9e;\n    pcVar13 = ".bss";\n    uVar10 = 3;\n  }\n  else if (commons_section_type == COMMONS_SMALL) {\n    if (parameters->target_ == (Target *)0x0) {\nLAB_002084b3:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->small_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->small_common_section_flags | 3;\n    local_20 = (Output_section *)0x310da8;\n    pcVar13 = ".sbss";\n  }\n  else {\n    if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n    }\n    if (parameters->target_ == (Target *)0x0) goto LAB_002084b3;\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->large_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->large_common_section_flags | 3;\n    local_20 = (Output_section *)0x310d8e;\n    pcVar13 = ".lbss";\n  }" if (parenthesized_expression "(commons_section_type == COMMONS_TLS)" ( (binary_expression "commons_section_type == COMMONS_TLS" identifier == identifier) )) (compound_statement "{\n    uVar12 = 0;\n    pcVar13 = ".tbss";\n    local_20 = (Output_section *)0x310db8;\n    uVar10 = 0x403;\n  }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "pcVar13 = ".tbss";" (assignment_expression "pcVar13 = ".tbss"" identifier = (string_literal "".tbss"" " string_content ")) ;) (expression_statement "local_20 = (Output_section *)0x310db8;" (assignment_expression "local_20 = (Output_section *)0x310db8" identifier = (cast_expression "(Output_section *)0x310db8" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar10 = 0x403;" (assignment_expression "uVar10 = 0x403" identifier = number_literal) ;) }) (else_clause "else if (commons_section_type == COMMONS_NORMAL) {\n    uVar12 = 0;\n    local_20 = (Output_section *)0x310d9e;\n    pcVar13 = ".bss";\n    uVar10 = 3;\n  }\n  else if (commons_section_type == COMMONS_SMALL) {\n    if (parameters->target_ == (Target *)0x0) {\nLAB_002084b3:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->small_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->small_common_section_flags | 3;\n    local_20 = (Output_section *)0x310da8;\n    pcVar13 = ".sbss";\n  }\n  else {\n    if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n    }\n    if (parameters->target_ == (Target *)0x0) goto LAB_002084b3;\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->large_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->large_common_section_flags | 3;\n    local_20 = (Output_section *)0x310d8e;\n    pcVar13 = ".lbss";\n  }" else (if_statement "if (commons_section_type == COMMONS_NORMAL) {\n    uVar12 = 0;\n    local_20 = (Output_section *)0x310d9e;\n    pcVar13 = ".bss";\n    uVar10 = 3;\n  }\n  else if (commons_section_type == COMMONS_SMALL) {\n    if (parameters->target_ == (Target *)0x0) {\nLAB_002084b3:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->small_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->small_common_section_flags | 3;\n    local_20 = (Output_section *)0x310da8;\n    pcVar13 = ".sbss";\n  }\n  else {\n    if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n    }\n    if (parameters->target_ == (Target *)0x0) goto LAB_002084b3;\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->large_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->large_common_section_flags | 3;\n    local_20 = (Output_section *)0x310d8e;\n    pcVar13 = ".lbss";\n  }" if (parenthesized_expression "(commons_section_type == COMMONS_NORMAL)" ( (binary_expression "commons_section_type == COMMONS_NORMAL" identifier == identifier) )) (compound_statement "{\n    uVar12 = 0;\n    local_20 = (Output_section *)0x310d9e;\n    pcVar13 = ".bss";\n    uVar10 = 3;\n  }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "local_20 = (Output_section *)0x310d9e;" (assignment_expression "local_20 = (Output_section *)0x310d9e" identifier = (cast_expression "(Output_section *)0x310d9e" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar13 = ".bss";" (assignment_expression "pcVar13 = ".bss"" identifier = (string_literal "".bss"" " string_content ")) ;) (expression_statement "uVar10 = 3;" (assignment_expression "uVar10 = 3" identifier = number_literal) ;) }) (else_clause "else if (commons_section_type == COMMONS_SMALL) {\n    if (parameters->target_ == (Target *)0x0) {\nLAB_002084b3:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->small_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->small_common_section_flags | 3;\n    local_20 = (Output_section *)0x310da8;\n    pcVar13 = ".sbss";\n  }\n  else {\n    if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n    }\n    if (parameters->target_ == (Target *)0x0) goto LAB_002084b3;\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->large_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->large_common_section_flags | 3;\n    local_20 = (Output_section *)0x310d8e;\n    pcVar13 = ".lbss";\n  }" else (if_statement "if (commons_section_type == COMMONS_SMALL) {\n    if (parameters->target_ == (Target *)0x0) {\nLAB_002084b3:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->small_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->small_common_section_flags | 3;\n    local_20 = (Output_section *)0x310da8;\n    pcVar13 = ".sbss";\n  }\n  else {\n    if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n    }\n    if (parameters->target_ == (Target *)0x0) goto LAB_002084b3;\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->large_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->large_common_section_flags | 3;\n    local_20 = (Output_section *)0x310d8e;\n    pcVar13 = ".lbss";\n  }" if (parenthesized_expression "(commons_section_type == COMMONS_SMALL)" ( (binary_expression "commons_section_type == COMMONS_SMALL" identifier == identifier) )) (compound_statement "{\n    if (parameters->target_ == (Target *)0x0) {\nLAB_002084b3:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->small_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->small_common_section_flags | 3;\n    local_20 = (Output_section *)0x310da8;\n    pcVar13 = ".sbss";\n  }" { (if_statement "if (parameters->target_ == (Target *)0x0) {\nLAB_002084b3:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }" if (parenthesized_expression "(parameters->target_ == (Target *)0x0)" ( (binary_expression "parameters->target_ == (Target *)0x0" (field_expression "parameters->target_" identifier -> field_identifier) == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002084b3:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }" { (labeled_statement "LAB_002084b3:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x69,"target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;)) })) (expression_statement "pTVar2 = parameters->target_->pti_;" (assignment_expression "pTVar2 = parameters->target_->pti_" identifier = (field_expression "parameters->target_->pti_" (field_expression "parameters->target_" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (pTVar2->small_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n    }" if (parenthesized_expression "(pTVar2->small_common_shndx == 0)" ( (binary_expression "pTVar2->small_common_shndx == 0" (field_expression "pTVar2->small_common_shndx" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags");" (call_expression "do_gold_unreachable("../../gold/target.h",0xc5,"small_common_section_flags")" identifier (argument_list "("../../gold/target.h",0xc5,"small_common_section_flags")" ( (string_literal ""../../gold/target.h"" " string_content ") , number_literal , (string_literal ""small_common_section_flags"" " string_content ") ))) ;) })) (expression_statement "uVar12 = *(undefined4 *)((int)&pTVar2->small_common_section_flags + 4);" (assignment_expression "uVar12 = *(undefined4 *)((int)&pTVar2->small_common_section_flags + 4)" identifier = (pointer_expression "*(undefined4 *)((int)&pTVar2->small_common_section_flags + 4)" * (cast_expression "(undefined4 *)((int)&pTVar2->small_common_section_flags + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTVar2->small_common_section_flags + 4)" ( (binary_expression "(int)&pTVar2->small_common_section_flags + 4" (cast_expression "(int)&pTVar2->small_common_section_flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTVar2->small_common_section_flags" & (field_expression "pTVar2->small_common_section_flags" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar10 = (uint)pTVar2->small_common_section_flags | 3;" (assignment_expression "uVar10 = (uint)pTVar2->small_common_section_flags | 3" identifier = (binary_expression "(uint)pTVar2->small_common_section_flags | 3" (cast_expression "(uint)pTVar2->small_common_section_flags" ( (type_descriptor "uint" type_identifier) ) (field_expression "pTVar2->small_common_section_flags" identifier -> field_identifier)) | number_literal)) ;) (expression_statement "local_20 = (Output_section *)0x310da8;" (assignment_expression "local_20 = (Output_section *)0x310da8" identifier = (cast_expression "(Output_section *)0x310da8" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar13 = ".sbss";" (assignment_expression "pcVar13 = ".sbss"" identifier = (string_literal "".sbss"" " string_content ")) ;) }) (else_clause "else {\n    if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n    }\n    if (parameters->target_ == (Target *)0x0) goto LAB_002084b3;\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->large_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->large_common_section_flags | 3;\n    local_20 = (Output_section *)0x310d8e;\n    pcVar13 = ".lbss";\n  }" else (compound_statement "{\n    if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n    }\n    if (parameters->target_ == (Target *)0x0) goto LAB_002084b3;\n    pTVar2 = parameters->target_->pti_;\n    if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n    }\n    uVar12 = *(undefined4 *)((int)&pTVar2->large_common_section_flags + 4);\n    uVar10 = (uint)pTVar2->large_common_section_flags | 3;\n    local_20 = (Output_section *)0x310d8e;\n    pcVar13 = ".lbss";\n  }" { (if_statement "if (commons_section_type != COMMONS_LARGE) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n    }" if (parenthesized_expression "(commons_section_type != COMMONS_LARGE)" ( (binary_expression "commons_section_type != COMMONS_LARGE" identifier != identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list");" (call_expression "do_gold_unreachable("../../gold/common.cc",0x11b,"do_allocate_commons_list")" identifier (argument_list "("../../gold/common.cc",0x11b,"do_allocate_commons_list")" ( (string_literal ""../../gold/common.cc"" " string_content ") , number_literal , (string_literal ""do_allocate_commons_list"" " string_content ") ))) ;) })) (if_statement "if (parameters->target_ == (Target *)0x0) goto LAB_002084b3;" if (parenthesized_expression "(parameters->target_ == (Target *)0x0)" ( (binary_expression "parameters->target_ == (Target *)0x0" (field_expression "parameters->target_" identifier -> field_identifier) == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002084b3;" goto statement_identifier ;)) (expression_statement "pTVar2 = parameters->target_->pti_;" (assignment_expression "pTVar2 = parameters->target_->pti_" identifier = (field_expression "parameters->target_->pti_" (field_expression "parameters->target_" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if (pTVar2->large_common_shndx == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n    }" if (parenthesized_expression "(pTVar2->large_common_shndx == 0)" ( (binary_expression "pTVar2->large_common_shndx == 0" (field_expression "pTVar2->large_common_shndx" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags");" (call_expression "do_gold_unreachable("../../gold/target.h",0xd5,"large_common_section_flags")" identifier (argument_list "("../../gold/target.h",0xd5,"large_common_section_flags")" ( (string_literal ""../../gold/target.h"" " string_content ") , number_literal , (string_literal ""large_common_section_flags"" " string_content ") ))) ;) })) (expression_statement "uVar12 = *(undefined4 *)((int)&pTVar2->large_common_section_flags + 4);" (assignment_expression "uVar12 = *(undefined4 *)((int)&pTVar2->large_common_section_flags + 4)" identifier = (pointer_expression "*(undefined4 *)((int)&pTVar2->large_common_section_flags + 4)" * (cast_expression "(undefined4 *)((int)&pTVar2->large_common_section_flags + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pTVar2->large_common_section_flags + 4)" ( (binary_expression "(int)&pTVar2->large_common_section_flags + 4" (cast_expression "(int)&pTVar2->large_common_section_flags" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pTVar2->large_common_section_flags" & (field_expression "pTVar2->large_common_section_flags" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar10 = (uint)pTVar2->large_common_section_flags | 3;" (assignment_expression "uVar10 = (uint)pTVar2->large_common_section_flags | 3" identifier = (binary_expression "(uint)pTVar2->large_common_section_flags | 3" (cast_expression "(uint)pTVar2->large_common_section_flags" ( (type_descriptor "uint" type_identifier) ) (field_expression "pTVar2->large_common_section_flags" identifier -> field_identifier)) | number_literal)) ;) (expression_statement "local_20 = (Output_section *)0x310d8e;" (assignment_expression "local_20 = (Output_section *)0x310d8e" identifier = (cast_expression "(Output_section *)0x310d8e" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar13 = ".lbss";" (assignment_expression "pcVar13 = ".lbss"" identifier = (string_literal "".lbss"" " string_content ")) ;) }))))))) (ERROR "bVar4 = Parameters::" (assignment_expression "bVar4 = Parameters" identifier = identifier) : :) (expression_statement "incremental_update(parameters);" (call_expression "incremental_update(parameters)" identifier (argument_list "(parameters)" ( identifier ))) ;) (if_statement "if (bVar4) {\n    local_20 = Layout::find_output_section(layout,pcVar13);\n    local_28 = (Output_section_data *)0x0;\n  }\n  else {\n    local_28 = (Output_section_data *)operator_new(0x30);\n    *(undefined4 *)&(local_28->super_Output_data).address_ = 0;\n    *(undefined4 *)((int)&(local_28->super_Output_data).address_ + 4) = 0;\n    *(undefined4 *)&(local_28->super_Output_data).data_size_ = 0;\n    *(undefined4 *)((int)&(local_28->super_Output_data).data_size_ + 4) = 0;\n    *(undefined4 *)&(local_28->super_Output_data).offset_ = 0xffffffff;\n    *(undefined4 *)((int)&(local_28->super_Output_data).offset_ + 4) = 0xffffffff;\n    puVar1 = &(local_28->super_Output_data).field_0x1c;\n    *puVar1 = *puVar1 & 0xe0;\n    local_28->output_section_ = (Output_section *)0x0;\n    *(uint *)&local_28->addralign_ = local_2c;\n    *(undefined4 *)((int)&local_28->addralign_ + 4) = 0;\n    (local_28->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_0040dc2c;\n    local_28[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)local_20;\n    local_20 = Layout::add_output_section_data\n                         (layout,pcVar13,8,CONCAT44(uVar12,uVar10),local_28,ORDER_INVALID,false);\n  }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n    local_20 = Layout::find_output_section(layout,pcVar13);\n    local_28 = (Output_section_data *)0x0;\n  }" { (ERROR "local_20 = Layout::" (assignment_expression "local_20 = Layout" identifier = identifier) : :) (expression_statement "find_output_section(layout,pcVar13);" (call_expression "find_output_section(layout,pcVar13)" identifier (argument_list "(layout,pcVar13)" ( identifier , identifier ))) ;) (expression_statement "local_28 = (Output_section_data *)0x0;" (assignment_expression "local_28 = (Output_section_data *)0x0" identifier = (cast_expression "(Output_section_data *)0x0" ( (type_descriptor "Output_section_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    local_28 = (Output_section_data *)operator_new(0x30);\n    *(undefined4 *)&(local_28->super_Output_data).address_ = 0;\n    *(undefined4 *)((int)&(local_28->super_Output_data).address_ + 4) = 0;\n    *(undefined4 *)&(local_28->super_Output_data).data_size_ = 0;\n    *(undefined4 *)((int)&(local_28->super_Output_data).data_size_ + 4) = 0;\n    *(undefined4 *)&(local_28->super_Output_data).offset_ = 0xffffffff;\n    *(undefined4 *)((int)&(local_28->super_Output_data).offset_ + 4) = 0xffffffff;\n    puVar1 = &(local_28->super_Output_data).field_0x1c;\n    *puVar1 = *puVar1 & 0xe0;\n    local_28->output_section_ = (Output_section *)0x0;\n    *(uint *)&local_28->addralign_ = local_2c;\n    *(undefined4 *)((int)&local_28->addralign_ + 4) = 0;\n    (local_28->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_0040dc2c;\n    local_28[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)local_20;\n    local_20 = Layout::add_output_section_data\n                         (layout,pcVar13,8,CONCAT44(uVar12,uVar10),local_28,ORDER_INVALID,false);\n  }" else (compound_statement "{\n    local_28 = (Output_section_data *)operator_new(0x30);\n    *(undefined4 *)&(local_28->super_Output_data).address_ = 0;\n    *(undefined4 *)((int)&(local_28->super_Output_data).address_ + 4) = 0;\n    *(undefined4 *)&(local_28->super_Output_data).data_size_ = 0;\n    *(undefined4 *)((int)&(local_28->super_Output_data).data_size_ + 4) = 0;\n    *(undefined4 *)&(local_28->super_Output_data).offset_ = 0xffffffff;\n    *(undefined4 *)((int)&(local_28->super_Output_data).offset_ + 4) = 0xffffffff;\n    puVar1 = &(local_28->super_Output_data).field_0x1c;\n    *puVar1 = *puVar1 & 0xe0;\n    local_28->output_section_ = (Output_section *)0x0;\n    *(uint *)&local_28->addralign_ = local_2c;\n    *(undefined4 *)((int)&local_28->addralign_ + 4) = 0;\n    (local_28->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_0040dc2c;\n    local_28[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)local_20;\n    local_20 = Layout::add_output_section_data\n                         (layout,pcVar13,8,CONCAT44(uVar12,uVar10),local_28,ORDER_INVALID,false);\n  }" { (expression_statement "local_28 = (Output_section_data *)operator_new(0x30);" (assignment_expression "local_28 = (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 "*(undefined4 *)&(local_28->super_Output_data).address_ = 0;" (assignment_expression "*(undefined4 *)&(local_28->super_Output_data).address_ = 0" (pointer_expression "*(undefined4 *)&(local_28->super_Output_data).address_" * (cast_expression "(undefined4 *)&(local_28->super_Output_data).address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(local_28->super_Output_data).address_" & (field_expression "(local_28->super_Output_data).address_" (parenthesized_expression "(local_28->super_Output_data)" ( (field_expression "local_28->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(local_28->super_Output_data).address_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(local_28->super_Output_data).address_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(local_28->super_Output_data).address_ + 4)" * (cast_expression "(undefined4 *)((int)&(local_28->super_Output_data).address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_28->super_Output_data).address_ + 4)" ( (binary_expression "(int)&(local_28->super_Output_data).address_ + 4" (cast_expression "(int)&(local_28->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_28->super_Output_data).address_" & (field_expression "(local_28->super_Output_data).address_" (parenthesized_expression "(local_28->super_Output_data)" ( (field_expression "local_28->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(local_28->super_Output_data).data_size_ = 0;" (assignment_expression "*(undefined4 *)&(local_28->super_Output_data).data_size_ = 0" (pointer_expression "*(undefined4 *)&(local_28->super_Output_data).data_size_" * (cast_expression "(undefined4 *)&(local_28->super_Output_data).data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(local_28->super_Output_data).data_size_" & (field_expression "(local_28->super_Output_data).data_size_" (parenthesized_expression "(local_28->super_Output_data)" ( (field_expression "local_28->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(local_28->super_Output_data).data_size_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(local_28->super_Output_data).data_size_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(local_28->super_Output_data).data_size_ + 4)" * (cast_expression "(undefined4 *)((int)&(local_28->super_Output_data).data_size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_28->super_Output_data).data_size_ + 4)" ( (binary_expression "(int)&(local_28->super_Output_data).data_size_ + 4" (cast_expression "(int)&(local_28->super_Output_data).data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_28->super_Output_data).data_size_" & (field_expression "(local_28->super_Output_data).data_size_" (parenthesized_expression "(local_28->super_Output_data)" ( (field_expression "local_28->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(local_28->super_Output_data).offset_ = 0xffffffff;" (assignment_expression "*(undefined4 *)&(local_28->super_Output_data).offset_ = 0xffffffff" (pointer_expression "*(undefined4 *)&(local_28->super_Output_data).offset_" * (cast_expression "(undefined4 *)&(local_28->super_Output_data).offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(local_28->super_Output_data).offset_" & (field_expression "(local_28->super_Output_data).offset_" (parenthesized_expression "(local_28->super_Output_data)" ( (field_expression "local_28->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(local_28->super_Output_data).offset_ + 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)&(local_28->super_Output_data).offset_ + 4) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)&(local_28->super_Output_data).offset_ + 4)" * (cast_expression "(undefined4 *)((int)&(local_28->super_Output_data).offset_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_28->super_Output_data).offset_ + 4)" ( (binary_expression "(int)&(local_28->super_Output_data).offset_ + 4" (cast_expression "(int)&(local_28->super_Output_data).offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_28->super_Output_data).offset_" & (field_expression "(local_28->super_Output_data).offset_" (parenthesized_expression "(local_28->super_Output_data)" ( (field_expression "local_28->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "puVar1 = &(local_28->super_Output_data).field_0x1c;" (assignment_expression "puVar1 = &(local_28->super_Output_data).field_0x1c" identifier = (pointer_expression "&(local_28->super_Output_data).field_0x1c" & (field_expression "(local_28->super_Output_data).field_0x1c" (parenthesized_expression "(local_28->super_Output_data)" ( (field_expression "local_28->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "*puVar1 = *puVar1 & 0xe0;" (assignment_expression "*puVar1 = *puVar1 & 0xe0" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & 0xe0" (pointer_expression "*puVar1" * identifier) & number_literal)) ;) (expression_statement "local_28->output_section_ = (Output_section *)0x0;" (assignment_expression "local_28->output_section_ = (Output_section *)0x0" (field_expression "local_28->output_section_" identifier -> field_identifier) = (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(uint *)&local_28->addralign_ = local_2c;" (assignment_expression "*(uint *)&local_28->addralign_ = local_2c" (pointer_expression "*(uint *)&local_28->addralign_" * (cast_expression "(uint *)&local_28->addralign_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_28->addralign_" & (field_expression "local_28->addralign_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&local_28->addralign_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&local_28->addralign_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&local_28->addralign_ + 4)" * (cast_expression "(undefined4 *)((int)&local_28->addralign_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_28->addralign_ + 4)" ( (binary_expression "(int)&local_28->addralign_ + 4" (cast_expression "(int)&local_28->addralign_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_28->addralign_" & (field_expression "local_28->addralign_" identifier -> field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "(local_28->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_0040dc2c;" (assignment_expression "(local_28->super_Output_data)._vptr_Output_data =\n         (_func_int_varargs **)&PTR__Output_data_space_0040dc2c" (field_expression "(local_28->super_Output_data)._vptr_Output_data" (parenthesized_expression "(local_28->super_Output_data)" ( (field_expression "local_28->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Output_data_space_0040dc2c" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Output_data_space_0040dc2c" & identifier))) ;) (expression_statement "local_28[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)local_20;" (assignment_expression "local_28[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)local_20" (field_expression "local_28[1].super_Output_data._vptr_Output_data" (field_expression "local_28[1].super_Output_data" (subscript_expression "local_28[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)local_20" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (ERROR "local_20 = Layout::" (assignment_expression "local_20 = Layout" identifier = identifier) : :) (expression_statement "add_output_section_data\n                         (layout,pcVar13,8,CONCAT44(uVar12,uVar10),local_28,ORDER_INVALID,false);" (call_expression "add_output_section_data\n                         (layout,pcVar13,8,CONCAT44(uVar12,uVar10),local_28,ORDER_INVALID,false)" identifier (argument_list "(layout,pcVar13,8,CONCAT44(uVar12,uVar10),local_28,ORDER_INVALID,false)" ( identifier , identifier , number_literal , (call_expression "CONCAT44(uVar12,uVar10)" identifier (argument_list "(uVar12,uVar10)" ( identifier , identifier ))) , identifier , identifier , false ))) ;) }))) (if_statement "if (local_20 != (Output_section *)0x0) {\n    if (commons_section_type == COMMONS_SMALL) {\n      local_20->field_0x91 = local_20->field_0x91 | 0x40;\n    }\n    else if (commons_section_type == COMMONS_LARGE) {\n      local_20->field_0x91 = local_20->field_0x91 | 0x80;\n    }\n  }" if (parenthesized_expression "(local_20 != (Output_section *)0x0)" ( (binary_expression "local_20 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (commons_section_type == COMMONS_SMALL) {\n      local_20->field_0x91 = local_20->field_0x91 | 0x40;\n    }\n    else if (commons_section_type == COMMONS_LARGE) {\n      local_20->field_0x91 = local_20->field_0x91 | 0x80;\n    }\n  }" { (if_statement "if (commons_section_type == COMMONS_SMALL) {\n      local_20->field_0x91 = local_20->field_0x91 | 0x40;\n    }\n    else if (commons_section_type == COMMONS_LARGE) {\n      local_20->field_0x91 = local_20->field_0x91 | 0x80;\n    }" if (parenthesized_expression "(commons_section_type == COMMONS_SMALL)" ( (binary_expression "commons_section_type == COMMONS_SMALL" identifier == identifier) )) (compound_statement "{\n      local_20->field_0x91 = local_20->field_0x91 | 0x40;\n    }" { (expression_statement "local_20->field_0x91 = local_20->field_0x91 | 0x40;" (assignment_expression "local_20->field_0x91 = local_20->field_0x91 | 0x40" (field_expression "local_20->field_0x91" identifier -> field_identifier) = (binary_expression "local_20->field_0x91 | 0x40" (field_expression "local_20->field_0x91" identifier -> field_identifier) | number_literal)) ;) }) (else_clause "else if (commons_section_type == COMMONS_LARGE) {\n      local_20->field_0x91 = local_20->field_0x91 | 0x80;\n    }" else (if_statement "if (commons_section_type == COMMONS_LARGE) {\n      local_20->field_0x91 = local_20->field_0x91 | 0x80;\n    }" if (parenthesized_expression "(commons_section_type == COMMONS_LARGE)" ( (binary_expression "commons_section_type == COMMONS_LARGE" identifier == identifier) )) (compound_statement "{\n      local_20->field_0x91 = local_20->field_0x91 | 0x80;\n    }" { (expression_statement "local_20->field_0x91 = local_20->field_0x91 | 0x80;" (assignment_expression "local_20->field_0x91 = local_20->field_0x91 | 0x80" (field_expression "local_20->field_0x91" identifier -> field_identifier) = (binary_expression "local_20->field_0x91 | 0x80" (field_expression "local_20->field_0x91" identifier -> field_identifier) | number_literal)) ;) })))) })) (expression_statement "ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;" (assignment_expression "ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start" identifier = (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (ERROR "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold::Symbol*" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_>" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish;" (assignment_expression "ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish" identifier = (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n            _M_finish" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (ERROR "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold::Symbol*" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_>" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((ppSVar11 == ppSVar6) || (pSVar5 = *ppSVar11, pSVar5 == (Symbol *)0x0)) {\n    lVar14 = 0;\n    ppSVar9 = ppSVar6;\n  }\n  else {\n    lVar14 = 0;\n    do {\n      value = (Value_type)lVar14;\n      ppSVar11 = ppSVar11 + 1;\n      if (((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) {\n        bVar4 = Symbol::is_common_shndx((pSVar5->u2_).shndx);\n        if (bVar4) {\n          pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);\n          }\n          uVar10 = pSVar7->value_;\n          if (local_28 != (Output_section_data *)0x0) {\n            if (uVar10 != 0) {\n              lVar14 = lVar14 + -1 + (ulonglong)uVar10;\n              value = (uint)lVar14 & -uVar10;\n              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);\n            }\n            Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value);\n            lVar14 = lVar14 + (ulonglong)pSVar7->symsize_;\n            ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish;\n            goto LAB_00208270;\n          }\n          lVar14 = Output_section::allocate(local_20,(ulonglong)pSVar7->symsize_,(ulonglong)uVar10);\n          if (lVar14 == -1) {\n            pcVar13 = local_20->name_;\n            format = (char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(format,pcVar13);\n          }\n          Sized_symbol<32>::allocate_common(pSVar7,&local_20->super_Output_data,(Value_type)lVar14);\n        }\n        ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                  _M_impl._M_finish;\n      }\nLAB_00208270:\n      ppSVar9 = ppSVar11;\n    } while ((ppSVar6 != ppSVar11) &&\n            (pSVar5 = *ppSVar11, ppSVar9 = ppSVar6, pSVar5 != (Symbol *)0x0));\n  }" if (parenthesized_expression "((ppSVar11 == ppSVar6) || (pSVar5 = *ppSVar11, pSVar5 == (Symbol *)0x0))" ( (binary_expression "(ppSVar11 == ppSVar6) || (pSVar5 = *ppSVar11, pSVar5 == (Symbol *)0x0)" (parenthesized_expression "(ppSVar11 == ppSVar6)" ( (binary_expression "ppSVar11 == ppSVar6" identifier == identifier) )) || (parenthesized_expression "(pSVar5 = *ppSVar11, pSVar5 == (Symbol *)0x0)" ( (comma_expression "pSVar5 = *ppSVar11, pSVar5 == (Symbol *)0x0" (assignment_expression "pSVar5 = *ppSVar11" identifier = (pointer_expression "*ppSVar11" * identifier)) , (binary_expression "pSVar5 == (Symbol *)0x0" identifier == (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    lVar14 = 0;\n    ppSVar9 = ppSVar6;\n  }" { (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" identifier = number_literal) ;) (expression_statement "ppSVar9 = ppSVar6;" (assignment_expression "ppSVar9 = ppSVar6" identifier = identifier) ;) }) (else_clause "else {\n    lVar14 = 0;\n    do {\n      value = (Value_type)lVar14;\n      ppSVar11 = ppSVar11 + 1;\n      if (((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) {\n        bVar4 = Symbol::is_common_shndx((pSVar5->u2_).shndx);\n        if (bVar4) {\n          pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);\n          }\n          uVar10 = pSVar7->value_;\n          if (local_28 != (Output_section_data *)0x0) {\n            if (uVar10 != 0) {\n              lVar14 = lVar14 + -1 + (ulonglong)uVar10;\n              value = (uint)lVar14 & -uVar10;\n              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);\n            }\n            Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value);\n            lVar14 = lVar14 + (ulonglong)pSVar7->symsize_;\n            ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish;\n            goto LAB_00208270;\n          }\n          lVar14 = Output_section::allocate(local_20,(ulonglong)pSVar7->symsize_,(ulonglong)uVar10);\n          if (lVar14 == -1) {\n            pcVar13 = local_20->name_;\n            format = (char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(format,pcVar13);\n          }\n          Sized_symbol<32>::allocate_common(pSVar7,&local_20->super_Output_data,(Value_type)lVar14);\n        }\n        ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                  _M_impl._M_finish;\n      }\nLAB_00208270:\n      ppSVar9 = ppSVar11;\n    } while ((ppSVar6 != ppSVar11) &&\n            (pSVar5 = *ppSVar11, ppSVar9 = ppSVar6, pSVar5 != (Symbol *)0x0));\n  }" else (compound_statement "{\n    lVar14 = 0;\n    do {\n      value = (Value_type)lVar14;\n      ppSVar11 = ppSVar11 + 1;\n      if (((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) {\n        bVar4 = Symbol::is_common_shndx((pSVar5->u2_).shndx);\n        if (bVar4) {\n          pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);\n          }\n          uVar10 = pSVar7->value_;\n          if (local_28 != (Output_section_data *)0x0) {\n            if (uVar10 != 0) {\n              lVar14 = lVar14 + -1 + (ulonglong)uVar10;\n              value = (uint)lVar14 & -uVar10;\n              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);\n            }\n            Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value);\n            lVar14 = lVar14 + (ulonglong)pSVar7->symsize_;\n            ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish;\n            goto LAB_00208270;\n          }\n          lVar14 = Output_section::allocate(local_20,(ulonglong)pSVar7->symsize_,(ulonglong)uVar10);\n          if (lVar14 == -1) {\n            pcVar13 = local_20->name_;\n            format = (char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(format,pcVar13);\n          }\n          Sized_symbol<32>::allocate_common(pSVar7,&local_20->super_Output_data,(Value_type)lVar14);\n        }\n        ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                  _M_impl._M_finish;\n      }\nLAB_00208270:\n      ppSVar9 = ppSVar11;\n    } while ((ppSVar6 != ppSVar11) &&\n            (pSVar5 = *ppSVar11, ppSVar9 = ppSVar6, pSVar5 != (Symbol *)0x0));\n  }" { (expression_statement "lVar14 = 0;" (assignment_expression "lVar14 = 0" identifier = number_literal) ;) (do_statement "do {\n      value = (Value_type)lVar14;\n      ppSVar11 = ppSVar11 + 1;\n      if (((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) {\n        bVar4 = Symbol::is_common_shndx((pSVar5->u2_).shndx);\n        if (bVar4) {\n          pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);\n          }\n          uVar10 = pSVar7->value_;\n          if (local_28 != (Output_section_data *)0x0) {\n            if (uVar10 != 0) {\n              lVar14 = lVar14 + -1 + (ulonglong)uVar10;\n              value = (uint)lVar14 & -uVar10;\n              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);\n            }\n            Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value);\n            lVar14 = lVar14 + (ulonglong)pSVar7->symsize_;\n            ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish;\n            goto LAB_00208270;\n          }\n          lVar14 = Output_section::allocate(local_20,(ulonglong)pSVar7->symsize_,(ulonglong)uVar10);\n          if (lVar14 == -1) {\n            pcVar13 = local_20->name_;\n            format = (char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(format,pcVar13);\n          }\n          Sized_symbol<32>::allocate_common(pSVar7,&local_20->super_Output_data,(Value_type)lVar14);\n        }\n        ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                  _M_impl._M_finish;\n      }\nLAB_00208270:\n      ppSVar9 = ppSVar11;\n    } while ((ppSVar6 != ppSVar11) &&\n            (pSVar5 = *ppSVar11, ppSVar9 = ppSVar6, pSVar5 != (Symbol *)0x0));" do (compound_statement "{\n      value = (Value_type)lVar14;\n      ppSVar11 = ppSVar11 + 1;\n      if (((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) {\n        bVar4 = Symbol::is_common_shndx((pSVar5->u2_).shndx);\n        if (bVar4) {\n          pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);\n          }\n          uVar10 = pSVar7->value_;\n          if (local_28 != (Output_section_data *)0x0) {\n            if (uVar10 != 0) {\n              lVar14 = lVar14 + -1 + (ulonglong)uVar10;\n              value = (uint)lVar14 & -uVar10;\n              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);\n            }\n            Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value);\n            lVar14 = lVar14 + (ulonglong)pSVar7->symsize_;\n            ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish;\n            goto LAB_00208270;\n          }\n          lVar14 = Output_section::allocate(local_20,(ulonglong)pSVar7->symsize_,(ulonglong)uVar10);\n          if (lVar14 == -1) {\n            pcVar13 = local_20->name_;\n            format = (char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(format,pcVar13);\n          }\n          Sized_symbol<32>::allocate_common(pSVar7,&local_20->super_Output_data,(Value_type)lVar14);\n        }\n        ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                  _M_impl._M_finish;\n      }\nLAB_00208270:\n      ppSVar9 = ppSVar11;\n    }" { (expression_statement "value = (Value_type)lVar14;" (assignment_expression "value = (Value_type)lVar14" identifier = (cast_expression "(Value_type)lVar14" ( (type_descriptor "Value_type" type_identifier) ) identifier)) ;) (expression_statement "ppSVar11 = ppSVar11 + 1;" (assignment_expression "ppSVar11 = ppSVar11 + 1" identifier = (binary_expression "ppSVar11 + 1" identifier + number_literal)) ;) (if_statement "if (((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)) {\n        bVar4 = Symbol::is_common_shndx((pSVar5->u2_).shndx);\n        if (bVar4) {\n          pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);\n          }\n          uVar10 = pSVar7->value_;\n          if (local_28 != (Output_section_data *)0x0) {\n            if (uVar10 != 0) {\n              lVar14 = lVar14 + -1 + (ulonglong)uVar10;\n              value = (uint)lVar14 & -uVar10;\n              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);\n            }\n            Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value);\n            lVar14 = lVar14 + (ulonglong)pSVar7->symsize_;\n            ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish;\n            goto LAB_00208270;\n          }\n          lVar14 = Output_section::allocate(local_20,(ulonglong)pSVar7->symsize_,(ulonglong)uVar10);\n          if (lVar14 == -1) {\n            pcVar13 = local_20->name_;\n            format = (char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(format,pcVar13);\n          }\n          Sized_symbol<32>::allocate_common(pSVar7,&local_20->super_Output_data,(Value_type)lVar14);\n        }\n        ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                  _M_impl._M_finish;\n      }" if (parenthesized_expression "(((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0))" ( (binary_expression "((pSVar5->field_0x2a & 7) == 0) && ((pSVar5->field_0x2b & 0x20) == 0)" (parenthesized_expression "((pSVar5->field_0x2a & 7) == 0)" ( (binary_expression "(pSVar5->field_0x2a & 7) == 0" (parenthesized_expression "(pSVar5->field_0x2a & 7)" ( (binary_expression "pSVar5->field_0x2a & 7" (field_expression "pSVar5->field_0x2a" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "((pSVar5->field_0x2b & 0x20) == 0)" ( (binary_expression "(pSVar5->field_0x2b & 0x20) == 0" (parenthesized_expression "(pSVar5->field_0x2b & 0x20)" ( (binary_expression "pSVar5->field_0x2b & 0x20" (field_expression "pSVar5->field_0x2b" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        bVar4 = Symbol::is_common_shndx((pSVar5->u2_).shndx);\n        if (bVar4) {\n          pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);\n          }\n          uVar10 = pSVar7->value_;\n          if (local_28 != (Output_section_data *)0x0) {\n            if (uVar10 != 0) {\n              lVar14 = lVar14 + -1 + (ulonglong)uVar10;\n              value = (uint)lVar14 & -uVar10;\n              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);\n            }\n            Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value);\n            lVar14 = lVar14 + (ulonglong)pSVar7->symsize_;\n            ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish;\n            goto LAB_00208270;\n          }\n          lVar14 = Output_section::allocate(local_20,(ulonglong)pSVar7->symsize_,(ulonglong)uVar10);\n          if (lVar14 == -1) {\n            pcVar13 = local_20->name_;\n            format = (char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(format,pcVar13);\n          }\n          Sized_symbol<32>::allocate_common(pSVar7,&local_20->super_Output_data,(Value_type)lVar14);\n        }\n        ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                  _M_impl._M_finish;\n      }" { (ERROR "bVar4 = Symbol::" (assignment_expression "bVar4 = Symbol" identifier = identifier) : :) (expression_statement "is_common_shndx((pSVar5->u2_).shndx);" (call_expression "is_common_shndx((pSVar5->u2_).shndx)" identifier (argument_list "((pSVar5->u2_).shndx)" ( (field_expression "(pSVar5->u2_).shndx" (parenthesized_expression "(pSVar5->u2_)" ( (field_expression "pSVar5->u2_" identifier -> field_identifier) )) . field_identifier) ))) ;) (if_statement "if (bVar4) {\n          pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);\n          }\n          uVar10 = pSVar7->value_;\n          if (local_28 != (Output_section_data *)0x0) {\n            if (uVar10 != 0) {\n              lVar14 = lVar14 + -1 + (ulonglong)uVar10;\n              value = (uint)lVar14 & -uVar10;\n              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);\n            }\n            Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value);\n            lVar14 = lVar14 + (ulonglong)pSVar7->symsize_;\n            ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish;\n            goto LAB_00208270;\n          }\n          lVar14 = Output_section::allocate(local_20,(ulonglong)pSVar7->symsize_,(ulonglong)uVar10);\n          if (lVar14 == -1) {\n            pcVar13 = local_20->name_;\n            format = (char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(format,pcVar13);\n          }\n          Sized_symbol<32>::allocate_common(pSVar7,&local_20->super_Output_data,(Value_type)lVar14);\n        }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n          pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);\n          if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);\n          }\n          uVar10 = pSVar7->value_;\n          if (local_28 != (Output_section_data *)0x0) {\n            if (uVar10 != 0) {\n              lVar14 = lVar14 + -1 + (ulonglong)uVar10;\n              value = (uint)lVar14 & -uVar10;\n              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);\n            }\n            Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value);\n            lVar14 = lVar14 + (ulonglong)pSVar7->symsize_;\n            ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish;\n            goto LAB_00208270;\n          }\n          lVar14 = Output_section::allocate(local_20,(ulonglong)pSVar7->symsize_,(ulonglong)uVar10);\n          if (lVar14 == -1) {\n            pcVar13 = local_20->name_;\n            format = (char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(format,pcVar13);\n          }\n          Sized_symbol<32>::allocate_common(pSVar7,&local_20->super_Output_data,(Value_type)lVar14);\n        }" { (expression_statement "pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8);" (assignment_expression "pSVar7 = get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8)" identifier = (binary_expression "get_sized_symbol<32>(in_stack_ffffffc4,in_stack_ffffffc8)" (binary_expression "get_sized_symbol<32" identifier < number_literal) > (parenthesized_expression "(in_stack_ffffffc4,in_stack_ffffffc8)" ( (comma_expression "in_stack_ffffffc4,in_stack_ffffffc8" identifier , identifier) )))) ;) (if_statement "if (mapfile != (Mapfile *)0x0) {\n            Mapfile::report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);\n          }" if (parenthesized_expression "(mapfile != (Mapfile *)0x0)" ( (binary_expression "mapfile != (Mapfile *)0x0" identifier != (cast_expression "(Mapfile *)0x0" ( (type_descriptor "Mapfile *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            Mapfile::report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);\n          }" { (labeled_statement "Mapfile::report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);" statement_identifier : (ERROR ":" :) (expression_statement "report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_);" (call_expression "report_allocate_common(mapfile,pSVar5,(ulonglong)pSVar7->symsize_)" identifier (argument_list "(mapfile,pSVar5,(ulonglong)pSVar7->symsize_)" ( identifier , identifier , (cast_expression "(ulonglong)pSVar7->symsize_" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pSVar7->symsize_" identifier -> field_identifier)) ))) ;)) })) (expression_statement "uVar10 = pSVar7->value_;" (assignment_expression "uVar10 = pSVar7->value_" identifier = (field_expression "pSVar7->value_" identifier -> field_identifier)) ;) (if_statement "if (local_28 != (Output_section_data *)0x0) {\n            if (uVar10 != 0) {\n              lVar14 = lVar14 + -1 + (ulonglong)uVar10;\n              value = (uint)lVar14 & -uVar10;\n              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);\n            }\n            Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value);\n            lVar14 = lVar14 + (ulonglong)pSVar7->symsize_;\n            ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish;\n            goto LAB_00208270;\n          }" if (parenthesized_expression "(local_28 != (Output_section_data *)0x0)" ( (binary_expression "local_28 != (Output_section_data *)0x0" identifier != (cast_expression "(Output_section_data *)0x0" ( (type_descriptor "Output_section_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (uVar10 != 0) {\n              lVar14 = lVar14 + -1 + (ulonglong)uVar10;\n              value = (uint)lVar14 & -uVar10;\n              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);\n            }\n            Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value);\n            lVar14 = lVar14 + (ulonglong)pSVar7->symsize_;\n            ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish;\n            goto LAB_00208270;\n          }" { (if_statement "if (uVar10 != 0) {\n              lVar14 = lVar14 + -1 + (ulonglong)uVar10;\n              value = (uint)lVar14 & -uVar10;\n              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);\n            }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n              lVar14 = lVar14 + -1 + (ulonglong)uVar10;\n              value = (uint)lVar14 & -uVar10;\n              lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);\n            }" { (expression_statement "lVar14 = lVar14 + -1 + (ulonglong)uVar10;" (assignment_expression "lVar14 = lVar14 + -1 + (ulonglong)uVar10" identifier = (binary_expression "lVar14 + -1 + (ulonglong)uVar10" (binary_expression "lVar14 + -1" identifier + number_literal) + (cast_expression "(ulonglong)uVar10" ( (type_descriptor "ulonglong" type_identifier) ) identifier))) ;) (expression_statement "value = (uint)lVar14 & -uVar10;" (assignment_expression "value = (uint)lVar14 & -uVar10" identifier = (binary_expression "(uint)lVar14 & -uVar10" (cast_expression "(uint)lVar14" ( (type_descriptor "uint" type_identifier) ) identifier) & (unary_expression "-uVar10" - identifier))) ;) (expression_statement "lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value);" (assignment_expression "lVar14 = CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value)" identifier = (call_expression "CONCAT44((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value)" identifier (argument_list "((uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0),value)" ( (binary_expression "(uint)((ulonglong)lVar14 >> 0x20) & -(uint)(uVar10 != 0)" (call_expression "(uint)((ulonglong)lVar14 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar14 >> 0x20)" ( (binary_expression "(ulonglong)lVar14 >> 0x20" (cast_expression "(ulonglong)lVar14" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) & (unary_expression "-(uint)(uVar10 != 0)" - (call_expression "(uint)(uVar10 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) ))))) , identifier )))) ;) })) (expression_statement "Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value);" (binary_expression "Sized_symbol<32>::allocate_common(pSVar7,&local_28->super_Output_data,value)" (binary_expression "Sized_symbol<32" identifier < number_literal) > (ERROR "::" : :) (call_expression "allocate_common(pSVar7,&local_28->super_Output_data,value)" identifier (argument_list "(pSVar7,&local_28->super_Output_data,value)" ( identifier , (pointer_expression "&local_28->super_Output_data" & (field_expression "local_28->super_Output_data" identifier -> field_identifier)) , identifier )))) ;) (expression_statement "lVar14 = lVar14 + (ulonglong)pSVar7->symsize_;" (assignment_expression "lVar14 = lVar14 + (ulonglong)pSVar7->symsize_" identifier = (binary_expression "lVar14 + (ulonglong)pSVar7->symsize_" identifier + (cast_expression "(ulonglong)pSVar7->symsize_" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pSVar7->symsize_" identifier -> field_identifier)))) ;) (expression_statement "ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish;" (assignment_expression "ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish" identifier = (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl._M_finish" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                      _M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (ERROR "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold::Symbol*" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_>" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (goto_statement "goto LAB_00208270;" goto statement_identifier ;) })) (ERROR "lVar14 = Output_section::" (assignment_expression "lVar14 = Output_section" identifier = identifier) : :) (expression_statement "allocate(local_20,(ulonglong)pSVar7->symsize_,(ulonglong)uVar10);" (call_expression "allocate(local_20,(ulonglong)pSVar7->symsize_,(ulonglong)uVar10)" identifier (argument_list "(local_20,(ulonglong)pSVar7->symsize_,(ulonglong)uVar10)" ( identifier , (cast_expression "(ulonglong)pSVar7->symsize_" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pSVar7->symsize_" identifier -> field_identifier)) , (cast_expression "(ulonglong)uVar10" ( (type_descriptor "ulonglong" type_identifier) ) identifier) ))) ;) (if_statement "if (lVar14 == -1) {\n            pcVar13 = local_20->name_;\n            format = (char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(format,pcVar13);\n          }" if (parenthesized_expression "(lVar14 == -1)" ( (binary_expression "lVar14 == -1" identifier == number_literal) )) (compound_statement "{\n            pcVar13 = local_20->name_;\n            format = (char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    );\n                    /* WARNING: Subroutine does not return */\n            gold_fallback(format,pcVar13);\n          }" { (expression_statement "pcVar13 = local_20->name_;" (assignment_expression "pcVar13 = local_20->name_" identifier = (field_expression "local_20->name_" identifier -> field_identifier)) ;) (expression_statement "format = (char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    );" (assignment_expression "format = (char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    )" identifier = (cast_expression "(char *)gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    )" identifier (argument_list "(\n                                    "out of patch space in section %s; relink with --incremental-full"\n                                    )" ( (string_literal ""out of patch space in section %s; relink with --incremental-full"" " string_content ") ))))) ;) comment (expression_statement "gold_fallback(format,pcVar13);" (call_expression "gold_fallback(format,pcVar13)" identifier (argument_list "(format,pcVar13)" ( identifier , identifier ))) ;) })) (expression_statement "Sized_symbol<32>::allocate_common(pSVar7,&local_20->super_Output_data,(Value_type)lVar14);" (binary_expression "Sized_symbol<32>::allocate_common(pSVar7,&local_20->super_Output_data,(Value_type)lVar14)" (binary_expression "Sized_symbol<32" identifier < number_literal) > (ERROR "::" : :) (call_expression "allocate_common(pSVar7,&local_20->super_Output_data,(Value_type)lVar14)" identifier (argument_list "(pSVar7,&local_20->super_Output_data,(Value_type)lVar14)" ( identifier , (pointer_expression "&local_20->super_Output_data" & (field_expression "local_20->super_Output_data" identifier -> field_identifier)) , (cast_expression "(Value_type)lVar14" ( (type_descriptor "Value_type" type_identifier) ) identifier) )))) ;) })) (expression_statement "ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                  _M_impl._M_finish;" (assignment_expression "ppSVar6 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                  _M_impl._M_finish" identifier = (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                  _M_impl._M_finish" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                  _M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (ERROR "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold::Symbol*" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_>" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) })) (labeled_statement "LAB_00208270:\n      ppSVar9 = ppSVar11;" statement_identifier : (expression_statement "ppSVar9 = ppSVar11;" (assignment_expression "ppSVar9 = ppSVar11" identifier = identifier) ;)) }) while (parenthesized_expression "((ppSVar6 != ppSVar11) &&\n            (pSVar5 = *ppSVar11, ppSVar9 = ppSVar6, pSVar5 != (Symbol *)0x0))" ( (binary_expression "(ppSVar6 != ppSVar11) &&\n            (pSVar5 = *ppSVar11, ppSVar9 = ppSVar6, pSVar5 != (Symbol *)0x0)" (parenthesized_expression "(ppSVar6 != ppSVar11)" ( (binary_expression "ppSVar6 != ppSVar11" identifier != identifier) )) && (parenthesized_expression "(pSVar5 = *ppSVar11, ppSVar9 = ppSVar6, pSVar5 != (Symbol *)0x0)" ( (comma_expression "pSVar5 = *ppSVar11, ppSVar9 = ppSVar6, pSVar5 != (Symbol *)0x0" (assignment_expression "pSVar5 = *ppSVar11" identifier = (pointer_expression "*ppSVar11" * identifier)) , (comma_expression "ppSVar9 = ppSVar6, pSVar5 != (Symbol *)0x0" (assignment_expression "ppSVar9 = ppSVar6" identifier = identifier) , (binary_expression "pSVar5 != (Symbol *)0x0" identifier != (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) ;) }))) (if_statement "if (local_28 != (Output_section_data *)0x0) {\n    if (((local_28->super_Output_data).field_0x1c & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    (local_28->super_Output_data).data_size_ = lVar14;\n  }" if (parenthesized_expression "(local_28 != (Output_section_data *)0x0)" ( (binary_expression "local_28 != (Output_section_data *)0x0" identifier != (cast_expression "(Output_section_data *)0x0" ( (type_descriptor "Output_section_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (((local_28->super_Output_data).field_0x1c & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    (local_28->super_Output_data).data_size_ = lVar14;\n  }" { (if_statement "if (((local_28->super_Output_data).field_0x1c & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" if (parenthesized_expression "(((local_28->super_Output_data).field_0x1c & 2) != 0)" ( (binary_expression "((local_28->super_Output_data).field_0x1c & 2) != 0" (parenthesized_expression "((local_28->super_Output_data).field_0x1c & 2)" ( (binary_expression "(local_28->super_Output_data).field_0x1c & 2" (field_expression "(local_28->super_Output_data).field_0x1c" (parenthesized_expression "(local_28->super_Output_data)" ( (field_expression "local_28->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child")" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") ))) ;) })) (expression_statement "(local_28->super_Output_data).data_size_ = lVar14;" (assignment_expression "(local_28->super_Output_data).data_size_ = lVar14" (field_expression "(local_28->super_Output_data).data_size_" (parenthesized_expression "(local_28->super_Output_data)" ( (field_expression "local_28->super_Output_data" identifier -> field_identifier) )) . field_identifier) = identifier) ;) })) (expression_statement "ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start;" (assignment_expression "ppSVar11 = (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start" identifier = (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n             _M_start" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (ERROR "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold::Symbol*" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_>" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (ppSVar11 != ppSVar9) {\n    (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish =\n         ppSVar11;\n  }" if (parenthesized_expression "(ppSVar11 != ppSVar9)" ( (binary_expression "ppSVar11 != ppSVar9" identifier != identifier) )) (compound_statement "{\n    (commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish =\n         ppSVar11;\n  }" { (expression_statement "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish =\n         ppSVar11;" (assignment_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish =\n         ppSVar11" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl._M_finish" (field_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "commons->super__Vector_base<gold::Symbol*,_std" (binary_expression "commons->super__Vector_base<gold" (field_expression "commons->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) = identifier) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00207f20(undefined **param_1,undefined **param_2,int param_3,undefined **param_4,\n                 undefined **param_5,undefined **param_6)\n\n{\n  undefined **ppuVar1;\n  undefined *puVar2;\n  bool bVar3;\n  undefined **ppuVar4;\n  undefined **ppuVar5;\n  undefined **ppuVar6;\n  char cVar7;\n  undefined **ppuVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  undefined4 *puVar11;\n  uint uVar12;\n  undefined ***pppuVar13;\n  undefined4 *puVar14;\n  undefined **ppuVar15;\n  longlong lVar16;\n  undefined **ppuStack_4c;\n  undefined **ppuStack_48;\n  undefined **ppuStack_44;\n  undefined **ppuStack_40;\n  undefined1 auStack_3c [12];\n  undefined **local_30;\n  undefined **local_2c;\n  undefined **local_28;\n  undefined **local_24;\n  undefined **local_20;\n  \n  pppuVar13 = (undefined ***)auStack_3c;\n  local_30 = &__DT_PLTGOT;\n  local_2c = (undefined **)0x0;\n  local_24 = (undefined **)0x0;\n  if (*param_4 == param_4[1]) {\n    return;\n  }\n  ppuVar15 = (undefined **)0x0;\n  puVar14 = (undefined4 *)*param_4;\n  do {\n    while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }\n    ppuStack_4c = (undefined **)ppuVar8[3];\n    local_20 = ppuVar8;\n    cVar7 = FUN_001e6ac0();\n    local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);\n    if (cVar7 == '\0') goto LAB_00207f6c;\n    ppuStack_40 = (undefined **)0x207fc9;\n    iVar9 = FUN_00207550();\n    bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;\n    ppuVar8 = *(undefined ***)(iVar9 + 0x30);\n    if (bVar3) {\n      ppuVar8 = local_2c;\n    }\n    ppuVar15 = (undefined **)((uint)local_28 & 0xff);\n    local_2c = ppuVar8;\n    ppuVar8 = (undefined **)0x0;\n    if (bVar3) {\n      ppuVar8 = local_24;\n    }\n    local_24 = ppuVar8;\n    puVar14 = puVar10 + 1;\n  } while ((undefined4 *)param_4[1] != puVar10 + 1);\nLAB_00208000:\n  ppuVar8 = (undefined **)(puVar10 + 1);\n  if ((char)ppuVar15 == '\0') {\n    return;\n  }\n  ppuVar1 = (undefined **)*param_4;\n  ppuVar4 = param_4;\n  ppuVar6 = ppuStack_4c;\n  ppuVar5 = ppuStack_40;\n  if (ppuVar8 != ppuVar1) {\n    ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);\n    ppuStack_4c = param_6;\n    uVar12 = 0x1f;\n    if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }\n    FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);\n    ppuStack_4c = ppuVar1;\n    if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }\n  }\n  ppuStack_40 = ppuVar1;\n  if (param_3 == 1) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = local_30 + -0x40c92;\n    ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);\n    uVar12 = 0x403;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }\n  ppuStack_40 = ppuVar5;\n  cVar7 = FUN_001a5190();\n  if (cVar7 == '\0') {\n    ppuStack_4c = (undefined **)0x30;\n    ppuStack_48 = (undefined **)FUN_00246670();\n    ppuStack_48[1] = (undefined *)0x0;\n    ppuStack_48[2] = (undefined *)0x0;\n    ppuStack_48[3] = (undefined *)0x0;\n    ppuStack_48[4] = (undefined *)0x0;\n    ppuStack_48[5] = (undefined *)0xffffffff;\n    ppuStack_48[6] = (undefined *)0xffffffff;\n    *(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;\n    ppuStack_48[8] = (undefined *)0x0;\n    ppuStack_48[9] = (undefined *)local_2c;\n    ppuStack_48[10] = (undefined *)local_24;\n    *ppuStack_48 = (undefined *)(local_30 + -0x18f5);\n    ppuStack_48[0xb] = (undefined *)local_20;\n    ppuStack_40 = (undefined **)0x0;\n    ppuStack_44 = (undefined **)0x0;\n    ppuStack_4c = ppuVar8;\n    local_28 = ppuStack_48;\n    local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);\n  }\n  else {\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }\n  if (local_20 != (undefined **)0x0) {\n    if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }\n  }\n  puVar14 = (undefined4 *)*param_4;\n  puVar10 = (undefined4 *)param_4[1];\n  if ((puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)) {\n    lVar16 = 0;\n    puVar11 = puVar10;\n  }\n  else {\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }\n  if (local_28 != (undefined **)0x0) {\n    if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    \n      FUN_000da200();\n    }\n    *(longlong *)(local_28 + 3) = lVar16;\n  }\n  if ((undefined4 *)*param_4 != puVar11) {\n    param_4[1] = *param_4;\n  }\n  return;\n}\n\n" (function_definition "void FUN_00207f20(undefined **param_1,undefined **param_2,int param_3,undefined **param_4,\n                 undefined **param_5,undefined **param_6)\n\n{\n  undefined **ppuVar1;\n  undefined *puVar2;\n  bool bVar3;\n  undefined **ppuVar4;\n  undefined **ppuVar5;\n  undefined **ppuVar6;\n  char cVar7;\n  undefined **ppuVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  undefined4 *puVar11;\n  uint uVar12;\n  undefined ***pppuVar13;\n  undefined4 *puVar14;\n  undefined **ppuVar15;\n  longlong lVar16;\n  undefined **ppuStack_4c;\n  undefined **ppuStack_48;\n  undefined **ppuStack_44;\n  undefined **ppuStack_40;\n  undefined1 auStack_3c [12];\n  undefined **local_30;\n  undefined **local_2c;\n  undefined **local_28;\n  undefined **local_24;\n  undefined **local_20;\n  \n  pppuVar13 = (undefined ***)auStack_3c;\n  local_30 = &__DT_PLTGOT;\n  local_2c = (undefined **)0x0;\n  local_24 = (undefined **)0x0;\n  if (*param_4 == param_4[1]) {\n    return;\n  }\n  ppuVar15 = (undefined **)0x0;\n  puVar14 = (undefined4 *)*param_4;\n  do {\n    while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }\n    ppuStack_4c = (undefined **)ppuVar8[3];\n    local_20 = ppuVar8;\n    cVar7 = FUN_001e6ac0();\n    local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);\n    if (cVar7 == '\0') goto LAB_00207f6c;\n    ppuStack_40 = (undefined **)0x207fc9;\n    iVar9 = FUN_00207550();\n    bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;\n    ppuVar8 = *(undefined ***)(iVar9 + 0x30);\n    if (bVar3) {\n      ppuVar8 = local_2c;\n    }\n    ppuVar15 = (undefined **)((uint)local_28 & 0xff);\n    local_2c = ppuVar8;\n    ppuVar8 = (undefined **)0x0;\n    if (bVar3) {\n      ppuVar8 = local_24;\n    }\n    local_24 = ppuVar8;\n    puVar14 = puVar10 + 1;\n  } while ((undefined4 *)param_4[1] != puVar10 + 1);\nLAB_00208000:\n  ppuVar8 = (undefined **)(puVar10 + 1);\n  if ((char)ppuVar15 == '\0') {\n    return;\n  }\n  ppuVar1 = (undefined **)*param_4;\n  ppuVar4 = param_4;\n  ppuVar6 = ppuStack_4c;\n  ppuVar5 = ppuStack_40;\n  if (ppuVar8 != ppuVar1) {\n    ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);\n    ppuStack_4c = param_6;\n    uVar12 = 0x1f;\n    if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }\n    FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);\n    ppuStack_4c = ppuVar1;\n    if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }\n  }\n  ppuStack_40 = ppuVar1;\n  if (param_3 == 1) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = local_30 + -0x40c92;\n    ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);\n    uVar12 = 0x403;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }\n  ppuStack_40 = ppuVar5;\n  cVar7 = FUN_001a5190();\n  if (cVar7 == '\0') {\n    ppuStack_4c = (undefined **)0x30;\n    ppuStack_48 = (undefined **)FUN_00246670();\n    ppuStack_48[1] = (undefined *)0x0;\n    ppuStack_48[2] = (undefined *)0x0;\n    ppuStack_48[3] = (undefined *)0x0;\n    ppuStack_48[4] = (undefined *)0x0;\n    ppuStack_48[5] = (undefined *)0xffffffff;\n    ppuStack_48[6] = (undefined *)0xffffffff;\n    *(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;\n    ppuStack_48[8] = (undefined *)0x0;\n    ppuStack_48[9] = (undefined *)local_2c;\n    ppuStack_48[10] = (undefined *)local_24;\n    *ppuStack_48 = (undefined *)(local_30 + -0x18f5);\n    ppuStack_48[0xb] = (undefined *)local_20;\n    ppuStack_40 = (undefined **)0x0;\n    ppuStack_44 = (undefined **)0x0;\n    ppuStack_4c = ppuVar8;\n    local_28 = ppuStack_48;\n    local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);\n  }\n  else {\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }\n  if (local_20 != (undefined **)0x0) {\n    if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }\n  }\n  puVar14 = (undefined4 *)*param_4;\n  puVar10 = (undefined4 *)param_4[1];\n  if ((puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)) {\n    lVar16 = 0;\n    puVar11 = puVar10;\n  }\n  else {\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }\n  if (local_28 != (undefined **)0x0) {\n    if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    \n      FUN_000da200();\n    }\n    *(longlong *)(local_28 + 3) = lVar16;\n  }\n  if ((undefined4 *)*param_4 != puVar11) {\n    param_4[1] = *param_4;\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00207f20(undefined **param_1,undefined **param_2,int param_3,undefined **param_4,\n                 undefined **param_5,undefined **param_6)" identifier (parameter_list "(undefined **param_1,undefined **param_2,int param_3,undefined **param_4,\n                 undefined **param_5,undefined **param_6)" ( (parameter_declaration "undefined **param_1" type_identifier (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier))) , (parameter_declaration "undefined **param_2" type_identifier (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier))) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined **param_4" type_identifier (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier))) , (parameter_declaration "undefined **param_5" type_identifier (pointer_declarator "**param_5" * (pointer_declarator "*param_5" * identifier))) , (parameter_declaration "undefined **param_6" type_identifier (pointer_declarator "**param_6" * (pointer_declarator "*param_6" * identifier))) ))) (compound_statement "{\n  undefined **ppuVar1;\n  undefined *puVar2;\n  bool bVar3;\n  undefined **ppuVar4;\n  undefined **ppuVar5;\n  undefined **ppuVar6;\n  char cVar7;\n  undefined **ppuVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  undefined4 *puVar11;\n  uint uVar12;\n  undefined ***pppuVar13;\n  undefined4 *puVar14;\n  undefined **ppuVar15;\n  longlong lVar16;\n  undefined **ppuStack_4c;\n  undefined **ppuStack_48;\n  undefined **ppuStack_44;\n  undefined **ppuStack_40;\n  undefined1 auStack_3c [12];\n  undefined **local_30;\n  undefined **local_2c;\n  undefined **local_28;\n  undefined **local_24;\n  undefined **local_20;\n  \n  pppuVar13 = (undefined ***)auStack_3c;\n  local_30 = &__DT_PLTGOT;\n  local_2c = (undefined **)0x0;\n  local_24 = (undefined **)0x0;\n  if (*param_4 == param_4[1]) {\n    return;\n  }\n  ppuVar15 = (undefined **)0x0;\n  puVar14 = (undefined4 *)*param_4;\n  do {\n    while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }\n    ppuStack_4c = (undefined **)ppuVar8[3];\n    local_20 = ppuVar8;\n    cVar7 = FUN_001e6ac0();\n    local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);\n    if (cVar7 == '\0') goto LAB_00207f6c;\n    ppuStack_40 = (undefined **)0x207fc9;\n    iVar9 = FUN_00207550();\n    bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;\n    ppuVar8 = *(undefined ***)(iVar9 + 0x30);\n    if (bVar3) {\n      ppuVar8 = local_2c;\n    }\n    ppuVar15 = (undefined **)((uint)local_28 & 0xff);\n    local_2c = ppuVar8;\n    ppuVar8 = (undefined **)0x0;\n    if (bVar3) {\n      ppuVar8 = local_24;\n    }\n    local_24 = ppuVar8;\n    puVar14 = puVar10 + 1;\n  } while ((undefined4 *)param_4[1] != puVar10 + 1);\nLAB_00208000:\n  ppuVar8 = (undefined **)(puVar10 + 1);\n  if ((char)ppuVar15 == '\0') {\n    return;\n  }\n  ppuVar1 = (undefined **)*param_4;\n  ppuVar4 = param_4;\n  ppuVar6 = ppuStack_4c;\n  ppuVar5 = ppuStack_40;\n  if (ppuVar8 != ppuVar1) {\n    ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);\n    ppuStack_4c = param_6;\n    uVar12 = 0x1f;\n    if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }\n    FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);\n    ppuStack_4c = ppuVar1;\n    if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }\n  }\n  ppuStack_40 = ppuVar1;\n  if (param_3 == 1) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = local_30 + -0x40c92;\n    ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);\n    uVar12 = 0x403;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }\n  ppuStack_40 = ppuVar5;\n  cVar7 = FUN_001a5190();\n  if (cVar7 == '\0') {\n    ppuStack_4c = (undefined **)0x30;\n    ppuStack_48 = (undefined **)FUN_00246670();\n    ppuStack_48[1] = (undefined *)0x0;\n    ppuStack_48[2] = (undefined *)0x0;\n    ppuStack_48[3] = (undefined *)0x0;\n    ppuStack_48[4] = (undefined *)0x0;\n    ppuStack_48[5] = (undefined *)0xffffffff;\n    ppuStack_48[6] = (undefined *)0xffffffff;\n    *(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;\n    ppuStack_48[8] = (undefined *)0x0;\n    ppuStack_48[9] = (undefined *)local_2c;\n    ppuStack_48[10] = (undefined *)local_24;\n    *ppuStack_48 = (undefined *)(local_30 + -0x18f5);\n    ppuStack_48[0xb] = (undefined *)local_20;\n    ppuStack_40 = (undefined **)0x0;\n    ppuStack_44 = (undefined **)0x0;\n    ppuStack_4c = ppuVar8;\n    local_28 = ppuStack_48;\n    local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);\n  }\n  else {\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }\n  if (local_20 != (undefined **)0x0) {\n    if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }\n  }\n  puVar14 = (undefined4 *)*param_4;\n  puVar10 = (undefined4 *)param_4[1];\n  if ((puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)) {\n    lVar16 = 0;\n    puVar11 = puVar10;\n  }\n  else {\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }\n  if (local_28 != (undefined **)0x0) {\n    if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    \n      FUN_000da200();\n    }\n    *(longlong *)(local_28 + 3) = lVar16;\n  }\n  if ((undefined4 *)*param_4 != puVar11) {\n    param_4[1] = *param_4;\n  }\n  return;\n}" { (declaration "undefined **ppuVar1;" type_identifier (pointer_declarator "**ppuVar1" * (pointer_declarator "*ppuVar1" * identifier)) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "undefined **ppuVar4;" type_identifier (pointer_declarator "**ppuVar4" * (pointer_declarator "*ppuVar4" * identifier)) ;) (declaration "undefined **ppuVar5;" type_identifier (pointer_declarator "**ppuVar5" * (pointer_declarator "*ppuVar5" * identifier)) ;) (declaration "undefined **ppuVar6;" type_identifier (pointer_declarator "**ppuVar6" * (pointer_declarator "*ppuVar6" * identifier)) ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "undefined **ppuVar8;" type_identifier (pointer_declarator "**ppuVar8" * (pointer_declarator "*ppuVar8" * identifier)) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "undefined ***pppuVar13;" type_identifier (pointer_declarator "***pppuVar13" * (pointer_declarator "**pppuVar13" * (pointer_declarator "*pppuVar13" * identifier))) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined **ppuVar15;" type_identifier (pointer_declarator "**ppuVar15" * (pointer_declarator "*ppuVar15" * identifier)) ;) (declaration "longlong lVar16;" type_identifier identifier ;) (declaration "undefined **ppuStack_4c;" type_identifier (pointer_declarator "**ppuStack_4c" * (pointer_declarator "*ppuStack_4c" * identifier)) ;) (declaration "undefined **ppuStack_48;" type_identifier (pointer_declarator "**ppuStack_48" * (pointer_declarator "*ppuStack_48" * identifier)) ;) (declaration "undefined **ppuStack_44;" type_identifier (pointer_declarator "**ppuStack_44" * (pointer_declarator "*ppuStack_44" * identifier)) ;) (declaration "undefined **ppuStack_40;" type_identifier (pointer_declarator "**ppuStack_40" * (pointer_declarator "*ppuStack_40" * identifier)) ;) (declaration "undefined1 auStack_3c [12];" type_identifier (array_declarator "auStack_3c [12]" identifier [ number_literal ]) ;) (declaration "undefined **local_30;" type_identifier (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier)) ;) (declaration "undefined **local_2c;" type_identifier (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier)) ;) (declaration "undefined **local_28;" type_identifier (pointer_declarator "**local_28" * (pointer_declarator "*local_28" * identifier)) ;) (declaration "undefined **local_24;" type_identifier (pointer_declarator "**local_24" * (pointer_declarator "*local_24" * identifier)) ;) (declaration "undefined **local_20;" type_identifier (pointer_declarator "**local_20" * (pointer_declarator "*local_20" * identifier)) ;) (expression_statement "pppuVar13 = (undefined ***)auStack_3c;" (assignment_expression "pppuVar13 = (undefined ***)auStack_3c" identifier = (cast_expression "(undefined ***)auStack_3c" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) ;) (expression_statement "local_30 = &__DT_PLTGOT;" (assignment_expression "local_30 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_2c = (undefined **)0x0;" (assignment_expression "local_2c = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_24 = (undefined **)0x0;" (assignment_expression "local_24 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (*param_4 == param_4[1]) {\n    return;\n  }" if (parenthesized_expression "(*param_4 == param_4[1])" ( (binary_expression "*param_4 == param_4[1]" (pointer_expression "*param_4" * identifier) == (subscript_expression "param_4[1]" identifier [ number_literal ])) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "ppuVar15 = (undefined **)0x0;" (assignment_expression "ppuVar15 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "puVar14 = (undefined4 *)*param_4;" (assignment_expression "puVar14 = (undefined4 *)*param_4" identifier = (cast_expression "(undefined4 *)*param_4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier))) ;) (do_statement "do {\n    while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }\n    ppuStack_4c = (undefined **)ppuVar8[3];\n    local_20 = ppuVar8;\n    cVar7 = FUN_001e6ac0();\n    local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);\n    if (cVar7 == '\0') goto LAB_00207f6c;\n    ppuStack_40 = (undefined **)0x207fc9;\n    iVar9 = FUN_00207550();\n    bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;\n    ppuVar8 = *(undefined ***)(iVar9 + 0x30);\n    if (bVar3) {\n      ppuVar8 = local_2c;\n    }\n    ppuVar15 = (undefined **)((uint)local_28 & 0xff);\n    local_2c = ppuVar8;\n    ppuVar8 = (undefined **)0x0;\n    if (bVar3) {\n      ppuVar8 = local_24;\n    }\n    local_24 = ppuVar8;\n    puVar14 = puVar10 + 1;\n  } while ((undefined4 *)param_4[1] != puVar10 + 1);" do (compound_statement "{\n    while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }\n    ppuStack_4c = (undefined **)ppuVar8[3];\n    local_20 = ppuVar8;\n    cVar7 = FUN_001e6ac0();\n    local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);\n    if (cVar7 == '\0') goto LAB_00207f6c;\n    ppuStack_40 = (undefined **)0x207fc9;\n    iVar9 = FUN_00207550();\n    bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;\n    ppuVar8 = *(undefined ***)(iVar9 + 0x30);\n    if (bVar3) {\n      ppuVar8 = local_2c;\n    }\n    ppuVar15 = (undefined **)((uint)local_28 & 0xff);\n    local_2c = ppuVar8;\n    ppuVar8 = (undefined **)0x0;\n    if (bVar3) {\n      ppuVar8 = local_24;\n    }\n    local_24 = ppuVar8;\n    puVar14 = puVar10 + 1;\n  }" { (while_statement "while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }" { (expression_statement "puVar10 = puVar14;" (assignment_expression "puVar10 = puVar14" identifier = identifier) ;) (expression_statement "ppuVar8 = (undefined **)*puVar10;" (assignment_expression "ppuVar8 = (undefined **)*puVar10" identifier = (cast_expression "(undefined **)*puVar10" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar10" * identifier))) ;) (if_statement "if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }" if (parenthesized_expression "((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0)" ( (binary_expression "(*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)ppuVar8 + 0x2a) & 0x10)" ( (binary_expression "*(byte *)((int)ppuVar8 + 0x2a) & 0x10" (pointer_expression "*(byte *)((int)ppuVar8 + 0x2a)" * (cast_expression "(byte *)((int)ppuVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar8 + 0x2a)" ( (binary_expression "(int)ppuVar8 + 0x2a" (cast_expression "(int)ppuVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }" { (expression_statement "ppuStack_4c = param_1;" (assignment_expression "ppuStack_4c = param_1" identifier = identifier) ;) (expression_statement "ppuStack_48 = ppuVar8;" (assignment_expression "ppuStack_48 = ppuVar8" identifier = identifier) ;) (expression_statement "ppuVar8 = (undefined **)FUN_001e6f30();" (assignment_expression "ppuVar8 = (undefined **)FUN_001e6f30()" identifier = (cast_expression "(undefined **)FUN_001e6f30()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_001e6f30()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*puVar10 = ppuVar8;" (assignment_expression "*puVar10 = ppuVar8" (pointer_expression "*puVar10" * identifier) = identifier) ;) })) (if_statement "if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;" if (parenthesized_expression "(((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0))" ( (binary_expression "((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)" (parenthesized_expression "((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)ppuVar8 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)ppuVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)ppuVar8 + 0x2a)" * (cast_expression "(byte *)((int)ppuVar8 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar8 + 0x2a)" ( (binary_expression "(int)ppuVar8 + 0x2a" (cast_expression "(int)ppuVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)ppuVar8 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)ppuVar8 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)ppuVar8 + 0x2b)" * (cast_expression "(byte *)((int)ppuVar8 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar8 + 0x2b)" ( (binary_expression "(int)ppuVar8 + 0x2b" (cast_expression "(int)ppuVar8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00207f6c:\n      *puVar10 = 0;" statement_identifier : (expression_statement "*puVar10 = 0;" (assignment_expression "*puVar10 = 0" (pointer_expression "*puVar10" * identifier) = number_literal) ;)) (expression_statement "puVar14 = puVar10 + 1;" (assignment_expression "puVar14 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) (if_statement "if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;" if (parenthesized_expression "((undefined4 *)param_4[1] == puVar10 + 1)" ( (binary_expression "(undefined4 *)param_4[1] == puVar10 + 1" (cast_expression "(undefined4 *)param_4[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ])) == (binary_expression "puVar10 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_00208000;" goto statement_identifier ;)) })) (expression_statement "ppuStack_4c = (undefined **)ppuVar8[3];" (assignment_expression "ppuStack_4c = (undefined **)ppuVar8[3]" identifier = (cast_expression "(undefined **)ppuVar8[3]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppuVar8[3]" identifier [ number_literal ]))) ;) (expression_statement "local_20 = ppuVar8;" (assignment_expression "local_20 = ppuVar8" identifier = identifier) ;) (expression_statement "cVar7 = FUN_001e6ac0();" (assignment_expression "cVar7 = FUN_001e6ac0()" identifier = (call_expression "FUN_001e6ac0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);" (assignment_expression "local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7)" identifier = (cast_expression "(undefined **)CONCAT31(local_28._1_3_,cVar7)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT31(local_28._1_3_,cVar7)" identifier (argument_list "(local_28._1_3_,cVar7)" ( (field_expression "local_28._1_3_" identifier . field_identifier) , identifier ))))) ;) (if_statement "if (cVar7 == '\0') goto LAB_00207f6c;" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00207f6c;" goto statement_identifier ;)) (expression_statement "ppuStack_40 = (undefined **)0x207fc9;" (assignment_expression "ppuStack_40 = (undefined **)0x207fc9" identifier = (cast_expression "(undefined **)0x207fc9" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "iVar9 = FUN_00207550();" (assignment_expression "iVar9 = FUN_00207550()" identifier = (call_expression "FUN_00207550()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;" (assignment_expression "bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24" identifier = (binary_expression "(undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24" (cast_expression "(undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30))" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(uint)(local_2c < *(undefined ***)(iVar9 + 0x30))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_2c < *(undefined ***)(iVar9 + 0x30))" ( (binary_expression "local_2c < *(undefined ***)(iVar9 + 0x30)" identifier < (pointer_expression "*(undefined ***)(iVar9 + 0x30)" * (cast_expression "(undefined ***)(iVar9 + 0x30)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar9 + 0x30)" ( (binary_expression "iVar9 + 0x30" identifier + number_literal) ))))) )))) <= identifier)) ;) (expression_statement "ppuVar8 = *(undefined ***)(iVar9 + 0x30);" (assignment_expression "ppuVar8 = *(undefined ***)(iVar9 + 0x30)" identifier = (pointer_expression "*(undefined ***)(iVar9 + 0x30)" * (cast_expression "(undefined ***)(iVar9 + 0x30)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar9 + 0x30)" ( (binary_expression "iVar9 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (bVar3) {\n      ppuVar8 = local_2c;\n    }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n      ppuVar8 = local_2c;\n    }" { (expression_statement "ppuVar8 = local_2c;" (assignment_expression "ppuVar8 = local_2c" identifier = identifier) ;) })) (expression_statement "ppuVar15 = (undefined **)((uint)local_28 & 0xff);" (assignment_expression "ppuVar15 = (undefined **)((uint)local_28 & 0xff)" identifier = (cast_expression "(undefined **)((uint)local_28 & 0xff)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((uint)local_28 & 0xff)" ( (binary_expression "(uint)local_28 & 0xff" (cast_expression "(uint)local_28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "local_2c = ppuVar8;" (assignment_expression "local_2c = ppuVar8" identifier = identifier) ;) (expression_statement "ppuVar8 = (undefined **)0x0;" (assignment_expression "ppuVar8 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (bVar3) {\n      ppuVar8 = local_24;\n    }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n      ppuVar8 = local_24;\n    }" { (expression_statement "ppuVar8 = local_24;" (assignment_expression "ppuVar8 = local_24" identifier = identifier) ;) })) (expression_statement "local_24 = ppuVar8;" (assignment_expression "local_24 = ppuVar8" identifier = identifier) ;) (expression_statement "puVar14 = puVar10 + 1;" (assignment_expression "puVar14 = puVar10 + 1" identifier = (binary_expression "puVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((undefined4 *)param_4[1] != puVar10 + 1)" ( (binary_expression "(undefined4 *)param_4[1] != puVar10 + 1" (cast_expression "(undefined4 *)param_4[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ])) != (binary_expression "puVar10 + 1" identifier + number_literal)) )) ;) (labeled_statement "LAB_00208000:\n  ppuVar8 = (undefined **)(puVar10 + 1);" statement_identifier : (expression_statement "ppuVar8 = (undefined **)(puVar10 + 1);" (assignment_expression "ppuVar8 = (undefined **)(puVar10 + 1)" identifier = (cast_expression "(undefined **)(puVar10 + 1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 1)" ( (binary_expression "puVar10 + 1" identifier + number_literal) )))) ;)) (if_statement "if ((char)ppuVar15 == '\0') {\n    return;\n  }" if (parenthesized_expression "((char)ppuVar15 == '\0')" ( (binary_expression "(char)ppuVar15 == '\0'" (cast_expression "(char)ppuVar15" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "ppuVar1 = (undefined **)*param_4;" (assignment_expression "ppuVar1 = (undefined **)*param_4" identifier = (cast_expression "(undefined **)*param_4" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_4" * identifier))) ;) (expression_statement "ppuVar4 = param_4;" (assignment_expression "ppuVar4 = param_4" identifier = identifier) ;) (expression_statement "ppuVar6 = ppuStack_4c;" (assignment_expression "ppuVar6 = ppuStack_4c" identifier = identifier) ;) (expression_statement "ppuVar5 = ppuStack_40;" (assignment_expression "ppuVar5 = ppuStack_40" identifier = identifier) ;) (if_statement "if (ppuVar8 != ppuVar1) {\n    ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);\n    ppuStack_4c = param_6;\n    uVar12 = 0x1f;\n    if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }\n    FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);\n    ppuStack_4c = ppuVar1;\n    if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }\n  }" if (parenthesized_expression "(ppuVar8 != ppuVar1)" ( (binary_expression "ppuVar8 != ppuVar1" identifier != identifier) )) (compound_statement "{\n    ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);\n    ppuStack_4c = param_6;\n    uVar12 = 0x1f;\n    if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }\n    FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);\n    ppuStack_4c = ppuVar1;\n    if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }\n  }" { (expression_statement "ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);" (assignment_expression "ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1)" identifier = (cast_expression "(undefined **)((int)ppuVar8 - (int)ppuVar1)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppuVar8 - (int)ppuVar1)" ( (binary_expression "(int)ppuVar8 - (int)ppuVar1" (cast_expression "(int)ppuVar8" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppuVar1" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppuStack_4c = param_6;" (assignment_expression "ppuStack_4c = param_6" identifier = identifier) ;) (expression_statement "uVar12 = 0x1f;" (assignment_expression "uVar12 = 0x1f" identifier = number_literal) ;) (if_statement "if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }" if (parenthesized_expression "((int)ppuVar15 >> 2 != 0)" ( (binary_expression "(int)ppuVar15 >> 2 != 0" (binary_expression "(int)ppuVar15 >> 2" (cast_expression "(int)ppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) != number_literal) )) (compound_statement "{\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }" { (for_statement "for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }" for ( ; (binary_expression "(uint)((int)ppuVar15 >> 2) >> uVar12 == 0" (binary_expression "(uint)((int)ppuVar15 >> 2) >> uVar12" (call_expression "(uint)((int)ppuVar15 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppuVar15 >> 2)" ( (binary_expression "(int)ppuVar15 >> 2" (cast_expression "(int)ppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) >> identifier) == number_literal) ; (assignment_expression "uVar12 = uVar12 - 1" identifier = (binary_expression "uVar12 - 1" identifier - number_literal)) ) (compound_statement "{\n      }" { })) })) (expression_statement "FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);" (call_expression "FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1)" identifier (argument_list "(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1)" ( identifier , identifier , (binary_expression "(0x1f - (uVar12 ^ 0x1f)) * 2" (parenthesized_expression "(0x1f - (uVar12 ^ 0x1f))" ( (binary_expression "0x1f - (uVar12 ^ 0x1f)" number_literal - (parenthesized_expression "(uVar12 ^ 0x1f)" ( (binary_expression "uVar12 ^ 0x1f" identifier ^ number_literal) ))) )) * number_literal) , identifier ))) ;) (expression_statement "ppuStack_4c = ppuVar1;" (assignment_expression "ppuStack_4c = ppuVar1" identifier = identifier) ;) (if_statement "if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }" if (parenthesized_expression "((int)ppuVar15 < 0x41)" ( (binary_expression "(int)ppuVar15 < 0x41" (cast_expression "(int)ppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }" { (expression_statement "ppuStack_40 = param_6;" (assignment_expression "ppuStack_40 = param_6" identifier = identifier) ;) (expression_statement "ppuStack_44 = param_1;" (assignment_expression "ppuStack_44 = param_1" identifier = identifier) ;) (expression_statement "ppuStack_48 = ppuVar8;" (assignment_expression "ppuStack_48 = ppuVar8" identifier = identifier) ;) (expression_statement "FUN_00207850();" (call_expression "FUN_00207850()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar6 = ppuStack_4c;" (assignment_expression "ppuVar6 = ppuStack_4c" identifier = identifier) ;) (expression_statement "ppuVar5 = ppuStack_40;" (assignment_expression "ppuVar5 = ppuStack_40" identifier = identifier) ;) }) (else_clause "else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }" else (compound_statement "{\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }" { (expression_statement "ppuVar15 = ppuVar1 + 0x10;" (assignment_expression "ppuVar15 = ppuVar1 + 0x10" identifier = (binary_expression "ppuVar1 + 0x10" identifier + number_literal)) ;) (expression_statement "ppuStack_40 = param_6;" (assignment_expression "ppuStack_40 = param_6" identifier = identifier) ;) (expression_statement "ppuStack_44 = param_1;" (assignment_expression "ppuStack_44 = param_1" identifier = identifier) ;) (expression_statement "ppuStack_48 = ppuVar15;" (assignment_expression "ppuStack_48 = ppuVar15" identifier = identifier) ;) (expression_statement "FUN_00207850();" (call_expression "FUN_00207850()" identifier (argument_list "()" ( ))) ;) (for_statement "for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }" for ( ; (comma_expression "ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15" (assignment_expression "ppuVar6 = ppuStack_4c" identifier = identifier) , (comma_expression "ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15" (assignment_expression "ppuVar5 = ppuStack_40" identifier = identifier) , (binary_expression "ppuVar8 != ppuVar15" identifier != identifier))) ; (assignment_expression "ppuVar15 = ppuVar15 + 1" identifier = (binary_expression "ppuVar15 + 1" identifier + number_literal)) ) (compound_statement "{\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }" { (expression_statement "ppuStack_44 = param_6;" (assignment_expression "ppuStack_44 = param_6" identifier = identifier) ;) (expression_statement "ppuStack_48 = param_1;" (assignment_expression "ppuStack_48 = param_1" identifier = identifier) ;) (expression_statement "ppuStack_4c = ppuVar15;" (assignment_expression "ppuStack_4c = ppuVar15" identifier = identifier) ;) (expression_statement "FUN_00207810();" (call_expression "FUN_00207810()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar1 = param_1;" (assignment_expression "ppuVar1 = param_1" identifier = identifier) ;) (expression_statement "ppuVar4 = param_6;" (assignment_expression "ppuVar4 = param_6" identifier = identifier) ;) })) }))) })) (expression_statement "ppuStack_40 = ppuVar1;" (assignment_expression "ppuStack_40 = ppuVar1" identifier = identifier) ;) (if_statement "if (param_3 == 1) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = local_30 + -0x40c92;\n    ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);\n    uVar12 = 0x403;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" if (parenthesized_expression "(param_3 == 1)" ( (binary_expression "param_3 == 1" identifier == number_literal) )) (compound_statement "{\n    ppuVar8 = (undefined **)0x0;\n    local_20 = local_30 + -0x40c92;\n    ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);\n    uVar12 = 0x403;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }" { (expression_statement "ppuVar8 = (undefined **)0x0;" (assignment_expression "ppuVar8 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_20 = local_30 + -0x40c92;" (assignment_expression "local_20 = local_30 + -0x40c92" identifier = (binary_expression "local_30 + -0x40c92" identifier + number_literal)) ;) (expression_statement "ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);" (assignment_expression "ppuVar15 = (undefined **)((int)local_30 + -0x1168c5)" identifier = (cast_expression "(undefined **)((int)local_30 + -0x1168c5)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_30 + -0x1168c5)" ( (binary_expression "(int)local_30 + -0x1168c5" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar12 = 0x403;" (assignment_expression "uVar12 = 0x403" identifier = number_literal) ;) (expression_statement "ppuStack_4c = (undefined **)local_30[0x13a];" (assignment_expression "ppuStack_4c = (undefined **)local_30[0x13a]" identifier = (cast_expression "(undefined **)local_30[0x13a]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_30[0x13a]" identifier [ number_literal ]))) ;) }) (else_clause "else if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" else (if_statement "if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }" { (expression_statement "ppuVar8 = (undefined **)0x0;" (assignment_expression "ppuVar8 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_20 = (undefined **)((int)local_30 + -0x103262);" (assignment_expression "local_20 = (undefined **)((int)local_30 + -0x103262)" identifier = (cast_expression "(undefined **)((int)local_30 + -0x103262)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_30 + -0x103262)" ( (binary_expression "(int)local_30 + -0x103262" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);" (assignment_expression "ppuVar15 = (undefined **)((int)local_30 + -0x11b23b)" identifier = (cast_expression "(undefined **)((int)local_30 + -0x11b23b)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_30 + -0x11b23b)" ( (binary_expression "(int)local_30 + -0x11b23b" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar12 = 3;" (assignment_expression "uVar12 = 3" identifier = number_literal) ;) (expression_statement "ppuStack_4c = (undefined **)local_30[0x13a];" (assignment_expression "ppuStack_4c = (undefined **)local_30[0x13a]" identifier = (cast_expression "(undefined **)local_30[0x13a]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_30[0x13a]" identifier [ number_literal ]))) ;) }) (else_clause "else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" else (if_statement "if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" if (parenthesized_expression "(param_3 == 2)" ( (binary_expression "param_3 == 2" identifier == number_literal) )) (compound_statement "{\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }" { (expression_statement "ppuStack_4c = (undefined **)local_30[0x13a];" (assignment_expression "ppuStack_4c = (undefined **)local_30[0x13a]" identifier = (cast_expression "(undefined **)local_30[0x13a]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_30[0x13a]" identifier [ number_literal ]))) ;) (if_statement "if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }" if (parenthesized_expression "(ppuStack_4c[3] == (undefined *)0x0)" ( (binary_expression "ppuStack_4c[3] == (undefined *)0x0" (subscript_expression "ppuStack_4c[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }" { (labeled_statement "LAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;" statement_identifier : (expression_statement "ppuStack_44 = local_30 + -0x40c6c;" (assignment_expression "ppuStack_44 = local_30 + -0x40c6c" identifier = (binary_expression "local_30 + -0x40c6c" identifier + number_literal)) ;)) (expression_statement "ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);" (assignment_expression "ppuStack_4c = (undefined **)((int)local_30 + -0x131d93)" identifier = (cast_expression "(undefined **)((int)local_30 + -0x131d93)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_30 + -0x131d93)" ( (binary_expression "(int)local_30 + -0x131d93" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppuStack_48 = (undefined **)0x69;" (assignment_expression "ppuStack_48 = (undefined **)0x69" identifier = (cast_expression "(undefined **)0x69" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuStack_40 = ppuVar4;" (assignment_expression "ppuStack_40 = ppuVar4" identifier = identifier) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar9 = *(int *)(ppuStack_4c[3] + 4);" (assignment_expression "iVar9 = *(int *)(ppuStack_4c[3] + 4)" identifier = (pointer_expression "*(int *)(ppuStack_4c[3] + 4)" * (cast_expression "(int *)(ppuStack_4c[3] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuStack_4c[3] + 4)" ( (binary_expression "ppuStack_4c[3] + 4" (subscript_expression "ppuStack_4c[3]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "ppuStack_40 = ppuVar5;" (assignment_expression "ppuStack_40 = ppuVar5" identifier = identifier) ;) (if_statement "if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }" if (parenthesized_expression "(*(short *)(iVar9 + 0x3c) == 0)" ( (binary_expression "*(short *)(iVar9 + 0x3c) == 0" (pointer_expression "*(short *)(iVar9 + 0x3c)" * (cast_expression "(short *)(iVar9 + 0x3c)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x3c)" ( (binary_expression "iVar9 + 0x3c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }" { (labeled_statement "LAB_0020850f:\n      ppuStack_4c = ppuVar6;" statement_identifier : (expression_statement "ppuStack_4c = ppuVar6;" (assignment_expression "ppuStack_4c = ppuVar6" identifier = identifier) ;)) (expression_statement "*(undefined ***)((int)pppuVar13 + -4) = ppuVar15;" (assignment_expression "*(undefined ***)((int)pppuVar13 + -4) = ppuVar15" (pointer_expression "*(undefined ***)((int)pppuVar13 + -4)" * (cast_expression "(undefined ***)((int)pppuVar13 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppuVar13 + -4)" ( (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;" (assignment_expression "*(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4" (pointer_expression "*(int *)((int)pppuVar13 + -8)" * (cast_expression "(int *)((int)pppuVar13 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -8)" ( (binary_expression "(int)pppuVar13 + -8" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)pppuVar13 + 0xc) + -0x1030b4" (pointer_expression "*(int *)((int)pppuVar13 + 0xc)" * (cast_expression "(int *)((int)pppuVar13 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0xc)" ( (binary_expression "(int)pppuVar13 + 0xc" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0xc)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0xc)" ( (binary_expression "(int)pppuVar13 + -0xc" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;" (assignment_expression "*(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc" (pointer_expression "*(int *)((int)pppuVar13 + -0x10)" * (cast_expression "(int *)((int)pppuVar13 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x10)" ( (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)pppuVar13 + 0xc) + -0x11d1cc" (pointer_expression "*(int *)((int)pppuVar13 + 0xc)" * (cast_expression "(int *)((int)pppuVar13 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + 0xc)" ( (binary_expression "(int)pppuVar13 + 0xc" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" * (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppuVar13 + -0x14)" ( (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar8 = *(undefined ***)(iVar9 + 0x44);" (assignment_expression "ppuVar8 = *(undefined ***)(iVar9 + 0x44)" identifier = (pointer_expression "*(undefined ***)(iVar9 + 0x44)" * (cast_expression "(undefined ***)(iVar9 + 0x44)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar9 + 0x44)" ( (binary_expression "iVar9 + 0x44" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar9 + 0x40) | 3;" (assignment_expression "uVar12 = *(uint *)(iVar9 + 0x40) | 3" identifier = (binary_expression "*(uint *)(iVar9 + 0x40) | 3" (pointer_expression "*(uint *)(iVar9 + 0x40)" * (cast_expression "(uint *)(iVar9 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x40)" ( (binary_expression "iVar9 + 0x40" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "local_20 = local_30 + -0x40c96;" (assignment_expression "local_20 = local_30 + -0x40c96" identifier = (binary_expression "local_30 + -0x40c96" identifier + number_literal)) ;) (expression_statement "ppuVar15 = local_30 + -0x45a2c;" (assignment_expression "ppuVar15 = local_30 + -0x45a2c" identifier = (binary_expression "local_30 + -0x45a2c" identifier + number_literal)) ;) }) (else_clause "else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" else (compound_statement "{\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" { (if_statement "if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }" if (parenthesized_expression "(param_3 != 3)" ( (binary_expression "param_3 != 3" identifier != number_literal) )) (compound_statement "{\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }" { (expression_statement "ppuStack_44 = local_30 + -0x40c1e;" (assignment_expression "ppuStack_44 = local_30 + -0x40c1e" identifier = (binary_expression "local_30 + -0x40c1e" identifier + number_literal)) ;) (expression_statement "ppuStack_4c = (undefined **)((int)local_30 + -0x103287);" (assignment_expression "ppuStack_4c = (undefined **)((int)local_30 + -0x103287)" identifier = (cast_expression "(undefined **)((int)local_30 + -0x103287)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_30 + -0x103287)" ( (binary_expression "(int)local_30 + -0x103287" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppuStack_48 = (undefined **)0x11b;" (assignment_expression "ppuStack_48 = (undefined **)0x11b" identifier = (cast_expression "(undefined **)0x11b" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuStack_4c = (undefined **)local_30[0x13a];" (assignment_expression "ppuStack_4c = (undefined **)local_30[0x13a]" identifier = (cast_expression "(undefined **)local_30[0x13a]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_30[0x13a]" identifier [ number_literal ]))) ;) (if_statement "if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;" if (parenthesized_expression "(ppuStack_4c[3] == (undefined *)0x0)" ( (binary_expression "ppuStack_4c[3] == (undefined *)0x0" (subscript_expression "ppuStack_4c[3]" identifier [ number_literal ]) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002084b3;" goto statement_identifier ;)) (expression_statement "iVar9 = *(int *)(ppuStack_4c[3] + 4);" (assignment_expression "iVar9 = *(int *)(ppuStack_4c[3] + 4)" identifier = (pointer_expression "*(int *)(ppuStack_4c[3] + 4)" * (cast_expression "(int *)(ppuStack_4c[3] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuStack_4c[3] + 4)" ( (binary_expression "ppuStack_4c[3] + 4" (subscript_expression "ppuStack_4c[3]" identifier [ number_literal ]) + number_literal) ))))) ;) (if_statement "if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }" if (parenthesized_expression "(*(short *)(iVar9 + 0x3e) == 0)" ( (binary_expression "*(short *)(iVar9 + 0x3e) == 0" (pointer_expression "*(short *)(iVar9 + 0x3e)" * (cast_expression "(short *)(iVar9 + 0x3e)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x3e)" ( (binary_expression "iVar9 + 0x3e" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }" { (expression_statement "ppuStack_44 = local_30 + -0x40c34;" (assignment_expression "ppuStack_44 = local_30 + -0x40c34" identifier = (binary_expression "local_30 + -0x40c34" identifier + number_literal)) ;) (expression_statement "ppuStack_4c = local_30 + -0x47473;" (assignment_expression "ppuStack_4c = local_30 + -0x47473" identifier = (binary_expression "local_30 + -0x47473" identifier + number_literal)) ;) (expression_statement "ppuStack_48 = (undefined **)0xd5;" (assignment_expression "ppuStack_48 = (undefined **)0xd5" identifier = (cast_expression "(undefined **)0xd5" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuStack_40 = ppuVar8;" (assignment_expression "ppuStack_40 = ppuVar8" identifier = identifier) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar8 = *(undefined ***)(iVar9 + 0x4c);" (assignment_expression "ppuVar8 = *(undefined ***)(iVar9 + 0x4c)" identifier = (pointer_expression "*(undefined ***)(iVar9 + 0x4c)" * (cast_expression "(undefined ***)(iVar9 + 0x4c)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(iVar9 + 0x4c)" ( (binary_expression "iVar9 + 0x4c" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *(uint *)(iVar9 + 0x48) | 3;" (assignment_expression "uVar12 = *(uint *)(iVar9 + 0x48) | 3" identifier = (binary_expression "*(uint *)(iVar9 + 0x48) | 3" (pointer_expression "*(uint *)(iVar9 + 0x48)" * (cast_expression "(uint *)(iVar9 + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x48)" ( (binary_expression "iVar9 + 0x48" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "local_20 = (undefined **)((int)local_30 + -0x103272);" (assignment_expression "local_20 = (undefined **)((int)local_30 + -0x103272)" identifier = (cast_expression "(undefined **)((int)local_30 + -0x103272)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_30 + -0x103272)" ( (binary_expression "(int)local_30 + -0x103272" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "ppuVar15 = local_30 + -0x45a1c;" (assignment_expression "ppuVar15 = local_30 + -0x45a1c" identifier = (binary_expression "local_30 + -0x45a1c" identifier + number_literal)) ;) }))))))) (expression_statement "ppuStack_40 = ppuVar5;" (assignment_expression "ppuStack_40 = ppuVar5" identifier = identifier) ;) (expression_statement "cVar7 = FUN_001a5190();" (assignment_expression "cVar7 = FUN_001a5190()" identifier = (call_expression "FUN_001a5190()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 == '\0') {\n    ppuStack_4c = (undefined **)0x30;\n    ppuStack_48 = (undefined **)FUN_00246670();\n    ppuStack_48[1] = (undefined *)0x0;\n    ppuStack_48[2] = (undefined *)0x0;\n    ppuStack_48[3] = (undefined *)0x0;\n    ppuStack_48[4] = (undefined *)0x0;\n    ppuStack_48[5] = (undefined *)0xffffffff;\n    ppuStack_48[6] = (undefined *)0xffffffff;\n    *(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;\n    ppuStack_48[8] = (undefined *)0x0;\n    ppuStack_48[9] = (undefined *)local_2c;\n    ppuStack_48[10] = (undefined *)local_24;\n    *ppuStack_48 = (undefined *)(local_30 + -0x18f5);\n    ppuStack_48[0xb] = (undefined *)local_20;\n    ppuStack_40 = (undefined **)0x0;\n    ppuStack_44 = (undefined **)0x0;\n    ppuStack_4c = ppuVar8;\n    local_28 = ppuStack_48;\n    local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);\n  }\n  else {\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    ppuStack_4c = (undefined **)0x30;\n    ppuStack_48 = (undefined **)FUN_00246670();\n    ppuStack_48[1] = (undefined *)0x0;\n    ppuStack_48[2] = (undefined *)0x0;\n    ppuStack_48[3] = (undefined *)0x0;\n    ppuStack_48[4] = (undefined *)0x0;\n    ppuStack_48[5] = (undefined *)0xffffffff;\n    ppuStack_48[6] = (undefined *)0xffffffff;\n    *(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;\n    ppuStack_48[8] = (undefined *)0x0;\n    ppuStack_48[9] = (undefined *)local_2c;\n    ppuStack_48[10] = (undefined *)local_24;\n    *ppuStack_48 = (undefined *)(local_30 + -0x18f5);\n    ppuStack_48[0xb] = (undefined *)local_20;\n    ppuStack_40 = (undefined **)0x0;\n    ppuStack_44 = (undefined **)0x0;\n    ppuStack_4c = ppuVar8;\n    local_28 = ppuStack_48;\n    local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);\n  }" { (expression_statement "ppuStack_4c = (undefined **)0x30;" (assignment_expression "ppuStack_4c = (undefined **)0x30" identifier = (cast_expression "(undefined **)0x30" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuStack_48 = (undefined **)FUN_00246670();" (assignment_expression "ppuStack_48 = (undefined **)FUN_00246670()" identifier = (cast_expression "(undefined **)FUN_00246670()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00246670()" identifier (argument_list "()" ( ))))) ;) (expression_statement "ppuStack_48[1] = (undefined *)0x0;" (assignment_expression "ppuStack_48[1] = (undefined *)0x0" (subscript_expression "ppuStack_48[1]" identifier [ number_literal ]) = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuStack_48[2] = (undefined *)0x0;" (assignment_expression "ppuStack_48[2] = (undefined *)0x0" (subscript_expression "ppuStack_48[2]" identifier [ number_literal ]) = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuStack_48[3] = (undefined *)0x0;" (assignment_expression "ppuStack_48[3] = (undefined *)0x0" (subscript_expression "ppuStack_48[3]" identifier [ number_literal ]) = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuStack_48[4] = (undefined *)0x0;" (assignment_expression "ppuStack_48[4] = (undefined *)0x0" (subscript_expression "ppuStack_48[4]" identifier [ number_literal ]) = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuStack_48[5] = (undefined *)0xffffffff;" (assignment_expression "ppuStack_48[5] = (undefined *)0xffffffff" (subscript_expression "ppuStack_48[5]" identifier [ number_literal ]) = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuStack_48[6] = (undefined *)0xffffffff;" (assignment_expression "ppuStack_48[6] = (undefined *)0xffffffff" (subscript_expression "ppuStack_48[6]" identifier [ number_literal ]) = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;" (assignment_expression "*(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0" (pointer_expression "*(byte *)(ppuStack_48 + 7)" * (cast_expression "(byte *)(ppuStack_48 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuStack_48 + 7)" ( (binary_expression "ppuStack_48 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(ppuStack_48 + 7) & 0xe0" (pointer_expression "*(byte *)(ppuStack_48 + 7)" * (cast_expression "(byte *)(ppuStack_48 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuStack_48 + 7)" ( (binary_expression "ppuStack_48 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "ppuStack_48[8] = (undefined *)0x0;" (assignment_expression "ppuStack_48[8] = (undefined *)0x0" (subscript_expression "ppuStack_48[8]" identifier [ number_literal ]) = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppuStack_48[9] = (undefined *)local_2c;" (assignment_expression "ppuStack_48[9] = (undefined *)local_2c" (subscript_expression "ppuStack_48[9]" identifier [ number_literal ]) = (cast_expression "(undefined *)local_2c" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppuStack_48[10] = (undefined *)local_24;" (assignment_expression "ppuStack_48[10] = (undefined *)local_24" (subscript_expression "ppuStack_48[10]" identifier [ number_literal ]) = (cast_expression "(undefined *)local_24" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*ppuStack_48 = (undefined *)(local_30 + -0x18f5);" (assignment_expression "*ppuStack_48 = (undefined *)(local_30 + -0x18f5)" (pointer_expression "*ppuStack_48" * identifier) = (cast_expression "(undefined *)(local_30 + -0x18f5)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_30 + -0x18f5)" ( (binary_expression "local_30 + -0x18f5" identifier + number_literal) )))) ;) (expression_statement "ppuStack_48[0xb] = (undefined *)local_20;" (assignment_expression "ppuStack_48[0xb] = (undefined *)local_20" (subscript_expression "ppuStack_48[0xb]" identifier [ number_literal ]) = (cast_expression "(undefined *)local_20" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppuStack_40 = (undefined **)0x0;" (assignment_expression "ppuStack_40 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuStack_44 = (undefined **)0x0;" (assignment_expression "ppuStack_44 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuStack_4c = ppuVar8;" (assignment_expression "ppuStack_4c = ppuVar8" identifier = identifier) ;) (expression_statement "local_28 = ppuStack_48;" (assignment_expression "local_28 = ppuStack_48" identifier = identifier) ;) (expression_statement "local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);" (assignment_expression "local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12)" identifier = (cast_expression "(undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00111290(param_2,ppuVar15,8,uVar12)" identifier (argument_list "(param_2,ppuVar15,8,uVar12)" ( identifier , identifier , number_literal , identifier ))))) ;) }) (else_clause "else {\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }" else (compound_statement "{\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }" { (expression_statement "ppuStack_4c = param_2;" (assignment_expression "ppuStack_4c = param_2" identifier = identifier) ;) (expression_statement "ppuStack_48 = ppuVar15;" (assignment_expression "ppuStack_48 = ppuVar15" identifier = identifier) ;) (expression_statement "local_20 = (undefined **)FUN_001079e0();" (assignment_expression "local_20 = (undefined **)FUN_001079e0()" identifier = (cast_expression "(undefined **)FUN_001079e0()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_001079e0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "local_28 = (undefined **)0x0;" (assignment_expression "local_28 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }))) (if_statement "if (local_20 != (undefined **)0x0) {\n    if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }\n  }" if (parenthesized_expression "(local_20 != (undefined **)0x0)" ( (binary_expression "local_20 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }\n  }" { (if_statement "if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }" if (parenthesized_expression "(param_3 == 2)" ( (binary_expression "param_3 == 2" identifier == number_literal) )) (compound_statement "{\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }" { (expression_statement "*(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;" (assignment_expression "*(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40" (pointer_expression "*(byte *)((int)local_20 + 0x91)" * (cast_expression "(byte *)((int)local_20 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_20 + 0x91)" ( (binary_expression "(int)local_20 + 0x91" (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)local_20 + 0x91) | 0x40" (pointer_expression "*(byte *)((int)local_20 + 0x91)" * (cast_expression "(byte *)((int)local_20 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_20 + 0x91)" ( (binary_expression "(int)local_20 + 0x91" (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) }) (else_clause "else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }" else (if_statement "if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }" if (parenthesized_expression "(param_3 == 3)" ( (binary_expression "param_3 == 3" identifier == number_literal) )) (compound_statement "{\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }" { (expression_statement "*(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;" (assignment_expression "*(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80" (pointer_expression "*(byte *)((int)local_20 + 0x91)" * (cast_expression "(byte *)((int)local_20 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_20 + 0x91)" ( (binary_expression "(int)local_20 + 0x91" (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(byte *)((int)local_20 + 0x91) | 0x80" (pointer_expression "*(byte *)((int)local_20 + 0x91)" * (cast_expression "(byte *)((int)local_20 + 0x91)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_20 + 0x91)" ( (binary_expression "(int)local_20 + 0x91" (cast_expression "(int)local_20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) | number_literal)) ;) })))) })) (expression_statement "puVar14 = (undefined4 *)*param_4;" (assignment_expression "puVar14 = (undefined4 *)*param_4" identifier = (cast_expression "(undefined4 *)*param_4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier))) ;) (expression_statement "puVar10 = (undefined4 *)param_4[1];" (assignment_expression "puVar10 = (undefined4 *)param_4[1]" identifier = (cast_expression "(undefined4 *)param_4[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) ;) (if_statement "if ((puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)) {\n    lVar16 = 0;\n    puVar11 = puVar10;\n  }\n  else {\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }" if (parenthesized_expression "((puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0))" ( (binary_expression "(puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)" (parenthesized_expression "(puVar14 == puVar10)" ( (binary_expression "puVar14 == puVar10" identifier == identifier) )) || (parenthesized_expression "(ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)" ( (comma_expression "ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0" (assignment_expression "ppuVar15 = (undefined **)*puVar14" identifier = (cast_expression "(undefined **)*puVar14" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar14" * identifier))) , (binary_expression "ppuVar15 == (undefined **)0x0" identifier == (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ))) )) (compound_statement "{\n    lVar16 = 0;\n    puVar11 = puVar10;\n  }" { (expression_statement "lVar16 = 0;" (assignment_expression "lVar16 = 0" identifier = number_literal) ;) (expression_statement "puVar11 = puVar10;" (assignment_expression "puVar11 = puVar10" identifier = identifier) ;) }) (else_clause "else {\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }" else (compound_statement "{\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }" { (expression_statement "lVar16 = 0;" (assignment_expression "lVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));" do (compound_statement "{\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    }" { (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) (if_statement "if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }" if (parenthesized_expression "(((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0))" ( (binary_expression "((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)" (parenthesized_expression "((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)ppuVar15 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)ppuVar15 + 0x2a) & 7" (pointer_expression "*(byte *)((int)ppuVar15 + 0x2a)" * (cast_expression "(byte *)((int)ppuVar15 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar15 + 0x2a)" ( (binary_expression "(int)ppuVar15 + 0x2a" (cast_expression "(int)ppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)ppuVar15 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)((int)ppuVar15 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)ppuVar15 + 0x2b)" * (cast_expression "(byte *)((int)ppuVar15 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppuVar15 + 0x2b)" ( (binary_expression "(int)ppuVar15 + 0x2b" (cast_expression "(int)ppuVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }" { (expression_statement "ppuStack_4c = (undefined **)ppuVar15[3];" (assignment_expression "ppuStack_4c = (undefined **)ppuVar15[3]" identifier = (cast_expression "(undefined **)ppuVar15[3]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "ppuVar15[3]" identifier [ number_literal ]))) ;) (expression_statement "local_2c = ppuVar15;" (assignment_expression "local_2c = ppuVar15" identifier = identifier) ;) (expression_statement "cVar7 = FUN_001e6ac0();" (assignment_expression "cVar7 = FUN_001e6ac0()" identifier = (call_expression "FUN_001e6ac0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }" { (expression_statement "local_24 = local_2c;" (assignment_expression "local_24 = local_2c" identifier = identifier) ;) (expression_statement "ppuStack_40 = (undefined **)0x20831b;" (assignment_expression "ppuStack_40 = (undefined **)0x20831b" identifier = (cast_expression "(undefined **)0x20831b" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_2c = (undefined **)FUN_00207550();" (assignment_expression "local_2c = (undefined **)FUN_00207550()" identifier = (cast_expression "(undefined **)FUN_00207550()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00207550()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }" if (parenthesized_expression "(param_5 != (undefined **)0x0)" ( (binary_expression "param_5 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }" { (expression_statement "ppuStack_44 = (undefined **)local_2c[0xd];" (assignment_expression "ppuStack_44 = (undefined **)local_2c[0xd]" identifier = (cast_expression "(undefined **)local_2c[0xd]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_2c[0xd]" identifier [ number_literal ]))) ;) (expression_statement "ppuStack_40 = (undefined **)0x0;" (assignment_expression "ppuStack_40 = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuStack_48 = local_24;" (assignment_expression "ppuStack_48 = local_24" identifier = identifier) ;) (expression_statement "ppuStack_4c = param_5;" (assignment_expression "ppuStack_4c = param_5" identifier = identifier) ;) (expression_statement "FUN_001207b0();" (call_expression "FUN_001207b0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar2 = local_2c[0xc];" (assignment_expression "puVar2 = local_2c[0xc]" identifier = (subscript_expression "local_2c[0xc]" identifier [ number_literal ])) ;) (if_statement "if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }" if (parenthesized_expression "(local_28 != (undefined **)0x0)" ( (binary_expression "local_28 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }" { (if_statement "if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }" if (parenthesized_expression "(puVar2 != (undefined *)0x0)" ( (binary_expression "puVar2 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }" { (expression_statement "lVar16 = lVar16 + -1 + ZEXT48(puVar2);" (assignment_expression "lVar16 = lVar16 + -1 + ZEXT48(puVar2)" identifier = (binary_expression "lVar16 + -1 + ZEXT48(puVar2)" (binary_expression "lVar16 + -1" identifier + number_literal) + (call_expression "ZEXT48(puVar2)" identifier (argument_list "(puVar2)" ( identifier ))))) ;) (expression_statement "lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);" (assignment_expression "lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2)" identifier = (call_expression "CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2)" identifier (argument_list "((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2)" ( (binary_expression "(uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0)" (call_expression "(uint)((ulonglong)lVar16 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar16 >> 0x20)" ( (binary_expression "(ulonglong)lVar16 >> 0x20" (cast_expression "(ulonglong)lVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) & (unary_expression "-(uint)(puVar2 != (undefined *)0x0)" - (call_expression "(uint)(puVar2 != (undefined *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar2 != (undefined *)0x0)" ( (binary_expression "puVar2 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))))) , (binary_expression "(uint)lVar16 & -(int)puVar2" (cast_expression "(uint)lVar16" ( (type_descriptor "uint" type_identifier) ) identifier) & (unary_expression "-(int)puVar2" - (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) })) (expression_statement "ppuStack_44 = (undefined **)lVar16;" (assignment_expression "ppuStack_44 = (undefined **)lVar16" identifier = (cast_expression "(undefined **)lVar16" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "ppuStack_48 = local_28;" (assignment_expression "ppuStack_48 = local_28" identifier = identifier) ;) (expression_statement "ppuStack_4c = local_2c;" (assignment_expression "ppuStack_4c = local_2c" identifier = identifier) ;) (expression_statement "FUN_001ea5f0();" (call_expression "FUN_001ea5f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "lVar16 = lVar16 + ZEXT48(local_2c[0xd]);" (assignment_expression "lVar16 = lVar16 + ZEXT48(local_2c[0xd])" identifier = (binary_expression "lVar16 + ZEXT48(local_2c[0xd])" identifier + (call_expression "ZEXT48(local_2c[0xd])" identifier (argument_list "(local_2c[0xd])" ( (subscript_expression "local_2c[0xd]" identifier [ number_literal ]) ))))) ;) (expression_statement "puVar10 = (undefined4 *)param_4[1];" (assignment_expression "puVar10 = (undefined4 *)param_4[1]" identifier = (cast_expression "(undefined4 *)param_4[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00208270;" goto statement_identifier ;) })) (expression_statement "ppuStack_4c = (undefined **)0x0;" (assignment_expression "ppuStack_4c = (undefined **)0x0" identifier = (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);" (assignment_expression "lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2)" identifier = (call_expression "FUN_0015e340(local_20,local_2c[0xd],0,puVar2)" identifier (argument_list "(local_20,local_2c[0xd],0,puVar2)" ( identifier , (subscript_expression "local_2c[0xd]" identifier [ number_literal ]) , number_literal , identifier )))) ;) (expression_statement "ppuVar15 = local_30;" (assignment_expression "ppuVar15 = local_30" identifier = identifier) ;) (if_statement "if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }" if (parenthesized_expression "(lVar16 == -1)" ( (binary_expression "lVar16 == -1" identifier == number_literal) )) (compound_statement "{\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }" { (expression_statement "ppuVar8 = (undefined **)local_20[8];" (assignment_expression "ppuVar8 = (undefined **)local_20[8]" identifier = (cast_expression "(undefined **)local_20[8]" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_20[8]" identifier [ number_literal ]))) ;) (expression_statement "ppuStack_4c = local_30 + -0x43ac7;" (assignment_expression "ppuStack_4c = local_30 + -0x43ac7" identifier = (binary_expression "local_30 + -0x43ac7" identifier + number_literal)) ;) (expression_statement "ppuStack_4c = (undefined **)gettext();" (assignment_expression "ppuStack_4c = (undefined **)gettext()" identifier = (cast_expression "(undefined **)gettext()" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "gettext()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pppuVar13 = &ppuStack_4c;" (assignment_expression "pppuVar13 = &ppuStack_4c" identifier = (pointer_expression "&ppuStack_4c" & identifier)) ;) (expression_statement "ppuStack_48 = ppuVar8;" (assignment_expression "ppuStack_48 = ppuVar8" identifier = identifier) ;) (expression_statement "FUN_000d1300();" (call_expression "FUN_000d1300()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar6 = ppuStack_4c;" (assignment_expression "ppuVar6 = ppuStack_4c" identifier = identifier) ;) (goto_statement "goto LAB_0020850f;" goto statement_identifier ;) })) (expression_statement "ppuStack_48 = local_20;" (assignment_expression "ppuStack_48 = local_20" identifier = identifier) ;) (expression_statement "ppuStack_4c = local_2c;" (assignment_expression "ppuStack_4c = local_2c" identifier = identifier) ;) (expression_statement "ppuStack_44 = (undefined **)lVar16;" (assignment_expression "ppuStack_44 = (undefined **)lVar16" identifier = (cast_expression "(undefined **)lVar16" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "FUN_001ea5f0();" (call_expression "FUN_001ea5f0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar10 = (undefined4 *)param_4[1];" (assignment_expression "puVar10 = (undefined4 *)param_4[1]" identifier = (cast_expression "(undefined4 *)param_4[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) ;) })) (labeled_statement "LAB_00208270:\n      puVar11 = puVar14;" statement_identifier : (expression_statement "puVar11 = puVar14;" (assignment_expression "puVar11 = puVar14" identifier = identifier) ;)) }) while (parenthesized_expression "((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0))" ( (binary_expression "(puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0)" (parenthesized_expression "(puVar10 != puVar14)" ( (binary_expression "puVar10 != puVar14" identifier != identifier) )) && (parenthesized_expression "(ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0)" ( (comma_expression "ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0" (assignment_expression "ppuVar15 = (undefined **)*puVar14" identifier = (cast_expression "(undefined **)*puVar14" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*puVar14" * identifier))) , (comma_expression "puVar11 = puVar10, ppuVar15 != (undefined **)0x0" (assignment_expression "puVar11 = puVar10" identifier = identifier) , (binary_expression "ppuVar15 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)))) ))) )) ;) }))) (if_statement "if (local_28 != (undefined **)0x0) {\n    if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    \n      FUN_000da200();\n    }\n    *(longlong *)(local_28 + 3) = lVar16;\n  }" if (parenthesized_expression "(local_28 != (undefined **)0x0)" ( (binary_expression "local_28 != (undefined **)0x0" identifier != (cast_expression "(undefined **)0x0" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    \n      FUN_000da200();\n    }\n    *(longlong *)(local_28 + 3) = lVar16;\n  }" { (if_statement "if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    \n      FUN_000da200();\n    }" if (parenthesized_expression "(((uint)local_28[7] & 2) != 0)" ( (binary_expression "((uint)local_28[7] & 2) != 0" (parenthesized_expression "((uint)local_28[7] & 2)" ( (binary_expression "(uint)local_28[7] & 2" (cast_expression "(uint)local_28[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_28[7]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) (compound_statement "{\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    \n      FUN_000da200();\n    }" { (expression_statement "ppuStack_40 = local_28;" (assignment_expression "ppuStack_40 = local_28" identifier = identifier) ;) (expression_statement "ppuStack_44 = local_30 + -0x40c68;" (assignment_expression "ppuStack_44 = local_30 + -0x40c68" identifier = (binary_expression "local_30 + -0x40c68" identifier + number_literal)) ;) (expression_statement "ppuStack_4c = local_30 + -0x47469;" (assignment_expression "ppuStack_4c = local_30 + -0x47469" identifier = (binary_expression "local_30 + -0x47469" identifier + number_literal)) ;) (expression_statement "ppuStack_48 = (undefined **)0x231;" (assignment_expression "ppuStack_48 = (undefined **)0x231" identifier = (cast_expression "(undefined **)0x231" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(longlong *)(local_28 + 3) = lVar16;" (assignment_expression "*(longlong *)(local_28 + 3) = lVar16" (pointer_expression "*(longlong *)(local_28 + 3)" * (cast_expression "(longlong *)(local_28 + 3)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_28 + 3)" ( (binary_expression "local_28 + 3" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if ((undefined4 *)*param_4 != puVar11) {\n    param_4[1] = *param_4;\n  }" if (parenthesized_expression "((undefined4 *)*param_4 != puVar11)" ( (binary_expression "(undefined4 *)*param_4 != puVar11" (cast_expression "(undefined4 *)*param_4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier)) != identifier) )) (compound_statement "{\n    param_4[1] = *param_4;\n  }" { (expression_statement "param_4[1] = *param_4;" (assignment_expression "param_4[1] = *param_4" (subscript_expression "param_4[1]" identifier [ number_literal ]) = (pointer_expression "*param_4" * identifier)) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) ))) (compound_statement { (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (subscript_expression IDENT [ LIT ])) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) ))) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) <= IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != (binary_expression IDENT + LIT)) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (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) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) != LIT) )) (compound_statement { (for_statement for ( ; (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) >> IDENT) == LIT) ; (assignment_expression IDENT = (binary_expression IDENT - LIT)) ) (compound_statement { })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression (parenthesized_expression ( (binary_expression LIT - (parenthesized_expression ( (binary_expression IDENT ^ LIT) ))) )) * LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (for_statement for ( ; (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != IDENT))) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))))))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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) )))) = (binary_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) )))) = (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) & (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT))) )))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)))) ))) )) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) })) (return_statement return ;) })))
(function_definition "void FUN_00207f20(undefined **param_1,undefined **param_2,int param_3,undefined **param_4,\n                 undefined **param_5,undefined **param_6)\n\n{\n  undefined **ppuVar1;\n  undefined *puVar2;\n  bool bVar3;\n  undefined **ppuVar4;\n  undefined **ppuVar5;\n  undefined **ppuVar6;\n  char cVar7;\n  undefined **ppuVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  undefined4 *puVar11;\n  uint uVar12;\n  undefined ***pppuVar13;\n  undefined4 *puVar14;\n  undefined **ppuVar15;\n  longlong lVar16;\n  undefined **ppuStack_4c;\n  undefined **ppuStack_48;\n  undefined **ppuStack_44;\n  undefined **ppuStack_40;\n  undefined1 auStack_3c [12];\n  undefined **local_30;\n  undefined **local_2c;\n  undefined **local_28;\n  undefined **local_24;\n  undefined **local_20;\n  \n  pppuVar13 = (undefined ***)auStack_3c;\n  local_30 = &__DT_PLTGOT;\n  local_2c = (undefined **)0x0;\n  local_24 = (undefined **)0x0;\n  if (*param_4 == param_4[1]) {\n    return;\n  }\n  ppuVar15 = (undefined **)0x0;\n  puVar14 = (undefined4 *)*param_4;\n  do {\n    while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }\n    ppuStack_4c = (undefined **)ppuVar8[3];\n    local_20 = ppuVar8;\n    cVar7 = FUN_001e6ac0();\n    local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);\n    if (cVar7 == '\0') goto LAB_00207f6c;\n    ppuStack_40 = (undefined **)0x207fc9;\n    iVar9 = FUN_00207550();\n    bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;\n    ppuVar8 = *(undefined ***)(iVar9 + 0x30);\n    if (bVar3) {\n      ppuVar8 = local_2c;\n    }\n    ppuVar15 = (undefined **)((uint)local_28 & 0xff);\n    local_2c = ppuVar8;\n    ppuVar8 = (undefined **)0x0;\n    if (bVar3) {\n      ppuVar8 = local_24;\n    }\n    local_24 = ppuVar8;\n    puVar14 = puVar10 + 1;\n  } while ((undefined4 *)param_4[1] != puVar10 + 1);\nLAB_00208000:\n  ppuVar8 = (undefined **)(puVar10 + 1);\n  if ((char)ppuVar15 == '\0') {\n    return;\n  }\n  ppuVar1 = (undefined **)*param_4;\n  ppuVar4 = param_4;\n  ppuVar6 = ppuStack_4c;\n  ppuVar5 = ppuStack_40;\n  if (ppuVar8 != ppuVar1) {\n    ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);\n    ppuStack_4c = param_6;\n    uVar12 = 0x1f;\n    if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }\n    FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);\n    ppuStack_4c = ppuVar1;\n    if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }\n  }\n  ppuStack_40 = ppuVar1;\n  if (param_3 == 1) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = local_30 + -0x40c92;\n    ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);\n    uVar12 = 0x403;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }\n  ppuStack_40 = ppuVar5;\n  cVar7 = FUN_001a5190();\n  if (cVar7 == '\0') {\n    ppuStack_4c = (undefined **)0x30;\n    ppuStack_48 = (undefined **)FUN_00246670();\n    ppuStack_48[1] = (undefined *)0x0;\n    ppuStack_48[2] = (undefined *)0x0;\n    ppuStack_48[3] = (undefined *)0x0;\n    ppuStack_48[4] = (undefined *)0x0;\n    ppuStack_48[5] = (undefined *)0xffffffff;\n    ppuStack_48[6] = (undefined *)0xffffffff;\n    *(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;\n    ppuStack_48[8] = (undefined *)0x0;\n    ppuStack_48[9] = (undefined *)local_2c;\n    ppuStack_48[10] = (undefined *)local_24;\n    *ppuStack_48 = (undefined *)(local_30 + -0x18f5);\n    ppuStack_48[0xb] = (undefined *)local_20;\n    ppuStack_40 = (undefined **)0x0;\n    ppuStack_44 = (undefined **)0x0;\n    ppuStack_4c = ppuVar8;\n    local_28 = ppuStack_48;\n    local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);\n  }\n  else {\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }\n  if (local_20 != (undefined **)0x0) {\n    if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }\n  }\n  puVar14 = (undefined4 *)*param_4;\n  puVar10 = (undefined4 *)param_4[1];\n  if ((puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)) {\n    lVar16 = 0;\n    puVar11 = puVar10;\n  }\n  else {\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }\n  if (local_28 != (undefined **)0x0) {\n    if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    \n      FUN_000da200();\n    }\n    *(longlong *)(local_28 + 3) = lVar16;\n  }\n  if ((undefined4 *)*param_4 != puVar11) {\n    param_4[1] = *param_4;\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00207f20(undefined **param_1,undefined **param_2,int param_3,undefined **param_4,\n                 undefined **param_5,undefined **param_6)" (identifier "FUN_00207f20") (parameter_list "(undefined **param_1,undefined **param_2,int param_3,undefined **param_4,\n                 undefined **param_5,undefined **param_6)" (( "(") (parameter_declaration "undefined **param_1" (type_identifier "undefined") (pointer_declarator "**param_1" (* "*") (pointer_declarator "*param_1" (* "*") (identifier "param_1")))) (, ",") (parameter_declaration "undefined **param_2" (type_identifier "undefined") (pointer_declarator "**param_2" (* "*") (pointer_declarator "*param_2" (* "*") (identifier "param_2")))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "undefined **param_4" (type_identifier "undefined") (pointer_declarator "**param_4" (* "*") (pointer_declarator "*param_4" (* "*") (identifier "param_4")))) (, ",") (parameter_declaration "undefined **param_5" (type_identifier "undefined") (pointer_declarator "**param_5" (* "*") (pointer_declarator "*param_5" (* "*") (identifier "param_5")))) (, ",") (parameter_declaration "undefined **param_6" (type_identifier "undefined") (pointer_declarator "**param_6" (* "*") (pointer_declarator "*param_6" (* "*") (identifier "param_6")))) () ")"))) (compound_statement "{\n  undefined **ppuVar1;\n  undefined *puVar2;\n  bool bVar3;\n  undefined **ppuVar4;\n  undefined **ppuVar5;\n  undefined **ppuVar6;\n  char cVar7;\n  undefined **ppuVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  undefined4 *puVar11;\n  uint uVar12;\n  undefined ***pppuVar13;\n  undefined4 *puVar14;\n  undefined **ppuVar15;\n  longlong lVar16;\n  undefined **ppuStack_4c;\n  undefined **ppuStack_48;\n  undefined **ppuStack_44;\n  undefined **ppuStack_40;\n  undefined1 auStack_3c [12];\n  undefined **local_30;\n  undefined **local_2c;\n  undefined **local_28;\n  undefined **local_24;\n  undefined **local_20;\n  \n  pppuVar13 = (undefined ***)auStack_3c;\n  local_30 = &__DT_PLTGOT;\n  local_2c = (undefined **)0x0;\n  local_24 = (undefined **)0x0;\n  if (*param_4 == param_4[1]) {\n    return;\n  }\n  ppuVar15 = (undefined **)0x0;\n  puVar14 = (undefined4 *)*param_4;\n  do {\n    while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }\n    ppuStack_4c = (undefined **)ppuVar8[3];\n    local_20 = ppuVar8;\n    cVar7 = FUN_001e6ac0();\n    local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);\n    if (cVar7 == '\0') goto LAB_00207f6c;\n    ppuStack_40 = (undefined **)0x207fc9;\n    iVar9 = FUN_00207550();\n    bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;\n    ppuVar8 = *(undefined ***)(iVar9 + 0x30);\n    if (bVar3) {\n      ppuVar8 = local_2c;\n    }\n    ppuVar15 = (undefined **)((uint)local_28 & 0xff);\n    local_2c = ppuVar8;\n    ppuVar8 = (undefined **)0x0;\n    if (bVar3) {\n      ppuVar8 = local_24;\n    }\n    local_24 = ppuVar8;\n    puVar14 = puVar10 + 1;\n  } while ((undefined4 *)param_4[1] != puVar10 + 1);\nLAB_00208000:\n  ppuVar8 = (undefined **)(puVar10 + 1);\n  if ((char)ppuVar15 == '\0') {\n    return;\n  }\n  ppuVar1 = (undefined **)*param_4;\n  ppuVar4 = param_4;\n  ppuVar6 = ppuStack_4c;\n  ppuVar5 = ppuStack_40;\n  if (ppuVar8 != ppuVar1) {\n    ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);\n    ppuStack_4c = param_6;\n    uVar12 = 0x1f;\n    if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }\n    FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);\n    ppuStack_4c = ppuVar1;\n    if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }\n  }\n  ppuStack_40 = ppuVar1;\n  if (param_3 == 1) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = local_30 + -0x40c92;\n    ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);\n    uVar12 = 0x403;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }\n  ppuStack_40 = ppuVar5;\n  cVar7 = FUN_001a5190();\n  if (cVar7 == '\0') {\n    ppuStack_4c = (undefined **)0x30;\n    ppuStack_48 = (undefined **)FUN_00246670();\n    ppuStack_48[1] = (undefined *)0x0;\n    ppuStack_48[2] = (undefined *)0x0;\n    ppuStack_48[3] = (undefined *)0x0;\n    ppuStack_48[4] = (undefined *)0x0;\n    ppuStack_48[5] = (undefined *)0xffffffff;\n    ppuStack_48[6] = (undefined *)0xffffffff;\n    *(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;\n    ppuStack_48[8] = (undefined *)0x0;\n    ppuStack_48[9] = (undefined *)local_2c;\n    ppuStack_48[10] = (undefined *)local_24;\n    *ppuStack_48 = (undefined *)(local_30 + -0x18f5);\n    ppuStack_48[0xb] = (undefined *)local_20;\n    ppuStack_40 = (undefined **)0x0;\n    ppuStack_44 = (undefined **)0x0;\n    ppuStack_4c = ppuVar8;\n    local_28 = ppuStack_48;\n    local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);\n  }\n  else {\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }\n  if (local_20 != (undefined **)0x0) {\n    if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }\n  }\n  puVar14 = (undefined4 *)*param_4;\n  puVar10 = (undefined4 *)param_4[1];\n  if ((puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)) {\n    lVar16 = 0;\n    puVar11 = puVar10;\n  }\n  else {\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }\n  if (local_28 != (undefined **)0x0) {\n    if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    \n      FUN_000da200();\n    }\n    *(longlong *)(local_28 + 3) = lVar16;\n  }\n  if ((undefined4 *)*param_4 != puVar11) {\n    param_4[1] = *param_4;\n  }\n  return;\n}" ({ "{") (declaration "undefined **ppuVar1;" (type_identifier "undefined") (pointer_declarator "**ppuVar1" (* "*") (pointer_declarator "*ppuVar1" (* "*") (identifier "ppuVar1"))) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "bool bVar3;" (primitive_type "bool") (identifier "bVar3") (; ";")) (declaration "undefined **ppuVar4;" (type_identifier "undefined") (pointer_declarator "**ppuVar4" (* "*") (pointer_declarator "*ppuVar4" (* "*") (identifier "ppuVar4"))) (; ";")) (declaration "undefined **ppuVar5;" (type_identifier "undefined") (pointer_declarator "**ppuVar5" (* "*") (pointer_declarator "*ppuVar5" (* "*") (identifier "ppuVar5"))) (; ";")) (declaration "undefined **ppuVar6;" (type_identifier "undefined") (pointer_declarator "**ppuVar6" (* "*") (pointer_declarator "*ppuVar6" (* "*") (identifier "ppuVar6"))) (; ";")) (declaration "char cVar7;" (primitive_type "char") (identifier "cVar7") (; ";")) (declaration "undefined **ppuVar8;" (type_identifier "undefined") (pointer_declarator "**ppuVar8" (* "*") (pointer_declarator "*ppuVar8" (* "*") (identifier "ppuVar8"))) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined4 *puVar10;" (type_identifier "undefined4") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined4 *puVar11;" (type_identifier "undefined4") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "undefined ***pppuVar13;" (type_identifier "undefined") (pointer_declarator "***pppuVar13" (* "*") (pointer_declarator "**pppuVar13" (* "*") (pointer_declarator "*pppuVar13" (* "*") (identifier "pppuVar13")))) (; ";")) (declaration "undefined4 *puVar14;" (type_identifier "undefined4") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined **ppuVar15;" (type_identifier "undefined") (pointer_declarator "**ppuVar15" (* "*") (pointer_declarator "*ppuVar15" (* "*") (identifier "ppuVar15"))) (; ";")) (declaration "longlong lVar16;" (type_identifier "longlong") (identifier "lVar16") (; ";")) (declaration "undefined **ppuStack_4c;" (type_identifier "undefined") (pointer_declarator "**ppuStack_4c" (* "*") (pointer_declarator "*ppuStack_4c" (* "*") (identifier "ppuStack_4c"))) (; ";")) (declaration "undefined **ppuStack_48;" (type_identifier "undefined") (pointer_declarator "**ppuStack_48" (* "*") (pointer_declarator "*ppuStack_48" (* "*") (identifier "ppuStack_48"))) (; ";")) (declaration "undefined **ppuStack_44;" (type_identifier "undefined") (pointer_declarator "**ppuStack_44" (* "*") (pointer_declarator "*ppuStack_44" (* "*") (identifier "ppuStack_44"))) (; ";")) (declaration "undefined **ppuStack_40;" (type_identifier "undefined") (pointer_declarator "**ppuStack_40" (* "*") (pointer_declarator "*ppuStack_40" (* "*") (identifier "ppuStack_40"))) (; ";")) (declaration "undefined1 auStack_3c [12];" (type_identifier "undefined1") (array_declarator "auStack_3c [12]" (identifier "auStack_3c") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined **local_30;" (type_identifier "undefined") (pointer_declarator "**local_30" (* "*") (pointer_declarator "*local_30" (* "*") (identifier "local_30"))) (; ";")) (declaration "undefined **local_2c;" (type_identifier "undefined") (pointer_declarator "**local_2c" (* "*") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c"))) (; ";")) (declaration "undefined **local_28;" (type_identifier "undefined") (pointer_declarator "**local_28" (* "*") (pointer_declarator "*local_28" (* "*") (identifier "local_28"))) (; ";")) (declaration "undefined **local_24;" (type_identifier "undefined") (pointer_declarator "**local_24" (* "*") (pointer_declarator "*local_24" (* "*") (identifier "local_24"))) (; ";")) (declaration "undefined **local_20;" (type_identifier "undefined") (pointer_declarator "**local_20" (* "*") (pointer_declarator "*local_20" (* "*") (identifier "local_20"))) (; ";")) (expression_statement "pppuVar13 = (undefined ***)auStack_3c;" (assignment_expression "pppuVar13 = (undefined ***)auStack_3c" (identifier "pppuVar13") (= "=") (cast_expression "(undefined ***)auStack_3c" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "auStack_3c"))) (; ";")) (expression_statement "local_30 = &__DT_PLTGOT;" (assignment_expression "local_30 = &__DT_PLTGOT" (identifier "local_30") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "local_2c = (undefined **)0x0;" (assignment_expression "local_2c = (undefined **)0x0" (identifier "local_2c") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_24 = (undefined **)0x0;" (assignment_expression "local_24 = (undefined **)0x0" (identifier "local_24") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (*param_4 == param_4[1]) {\n    return;\n  }" (if "if") (parenthesized_expression "(*param_4 == param_4[1])" (( "(") (binary_expression "*param_4 == param_4[1]" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (== "==") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "ppuVar15 = (undefined **)0x0;" (assignment_expression "ppuVar15 = (undefined **)0x0" (identifier "ppuVar15") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar14 = (undefined4 *)*param_4;" (assignment_expression "puVar14 = (undefined4 *)*param_4" (identifier "puVar14") (= "=") (cast_expression "(undefined4 *)*param_4" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4")))) (; ";")) (do_statement "do {\n    while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }\n    ppuStack_4c = (undefined **)ppuVar8[3];\n    local_20 = ppuVar8;\n    cVar7 = FUN_001e6ac0();\n    local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);\n    if (cVar7 == '\0') goto LAB_00207f6c;\n    ppuStack_40 = (undefined **)0x207fc9;\n    iVar9 = FUN_00207550();\n    bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;\n    ppuVar8 = *(undefined ***)(iVar9 + 0x30);\n    if (bVar3) {\n      ppuVar8 = local_2c;\n    }\n    ppuVar15 = (undefined **)((uint)local_28 & 0xff);\n    local_2c = ppuVar8;\n    ppuVar8 = (undefined **)0x0;\n    if (bVar3) {\n      ppuVar8 = local_24;\n    }\n    local_24 = ppuVar8;\n    puVar14 = puVar10 + 1;\n  } while ((undefined4 *)param_4[1] != puVar10 + 1);" (do "do") (compound_statement "{\n    while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }\n    ppuStack_4c = (undefined **)ppuVar8[3];\n    local_20 = ppuVar8;\n    cVar7 = FUN_001e6ac0();\n    local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);\n    if (cVar7 == '\0') goto LAB_00207f6c;\n    ppuStack_40 = (undefined **)0x207fc9;\n    iVar9 = FUN_00207550();\n    bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;\n    ppuVar8 = *(undefined ***)(iVar9 + 0x30);\n    if (bVar3) {\n      ppuVar8 = local_2c;\n    }\n    ppuVar15 = (undefined **)((uint)local_28 & 0xff);\n    local_2c = ppuVar8;\n    ppuVar8 = (undefined **)0x0;\n    if (bVar3) {\n      ppuVar8 = local_24;\n    }\n    local_24 = ppuVar8;\n    puVar14 = puVar10 + 1;\n  }" ({ "{") (while_statement "while( true ) {\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      puVar10 = puVar14;\n      ppuVar8 = (undefined **)*puVar10;\n      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }\n      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;\nLAB_00207f6c:\n      *puVar10 = 0;\n      puVar14 = puVar10 + 1;\n      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;\n    }" ({ "{") (expression_statement "puVar10 = puVar14;" (assignment_expression "puVar10 = puVar14" (identifier "puVar10") (= "=") (identifier "puVar14")) (; ";")) (expression_statement "ppuVar8 = (undefined **)*puVar10;" (assignment_expression "ppuVar8 = (undefined **)*puVar10" (identifier "ppuVar8") (= "=") (cast_expression "(undefined **)*puVar10" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*puVar10" (* "*") (identifier "puVar10")))) (; ";")) (if_statement "if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }" (if "if") (parenthesized_expression "((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0)" (( "(") (binary_expression "(*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0" (parenthesized_expression "(*(byte *)((int)ppuVar8 + 0x2a) & 0x10)" (( "(") (binary_expression "*(byte *)((int)ppuVar8 + 0x2a) & 0x10" (pointer_expression "*(byte *)((int)ppuVar8 + 0x2a)" (* "*") (cast_expression "(byte *)((int)ppuVar8 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar8 + 0x2a)" (( "(") (binary_expression "(int)ppuVar8 + 0x2a" (cast_expression "(int)ppuVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar8")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        ppuStack_4c = param_1;\n        ppuStack_48 = ppuVar8;\n        ppuVar8 = (undefined **)FUN_001e6f30();\n        *puVar10 = ppuVar8;\n      }" ({ "{") (expression_statement "ppuStack_4c = param_1;" (assignment_expression "ppuStack_4c = param_1" (identifier "ppuStack_4c") (= "=") (identifier "param_1")) (; ";")) (expression_statement "ppuStack_48 = ppuVar8;" (assignment_expression "ppuStack_48 = ppuVar8" (identifier "ppuStack_48") (= "=") (identifier "ppuVar8")) (; ";")) (expression_statement "ppuVar8 = (undefined **)FUN_001e6f30();" (assignment_expression "ppuVar8 = (undefined **)FUN_001e6f30()" (identifier "ppuVar8") (= "=") (cast_expression "(undefined **)FUN_001e6f30()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "FUN_001e6f30()" (identifier "FUN_001e6f30") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*puVar10 = ppuVar8;" (assignment_expression "*puVar10 = ppuVar8" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (= "=") (identifier "ppuVar8")) (; ";")) (} "}"))) (if_statement "if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;" (if "if") (parenthesized_expression "(((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0))" (( "(") (binary_expression "((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)" (parenthesized_expression "((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)ppuVar8 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)ppuVar8 + 0x2a) & 7" (pointer_expression "*(byte *)((int)ppuVar8 + 0x2a)" (* "*") (cast_expression "(byte *)((int)ppuVar8 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar8 + 0x2a)" (( "(") (binary_expression "(int)ppuVar8 + 0x2a" (cast_expression "(int)ppuVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar8")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)ppuVar8 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)((int)ppuVar8 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)ppuVar8 + 0x2b)" (* "*") (cast_expression "(byte *)((int)ppuVar8 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar8 + 0x2b)" (( "(") (binary_expression "(int)ppuVar8 + 0x2b" (cast_expression "(int)ppuVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar8")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_00207f6c:\n      *puVar10 = 0;" (statement_identifier "LAB_00207f6c") (: ":") (expression_statement "*puVar10 = 0;" (assignment_expression "*puVar10 = 0" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (= "=") (number_literal "0")) (; ";"))) (expression_statement "puVar14 = puVar10 + 1;" (assignment_expression "puVar14 = puVar10 + 1" (identifier "puVar14") (= "=") (binary_expression "puVar10 + 1" (identifier "puVar10") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;" (if "if") (parenthesized_expression "((undefined4 *)param_4[1] == puVar10 + 1)" (( "(") (binary_expression "(undefined4 *)param_4[1] == puVar10 + 1" (cast_expression "(undefined4 *)param_4[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) (== "==") (binary_expression "puVar10 + 1" (identifier "puVar10") (+ "+") (number_literal "1"))) () ")")) (goto_statement "goto LAB_00208000;" (goto "goto") (statement_identifier "LAB_00208000") (; ";"))) (} "}"))) (expression_statement "ppuStack_4c = (undefined **)ppuVar8[3];" (assignment_expression "ppuStack_4c = (undefined **)ppuVar8[3]" (identifier "ppuStack_4c") (= "=") (cast_expression "(undefined **)ppuVar8[3]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "ppuVar8[3]" (identifier "ppuVar8") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "local_20 = ppuVar8;" (assignment_expression "local_20 = ppuVar8" (identifier "local_20") (= "=") (identifier "ppuVar8")) (; ";")) (expression_statement "cVar7 = FUN_001e6ac0();" (assignment_expression "cVar7 = FUN_001e6ac0()" (identifier "cVar7") (= "=") (call_expression "FUN_001e6ac0()" (identifier "FUN_001e6ac0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);" (assignment_expression "local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7)" (identifier "local_28") (= "=") (cast_expression "(undefined **)CONCAT31(local_28._1_3_,cVar7)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT31(local_28._1_3_,cVar7)" (identifier "CONCAT31") (argument_list "(local_28._1_3_,cVar7)" (( "(") (field_expression "local_28._1_3_" (identifier "local_28") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "cVar7") () ")"))))) (; ";")) (if_statement "if (cVar7 == '\0') goto LAB_00207f6c;" (if "if") (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00207f6c;" (goto "goto") (statement_identifier "LAB_00207f6c") (; ";"))) (expression_statement "ppuStack_40 = (undefined **)0x207fc9;" (assignment_expression "ppuStack_40 = (undefined **)0x207fc9" (identifier "ppuStack_40") (= "=") (cast_expression "(undefined **)0x207fc9" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x207fc9"))) (; ";")) (expression_statement "iVar9 = FUN_00207550();" (assignment_expression "iVar9 = FUN_00207550()" (identifier "iVar9") (= "=") (call_expression "FUN_00207550()" (identifier "FUN_00207550") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;" (assignment_expression "bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24" (identifier "bVar3") (= "=") (binary_expression "(undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24" (cast_expression "(undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30))" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(uint)(local_2c < *(undefined ***)(iVar9 + 0x30))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_2c < *(undefined ***)(iVar9 + 0x30))" (( "(") (binary_expression "local_2c < *(undefined ***)(iVar9 + 0x30)" (identifier "local_2c") (< "<") (pointer_expression "*(undefined ***)(iVar9 + 0x30)" (* "*") (cast_expression "(undefined ***)(iVar9 + 0x30)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar9 + 0x30)" (( "(") (binary_expression "iVar9 + 0x30" (identifier "iVar9") (+ "+") (number_literal "0x30")) () ")"))))) () ")")))) (<= "<=") (identifier "local_24"))) (; ";")) (expression_statement "ppuVar8 = *(undefined ***)(iVar9 + 0x30);" (assignment_expression "ppuVar8 = *(undefined ***)(iVar9 + 0x30)" (identifier "ppuVar8") (= "=") (pointer_expression "*(undefined ***)(iVar9 + 0x30)" (* "*") (cast_expression "(undefined ***)(iVar9 + 0x30)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar9 + 0x30)" (( "(") (binary_expression "iVar9 + 0x30" (identifier "iVar9") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (bVar3) {\n      ppuVar8 = local_2c;\n    }" (if "if") (parenthesized_expression "(bVar3)" (( "(") (identifier "bVar3") () ")")) (compound_statement "{\n      ppuVar8 = local_2c;\n    }" ({ "{") (expression_statement "ppuVar8 = local_2c;" (assignment_expression "ppuVar8 = local_2c" (identifier "ppuVar8") (= "=") (identifier "local_2c")) (; ";")) (} "}"))) (expression_statement "ppuVar15 = (undefined **)((uint)local_28 & 0xff);" (assignment_expression "ppuVar15 = (undefined **)((uint)local_28 & 0xff)" (identifier "ppuVar15") (= "=") (cast_expression "(undefined **)((uint)local_28 & 0xff)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((uint)local_28 & 0xff)" (( "(") (binary_expression "(uint)local_28 & 0xff" (cast_expression "(uint)local_28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_28")) (& "&") (number_literal "0xff")) () ")")))) (; ";")) (expression_statement "local_2c = ppuVar8;" (assignment_expression "local_2c = ppuVar8" (identifier "local_2c") (= "=") (identifier "ppuVar8")) (; ";")) (expression_statement "ppuVar8 = (undefined **)0x0;" (assignment_expression "ppuVar8 = (undefined **)0x0" (identifier "ppuVar8") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (bVar3) {\n      ppuVar8 = local_24;\n    }" (if "if") (parenthesized_expression "(bVar3)" (( "(") (identifier "bVar3") () ")")) (compound_statement "{\n      ppuVar8 = local_24;\n    }" ({ "{") (expression_statement "ppuVar8 = local_24;" (assignment_expression "ppuVar8 = local_24" (identifier "ppuVar8") (= "=") (identifier "local_24")) (; ";")) (} "}"))) (expression_statement "local_24 = ppuVar8;" (assignment_expression "local_24 = ppuVar8" (identifier "local_24") (= "=") (identifier "ppuVar8")) (; ";")) (expression_statement "puVar14 = puVar10 + 1;" (assignment_expression "puVar14 = puVar10 + 1" (identifier "puVar14") (= "=") (binary_expression "puVar10 + 1" (identifier "puVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((undefined4 *)param_4[1] != puVar10 + 1)" (( "(") (binary_expression "(undefined4 *)param_4[1] != puVar10 + 1" (cast_expression "(undefined4 *)param_4[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (binary_expression "puVar10 + 1" (identifier "puVar10") (+ "+") (number_literal "1"))) () ")")) (; ";")) (labeled_statement "LAB_00208000:\n  ppuVar8 = (undefined **)(puVar10 + 1);" (statement_identifier "LAB_00208000") (: ":") (expression_statement "ppuVar8 = (undefined **)(puVar10 + 1);" (assignment_expression "ppuVar8 = (undefined **)(puVar10 + 1)" (identifier "ppuVar8") (= "=") (cast_expression "(undefined **)(puVar10 + 1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 1)" (( "(") (binary_expression "puVar10 + 1" (identifier "puVar10") (+ "+") (number_literal "1")) () ")")))) (; ";"))) (if_statement "if ((char)ppuVar15 == '\0') {\n    return;\n  }" (if "if") (parenthesized_expression "((char)ppuVar15 == '\0')" (( "(") (binary_expression "(char)ppuVar15 == '\0'" (cast_expression "(char)ppuVar15" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "ppuVar15")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "ppuVar1 = (undefined **)*param_4;" (assignment_expression "ppuVar1 = (undefined **)*param_4" (identifier "ppuVar1") (= "=") (cast_expression "(undefined **)*param_4" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4")))) (; ";")) (expression_statement "ppuVar4 = param_4;" (assignment_expression "ppuVar4 = param_4" (identifier "ppuVar4") (= "=") (identifier "param_4")) (; ";")) (expression_statement "ppuVar6 = ppuStack_4c;" (assignment_expression "ppuVar6 = ppuStack_4c" (identifier "ppuVar6") (= "=") (identifier "ppuStack_4c")) (; ";")) (expression_statement "ppuVar5 = ppuStack_40;" (assignment_expression "ppuVar5 = ppuStack_40" (identifier "ppuVar5") (= "=") (identifier "ppuStack_40")) (; ";")) (if_statement "if (ppuVar8 != ppuVar1) {\n    ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);\n    ppuStack_4c = param_6;\n    uVar12 = 0x1f;\n    if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }\n    FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);\n    ppuStack_4c = ppuVar1;\n    if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(ppuVar8 != ppuVar1)" (( "(") (binary_expression "ppuVar8 != ppuVar1" (identifier "ppuVar8") (!= "!=") (identifier "ppuVar1")) () ")")) (compound_statement "{\n    ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);\n    ppuStack_4c = param_6;\n    uVar12 = 0x1f;\n    if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }\n    FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);\n    ppuStack_4c = ppuVar1;\n    if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }\n  }" ({ "{") (expression_statement "ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);" (assignment_expression "ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1)" (identifier "ppuVar15") (= "=") (cast_expression "(undefined **)((int)ppuVar8 - (int)ppuVar1)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppuVar8 - (int)ppuVar1)" (( "(") (binary_expression "(int)ppuVar8 - (int)ppuVar1" (cast_expression "(int)ppuVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar8")) (- "-") (cast_expression "(int)ppuVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar1"))) () ")")))) (; ";")) (expression_statement "ppuStack_4c = param_6;" (assignment_expression "ppuStack_4c = param_6" (identifier "ppuStack_4c") (= "=") (identifier "param_6")) (; ";")) (expression_statement "uVar12 = 0x1f;" (assignment_expression "uVar12 = 0x1f" (identifier "uVar12") (= "=") (number_literal "0x1f")) (; ";")) (if_statement "if ((int)ppuVar15 >> 2 != 0) {\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }" (if "if") (parenthesized_expression "((int)ppuVar15 >> 2 != 0)" (( "(") (binary_expression "(int)ppuVar15 >> 2 != 0" (binary_expression "(int)ppuVar15 >> 2" (cast_expression "(int)ppuVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar15")) (>> ">>") (number_literal "2")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }\n    }" ({ "{") (for_statement "for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {\n      }" (for "for") (( "(") (; ";") (binary_expression "(uint)((int)ppuVar15 >> 2) >> uVar12 == 0" (binary_expression "(uint)((int)ppuVar15 >> 2) >> uVar12" (call_expression "(uint)((int)ppuVar15 >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)ppuVar15 >> 2)" (( "(") (binary_expression "(int)ppuVar15 >> 2" (cast_expression "(int)ppuVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar15")) (>> ">>") (number_literal "2")) () ")"))) (>> ">>") (identifier "uVar12")) (== "==") (number_literal "0")) (; ";") (assignment_expression "uVar12 = uVar12 - 1" (identifier "uVar12") (= "=") (binary_expression "uVar12 - 1" (identifier "uVar12") (- "-") (number_literal "1"))) () ")") (compound_statement "{\n      }" ({ "{") (} "}"))) (} "}"))) (expression_statement "FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);" (call_expression "FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1)" (identifier "FUN_00207ca0") (argument_list "(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1)" (( "(") (identifier "ppuVar1") (, ",") (identifier "ppuVar8") (, ",") (binary_expression "(0x1f - (uVar12 ^ 0x1f)) * 2" (parenthesized_expression "(0x1f - (uVar12 ^ 0x1f))" (( "(") (binary_expression "0x1f - (uVar12 ^ 0x1f)" (number_literal "0x1f") (- "-") (parenthesized_expression "(uVar12 ^ 0x1f)" (( "(") (binary_expression "uVar12 ^ 0x1f" (identifier "uVar12") (^ "^") (number_literal "0x1f")) () ")"))) () ")")) (* "*") (number_literal "2")) (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "ppuStack_4c = ppuVar1;" (assignment_expression "ppuStack_4c = ppuVar1" (identifier "ppuStack_4c") (= "=") (identifier "ppuVar1")) (; ";")) (if_statement "if ((int)ppuVar15 < 0x41) {\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }\n    else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }" (if "if") (parenthesized_expression "((int)ppuVar15 < 0x41)" (( "(") (binary_expression "(int)ppuVar15 < 0x41" (cast_expression "(int)ppuVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar15")) (< "<") (number_literal "0x41")) () ")")) (compound_statement "{\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar8;\n      FUN_00207850();\n      ppuVar6 = ppuStack_4c;\n      ppuVar5 = ppuStack_40;\n    }" ({ "{") (expression_statement "ppuStack_40 = param_6;" (assignment_expression "ppuStack_40 = param_6" (identifier "ppuStack_40") (= "=") (identifier "param_6")) (; ";")) (expression_statement "ppuStack_44 = param_1;" (assignment_expression "ppuStack_44 = param_1" (identifier "ppuStack_44") (= "=") (identifier "param_1")) (; ";")) (expression_statement "ppuStack_48 = ppuVar8;" (assignment_expression "ppuStack_48 = ppuVar8" (identifier "ppuStack_48") (= "=") (identifier "ppuVar8")) (; ";")) (expression_statement "FUN_00207850();" (call_expression "FUN_00207850()" (identifier "FUN_00207850") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar6 = ppuStack_4c;" (assignment_expression "ppuVar6 = ppuStack_4c" (identifier "ppuVar6") (= "=") (identifier "ppuStack_4c")) (; ";")) (expression_statement "ppuVar5 = ppuStack_40;" (assignment_expression "ppuVar5 = ppuStack_40" (identifier "ppuVar5") (= "=") (identifier "ppuStack_40")) (; ";")) (} "}")) (else_clause "else {\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }" (else "else") (compound_statement "{\n      ppuVar15 = ppuVar1 + 0x10;\n      ppuStack_40 = param_6;\n      ppuStack_44 = param_1;\n      ppuStack_48 = ppuVar15;\n      FUN_00207850();\n      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }\n    }" ({ "{") (expression_statement "ppuVar15 = ppuVar1 + 0x10;" (assignment_expression "ppuVar15 = ppuVar1 + 0x10" (identifier "ppuVar15") (= "=") (binary_expression "ppuVar1 + 0x10" (identifier "ppuVar1") (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "ppuStack_40 = param_6;" (assignment_expression "ppuStack_40 = param_6" (identifier "ppuStack_40") (= "=") (identifier "param_6")) (; ";")) (expression_statement "ppuStack_44 = param_1;" (assignment_expression "ppuStack_44 = param_1" (identifier "ppuStack_44") (= "=") (identifier "param_1")) (; ";")) (expression_statement "ppuStack_48 = ppuVar15;" (assignment_expression "ppuStack_48 = ppuVar15" (identifier "ppuStack_48") (= "=") (identifier "ppuVar15")) (; ";")) (expression_statement "FUN_00207850();" (call_expression "FUN_00207850()" (identifier "FUN_00207850") (argument_list "()" (( "(") () ")"))) (; ";")) (for_statement "for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;\n          ppuVar15 = ppuVar15 + 1) {\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }" (for "for") (( "(") (; ";") (comma_expression "ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15" (assignment_expression "ppuVar6 = ppuStack_4c" (identifier "ppuVar6") (= "=") (identifier "ppuStack_4c")) (, ",") (comma_expression "ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15" (assignment_expression "ppuVar5 = ppuStack_40" (identifier "ppuVar5") (= "=") (identifier "ppuStack_40")) (, ",") (binary_expression "ppuVar8 != ppuVar15" (identifier "ppuVar8") (!= "!=") (identifier "ppuVar15")))) (; ";") (assignment_expression "ppuVar15 = ppuVar15 + 1" (identifier "ppuVar15") (= "=") (binary_expression "ppuVar15 + 1" (identifier "ppuVar15") (+ "+") (number_literal "1"))) () ")") (compound_statement "{\n        ppuStack_44 = param_6;\n        ppuStack_48 = param_1;\n        ppuStack_4c = ppuVar15;\n        FUN_00207810();\n        ppuVar1 = param_1;\n        ppuVar4 = param_6;\n      }" ({ "{") (expression_statement "ppuStack_44 = param_6;" (assignment_expression "ppuStack_44 = param_6" (identifier "ppuStack_44") (= "=") (identifier "param_6")) (; ";")) (expression_statement "ppuStack_48 = param_1;" (assignment_expression "ppuStack_48 = param_1" (identifier "ppuStack_48") (= "=") (identifier "param_1")) (; ";")) (expression_statement "ppuStack_4c = ppuVar15;" (assignment_expression "ppuStack_4c = ppuVar15" (identifier "ppuStack_4c") (= "=") (identifier "ppuVar15")) (; ";")) (expression_statement "FUN_00207810();" (call_expression "FUN_00207810()" (identifier "FUN_00207810") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar1 = param_1;" (assignment_expression "ppuVar1 = param_1" (identifier "ppuVar1") (= "=") (identifier "param_1")) (; ";")) (expression_statement "ppuVar4 = param_6;" (assignment_expression "ppuVar4 = param_6" (identifier "ppuVar4") (= "=") (identifier "param_6")) (; ";")) (} "}"))) (} "}")))) (} "}"))) (expression_statement "ppuStack_40 = ppuVar1;" (assignment_expression "ppuStack_40 = ppuVar1" (identifier "ppuStack_40") (= "=") (identifier "ppuVar1")) (; ";")) (if_statement "if (param_3 == 1) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = local_30 + -0x40c92;\n    ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);\n    uVar12 = 0x403;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" (if "if") (parenthesized_expression "(param_3 == 1)" (( "(") (binary_expression "param_3 == 1" (identifier "param_3") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    ppuVar8 = (undefined **)0x0;\n    local_20 = local_30 + -0x40c92;\n    ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);\n    uVar12 = 0x403;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }" ({ "{") (expression_statement "ppuVar8 = (undefined **)0x0;" (assignment_expression "ppuVar8 = (undefined **)0x0" (identifier "ppuVar8") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_20 = local_30 + -0x40c92;" (assignment_expression "local_20 = local_30 + -0x40c92" (identifier "local_20") (= "=") (binary_expression "local_30 + -0x40c92" (identifier "local_30") (+ "+") (number_literal "-0x40c92"))) (; ";")) (expression_statement "ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);" (assignment_expression "ppuVar15 = (undefined **)((int)local_30 + -0x1168c5)" (identifier "ppuVar15") (= "=") (cast_expression "(undefined **)((int)local_30 + -0x1168c5)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_30 + -0x1168c5)" (( "(") (binary_expression "(int)local_30 + -0x1168c5" (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30")) (+ "+") (number_literal "-0x1168c5")) () ")")))) (; ";")) (expression_statement "uVar12 = 0x403;" (assignment_expression "uVar12 = 0x403" (identifier "uVar12") (= "=") (number_literal "0x403")) (; ";")) (expression_statement "ppuStack_4c = (undefined **)local_30[0x13a];" (assignment_expression "ppuStack_4c = (undefined **)local_30[0x13a]" (identifier "ppuStack_4c") (= "=") (cast_expression "(undefined **)local_30[0x13a]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_30[0x13a]" (identifier "local_30") ([ "[") (number_literal "0x13a") (] "]")))) (; ";")) (} "}")) (else_clause "else if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" (else "else") (if_statement "if (param_3 == 0) {\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }\n  else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" (if "if") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    ppuVar8 = (undefined **)0x0;\n    local_20 = (undefined **)((int)local_30 + -0x103262);\n    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);\n    uVar12 = 3;\n    ppuStack_4c = (undefined **)local_30[0x13a];\n  }" ({ "{") (expression_statement "ppuVar8 = (undefined **)0x0;" (assignment_expression "ppuVar8 = (undefined **)0x0" (identifier "ppuVar8") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_20 = (undefined **)((int)local_30 + -0x103262);" (assignment_expression "local_20 = (undefined **)((int)local_30 + -0x103262)" (identifier "local_20") (= "=") (cast_expression "(undefined **)((int)local_30 + -0x103262)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_30 + -0x103262)" (( "(") (binary_expression "(int)local_30 + -0x103262" (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30")) (+ "+") (number_literal "-0x103262")) () ")")))) (; ";")) (expression_statement "ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);" (assignment_expression "ppuVar15 = (undefined **)((int)local_30 + -0x11b23b)" (identifier "ppuVar15") (= "=") (cast_expression "(undefined **)((int)local_30 + -0x11b23b)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_30 + -0x11b23b)" (( "(") (binary_expression "(int)local_30 + -0x11b23b" (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30")) (+ "+") (number_literal "-0x11b23b")) () ")")))) (; ";")) (expression_statement "uVar12 = 3;" (assignment_expression "uVar12 = 3" (identifier "uVar12") (= "=") (number_literal "3")) (; ";")) (expression_statement "ppuStack_4c = (undefined **)local_30[0x13a];" (assignment_expression "ppuStack_4c = (undefined **)local_30[0x13a]" (identifier "ppuStack_4c") (= "=") (cast_expression "(undefined **)local_30[0x13a]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_30[0x13a]" (identifier "local_30") ([ "[") (number_literal "0x13a") (] "]")))) (; ";")) (} "}")) (else_clause "else if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" (else "else") (if_statement "if (param_3 == 2) {\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }\n  else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" (if "if") (parenthesized_expression "(param_3 == 2)" (( "(") (binary_expression "param_3 == 2" (identifier "param_3") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    ppuStack_40 = ppuVar5;\n    if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x44);\n    uVar12 = *(uint *)(iVar9 + 0x40) | 3;\n    local_20 = local_30 + -0x40c96;\n    ppuVar15 = local_30 + -0x45a2c;\n  }" ({ "{") (expression_statement "ppuStack_4c = (undefined **)local_30[0x13a];" (assignment_expression "ppuStack_4c = (undefined **)local_30[0x13a]" (identifier "ppuStack_4c") (= "=") (cast_expression "(undefined **)local_30[0x13a]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_30[0x13a]" (identifier "local_30") ([ "[") (number_literal "0x13a") (] "]")))) (; ";")) (if_statement "if (ppuStack_4c[3] == (undefined *)0x0) {\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }" (if "if") (parenthesized_expression "(ppuStack_4c[3] == (undefined *)0x0)" (( "(") (binary_expression "ppuStack_4c[3] == (undefined *)0x0" (subscript_expression "ppuStack_4c[3]" (identifier "ppuStack_4c") ([ "[") (number_literal "3") (] "]")) (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);\n      ppuStack_48 = (undefined **)0x69;\n      ppuStack_40 = ppuVar4;\n                    \n      FUN_000da200();\n    }" ({ "{") (labeled_statement "LAB_002084b3:\n      ppuStack_44 = local_30 + -0x40c6c;" (statement_identifier "LAB_002084b3") (: ":") (expression_statement "ppuStack_44 = local_30 + -0x40c6c;" (assignment_expression "ppuStack_44 = local_30 + -0x40c6c" (identifier "ppuStack_44") (= "=") (binary_expression "local_30 + -0x40c6c" (identifier "local_30") (+ "+") (number_literal "-0x40c6c"))) (; ";"))) (expression_statement "ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);" (assignment_expression "ppuStack_4c = (undefined **)((int)local_30 + -0x131d93)" (identifier "ppuStack_4c") (= "=") (cast_expression "(undefined **)((int)local_30 + -0x131d93)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_30 + -0x131d93)" (( "(") (binary_expression "(int)local_30 + -0x131d93" (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30")) (+ "+") (number_literal "-0x131d93")) () ")")))) (; ";")) (expression_statement "ppuStack_48 = (undefined **)0x69;" (assignment_expression "ppuStack_48 = (undefined **)0x69" (identifier "ppuStack_48") (= "=") (cast_expression "(undefined **)0x69" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x69"))) (; ";")) (expression_statement "ppuStack_40 = ppuVar4;" (assignment_expression "ppuStack_40 = ppuVar4" (identifier "ppuStack_40") (= "=") (identifier "ppuVar4")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar9 = *(int *)(ppuStack_4c[3] + 4);" (assignment_expression "iVar9 = *(int *)(ppuStack_4c[3] + 4)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(ppuStack_4c[3] + 4)" (* "*") (cast_expression "(int *)(ppuStack_4c[3] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuStack_4c[3] + 4)" (( "(") (binary_expression "ppuStack_4c[3] + 4" (subscript_expression "ppuStack_4c[3]" (identifier "ppuStack_4c") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "ppuStack_40 = ppuVar5;" (assignment_expression "ppuStack_40 = ppuVar5" (identifier "ppuStack_40") (= "=") (identifier "ppuVar5")) (; ";")) (if_statement "if (*(short *)(iVar9 + 0x3c) == 0) {\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }" (if "if") (parenthesized_expression "(*(short *)(iVar9 + 0x3c) == 0)" (( "(") (binary_expression "*(short *)(iVar9 + 0x3c) == 0" (pointer_expression "*(short *)(iVar9 + 0x3c)" (* "*") (cast_expression "(short *)(iVar9 + 0x3c)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x3c)" (( "(") (binary_expression "iVar9 + 0x3c" (identifier "iVar9") (+ "+") (number_literal "0x3c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0020850f:\n      ppuStack_4c = ppuVar6;\n      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;\n      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;\n      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;\n      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;\n                    \n      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;\n      FUN_000da200();\n    }" ({ "{") (labeled_statement "LAB_0020850f:\n      ppuStack_4c = ppuVar6;" (statement_identifier "LAB_0020850f") (: ":") (expression_statement "ppuStack_4c = ppuVar6;" (assignment_expression "ppuStack_4c = ppuVar6" (identifier "ppuStack_4c") (= "=") (identifier "ppuVar6")) (; ";"))) (expression_statement "*(undefined ***)((int)pppuVar13 + -4) = ppuVar15;" (assignment_expression "*(undefined ***)((int)pppuVar13 + -4) = ppuVar15" (pointer_expression "*(undefined ***)((int)pppuVar13 + -4)" (* "*") (cast_expression "(undefined ***)((int)pppuVar13 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)pppuVar13 + -4)" (( "(") (binary_expression "(int)pppuVar13 + -4" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "ppuVar15")) (; ";")) (expression_statement "*(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;" (assignment_expression "*(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4" (pointer_expression "*(int *)((int)pppuVar13 + -8)" (* "*") (cast_expression "(int *)((int)pppuVar13 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -8)" (( "(") (binary_expression "(int)pppuVar13 + -8" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "*(int *)((int)pppuVar13 + 0xc) + -0x1030b4" (pointer_expression "*(int *)((int)pppuVar13 + 0xc)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0xc)" (( "(") (binary_expression "(int)pppuVar13 + 0xc" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "-0x1030b4"))) (; ";")) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -0xc)" (( "(") (binary_expression "(int)pppuVar13 + -0xc" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "*(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;" (assignment_expression "*(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc" (pointer_expression "*(int *)((int)pppuVar13 + -0x10)" (* "*") (cast_expression "(int *)((int)pppuVar13 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x10)" (( "(") (binary_expression "(int)pppuVar13 + -0x10" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "*(int *)((int)pppuVar13 + 0xc) + -0x11d1cc" (pointer_expression "*(int *)((int)pppuVar13 + 0xc)" (* "*") (cast_expression "(int *)((int)pppuVar13 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + 0xc)" (( "(") (binary_expression "(int)pppuVar13 + 0xc" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "-0x11d1cc"))) (; ";")) (expression_statement "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;" (assignment_expression "*(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c" (pointer_expression "*(undefined4 *)((int)pppuVar13 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppuVar13 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppuVar13 + -0x14)" (( "(") (binary_expression "(int)pppuVar13 + -0x14" (cast_expression "(int)pppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppuVar13")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x20852c")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppuVar8 = *(undefined ***)(iVar9 + 0x44);" (assignment_expression "ppuVar8 = *(undefined ***)(iVar9 + 0x44)" (identifier "ppuVar8") (= "=") (pointer_expression "*(undefined ***)(iVar9 + 0x44)" (* "*") (cast_expression "(undefined ***)(iVar9 + 0x44)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar9 + 0x44)" (( "(") (binary_expression "iVar9 + 0x44" (identifier "iVar9") (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(uint *)(iVar9 + 0x40) | 3;" (assignment_expression "uVar12 = *(uint *)(iVar9 + 0x40) | 3" (identifier "uVar12") (= "=") (binary_expression "*(uint *)(iVar9 + 0x40) | 3" (pointer_expression "*(uint *)(iVar9 + 0x40)" (* "*") (cast_expression "(uint *)(iVar9 + 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x40)" (( "(") (binary_expression "iVar9 + 0x40" (identifier "iVar9") (+ "+") (number_literal "0x40")) () ")")))) (| "|") (number_literal "3"))) (; ";")) (expression_statement "local_20 = local_30 + -0x40c96;" (assignment_expression "local_20 = local_30 + -0x40c96" (identifier "local_20") (= "=") (binary_expression "local_30 + -0x40c96" (identifier "local_30") (+ "+") (number_literal "-0x40c96"))) (; ";")) (expression_statement "ppuVar15 = local_30 + -0x45a2c;" (assignment_expression "ppuVar15 = local_30 + -0x45a2c" (identifier "ppuVar15") (= "=") (binary_expression "local_30 + -0x45a2c" (identifier "local_30") (+ "+") (number_literal "-0x45a2c"))) (; ";")) (} "}")) (else_clause "else {\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" (else "else") (compound_statement "{\n    if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }\n    ppuStack_4c = (undefined **)local_30[0x13a];\n    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;\n    iVar9 = *(int *)(ppuStack_4c[3] + 4);\n    if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }\n    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);\n    uVar12 = *(uint *)(iVar9 + 0x48) | 3;\n    local_20 = (undefined **)((int)local_30 + -0x103272);\n    ppuVar15 = local_30 + -0x45a1c;\n  }" ({ "{") (if_statement "if (param_3 != 3) {\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }" (if "if") (parenthesized_expression "(param_3 != 3)" (( "(") (binary_expression "param_3 != 3" (identifier "param_3") (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n      ppuStack_44 = local_30 + -0x40c1e;\n      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);\n      ppuStack_48 = (undefined **)0x11b;\n                    \n      FUN_000da200();\n    }" ({ "{") (expression_statement "ppuStack_44 = local_30 + -0x40c1e;" (assignment_expression "ppuStack_44 = local_30 + -0x40c1e" (identifier "ppuStack_44") (= "=") (binary_expression "local_30 + -0x40c1e" (identifier "local_30") (+ "+") (number_literal "-0x40c1e"))) (; ";")) (expression_statement "ppuStack_4c = (undefined **)((int)local_30 + -0x103287);" (assignment_expression "ppuStack_4c = (undefined **)((int)local_30 + -0x103287)" (identifier "ppuStack_4c") (= "=") (cast_expression "(undefined **)((int)local_30 + -0x103287)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_30 + -0x103287)" (( "(") (binary_expression "(int)local_30 + -0x103287" (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30")) (+ "+") (number_literal "-0x103287")) () ")")))) (; ";")) (expression_statement "ppuStack_48 = (undefined **)0x11b;" (assignment_expression "ppuStack_48 = (undefined **)0x11b" (identifier "ppuStack_48") (= "=") (cast_expression "(undefined **)0x11b" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x11b"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppuStack_4c = (undefined **)local_30[0x13a];" (assignment_expression "ppuStack_4c = (undefined **)local_30[0x13a]" (identifier "ppuStack_4c") (= "=") (cast_expression "(undefined **)local_30[0x13a]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_30[0x13a]" (identifier "local_30") ([ "[") (number_literal "0x13a") (] "]")))) (; ";")) (if_statement "if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;" (if "if") (parenthesized_expression "(ppuStack_4c[3] == (undefined *)0x0)" (( "(") (binary_expression "ppuStack_4c[3] == (undefined *)0x0" (subscript_expression "ppuStack_4c[3]" (identifier "ppuStack_4c") ([ "[") (number_literal "3") (] "]")) (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002084b3;" (goto "goto") (statement_identifier "LAB_002084b3") (; ";"))) (expression_statement "iVar9 = *(int *)(ppuStack_4c[3] + 4);" (assignment_expression "iVar9 = *(int *)(ppuStack_4c[3] + 4)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(ppuStack_4c[3] + 4)" (* "*") (cast_expression "(int *)(ppuStack_4c[3] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuStack_4c[3] + 4)" (( "(") (binary_expression "ppuStack_4c[3] + 4" (subscript_expression "ppuStack_4c[3]" (identifier "ppuStack_4c") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (*(short *)(iVar9 + 0x3e) == 0) {\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }" (if "if") (parenthesized_expression "(*(short *)(iVar9 + 0x3e) == 0)" (( "(") (binary_expression "*(short *)(iVar9 + 0x3e) == 0" (pointer_expression "*(short *)(iVar9 + 0x3e)" (* "*") (cast_expression "(short *)(iVar9 + 0x3e)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x3e)" (( "(") (binary_expression "iVar9 + 0x3e" (identifier "iVar9") (+ "+") (number_literal "0x3e")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      ppuStack_44 = local_30 + -0x40c34;\n      ppuStack_4c = local_30 + -0x47473;\n      ppuStack_48 = (undefined **)0xd5;\n      ppuStack_40 = ppuVar8;\n                    \n      FUN_000da200();\n    }" ({ "{") (expression_statement "ppuStack_44 = local_30 + -0x40c34;" (assignment_expression "ppuStack_44 = local_30 + -0x40c34" (identifier "ppuStack_44") (= "=") (binary_expression "local_30 + -0x40c34" (identifier "local_30") (+ "+") (number_literal "-0x40c34"))) (; ";")) (expression_statement "ppuStack_4c = local_30 + -0x47473;" (assignment_expression "ppuStack_4c = local_30 + -0x47473" (identifier "ppuStack_4c") (= "=") (binary_expression "local_30 + -0x47473" (identifier "local_30") (+ "+") (number_literal "-0x47473"))) (; ";")) (expression_statement "ppuStack_48 = (undefined **)0xd5;" (assignment_expression "ppuStack_48 = (undefined **)0xd5" (identifier "ppuStack_48") (= "=") (cast_expression "(undefined **)0xd5" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0xd5"))) (; ";")) (expression_statement "ppuStack_40 = ppuVar8;" (assignment_expression "ppuStack_40 = ppuVar8" (identifier "ppuStack_40") (= "=") (identifier "ppuVar8")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppuVar8 = *(undefined ***)(iVar9 + 0x4c);" (assignment_expression "ppuVar8 = *(undefined ***)(iVar9 + 0x4c)" (identifier "ppuVar8") (= "=") (pointer_expression "*(undefined ***)(iVar9 + 0x4c)" (* "*") (cast_expression "(undefined ***)(iVar9 + 0x4c)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(iVar9 + 0x4c)" (( "(") (binary_expression "iVar9 + 0x4c" (identifier "iVar9") (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "uVar12 = *(uint *)(iVar9 + 0x48) | 3;" (assignment_expression "uVar12 = *(uint *)(iVar9 + 0x48) | 3" (identifier "uVar12") (= "=") (binary_expression "*(uint *)(iVar9 + 0x48) | 3" (pointer_expression "*(uint *)(iVar9 + 0x48)" (* "*") (cast_expression "(uint *)(iVar9 + 0x48)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x48)" (( "(") (binary_expression "iVar9 + 0x48" (identifier "iVar9") (+ "+") (number_literal "0x48")) () ")")))) (| "|") (number_literal "3"))) (; ";")) (expression_statement "local_20 = (undefined **)((int)local_30 + -0x103272);" (assignment_expression "local_20 = (undefined **)((int)local_30 + -0x103272)" (identifier "local_20") (= "=") (cast_expression "(undefined **)((int)local_30 + -0x103272)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)local_30 + -0x103272)" (( "(") (binary_expression "(int)local_30 + -0x103272" (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30")) (+ "+") (number_literal "-0x103272")) () ")")))) (; ";")) (expression_statement "ppuVar15 = local_30 + -0x45a1c;" (assignment_expression "ppuVar15 = local_30 + -0x45a1c" (identifier "ppuVar15") (= "=") (binary_expression "local_30 + -0x45a1c" (identifier "local_30") (+ "+") (number_literal "-0x45a1c"))) (; ";")) (} "}")))))))) (expression_statement "ppuStack_40 = ppuVar5;" (assignment_expression "ppuStack_40 = ppuVar5" (identifier "ppuStack_40") (= "=") (identifier "ppuVar5")) (; ";")) (expression_statement "cVar7 = FUN_001a5190();" (assignment_expression "cVar7 = FUN_001a5190()" (identifier "cVar7") (= "=") (call_expression "FUN_001a5190()" (identifier "FUN_001a5190") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar7 == '\0') {\n    ppuStack_4c = (undefined **)0x30;\n    ppuStack_48 = (undefined **)FUN_00246670();\n    ppuStack_48[1] = (undefined *)0x0;\n    ppuStack_48[2] = (undefined *)0x0;\n    ppuStack_48[3] = (undefined *)0x0;\n    ppuStack_48[4] = (undefined *)0x0;\n    ppuStack_48[5] = (undefined *)0xffffffff;\n    ppuStack_48[6] = (undefined *)0xffffffff;\n    *(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;\n    ppuStack_48[8] = (undefined *)0x0;\n    ppuStack_48[9] = (undefined *)local_2c;\n    ppuStack_48[10] = (undefined *)local_24;\n    *ppuStack_48 = (undefined *)(local_30 + -0x18f5);\n    ppuStack_48[0xb] = (undefined *)local_20;\n    ppuStack_40 = (undefined **)0x0;\n    ppuStack_44 = (undefined **)0x0;\n    ppuStack_4c = ppuVar8;\n    local_28 = ppuStack_48;\n    local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);\n  }\n  else {\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }" (if "if") (parenthesized_expression "(cVar7 == '\0')" (( "(") (binary_expression "cVar7 == '\0'" (identifier "cVar7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    ppuStack_4c = (undefined **)0x30;\n    ppuStack_48 = (undefined **)FUN_00246670();\n    ppuStack_48[1] = (undefined *)0x0;\n    ppuStack_48[2] = (undefined *)0x0;\n    ppuStack_48[3] = (undefined *)0x0;\n    ppuStack_48[4] = (undefined *)0x0;\n    ppuStack_48[5] = (undefined *)0xffffffff;\n    ppuStack_48[6] = (undefined *)0xffffffff;\n    *(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;\n    ppuStack_48[8] = (undefined *)0x0;\n    ppuStack_48[9] = (undefined *)local_2c;\n    ppuStack_48[10] = (undefined *)local_24;\n    *ppuStack_48 = (undefined *)(local_30 + -0x18f5);\n    ppuStack_48[0xb] = (undefined *)local_20;\n    ppuStack_40 = (undefined **)0x0;\n    ppuStack_44 = (undefined **)0x0;\n    ppuStack_4c = ppuVar8;\n    local_28 = ppuStack_48;\n    local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);\n  }" ({ "{") (expression_statement "ppuStack_4c = (undefined **)0x30;" (assignment_expression "ppuStack_4c = (undefined **)0x30" (identifier "ppuStack_4c") (= "=") (cast_expression "(undefined **)0x30" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x30"))) (; ";")) (expression_statement "ppuStack_48 = (undefined **)FUN_00246670();" (assignment_expression "ppuStack_48 = (undefined **)FUN_00246670()" (identifier "ppuStack_48") (= "=") (cast_expression "(undefined **)FUN_00246670()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "FUN_00246670()" (identifier "FUN_00246670") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "ppuStack_48[1] = (undefined *)0x0;" (assignment_expression "ppuStack_48[1] = (undefined *)0x0" (subscript_expression "ppuStack_48[1]" (identifier "ppuStack_48") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppuStack_48[2] = (undefined *)0x0;" (assignment_expression "ppuStack_48[2] = (undefined *)0x0" (subscript_expression "ppuStack_48[2]" (identifier "ppuStack_48") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppuStack_48[3] = (undefined *)0x0;" (assignment_expression "ppuStack_48[3] = (undefined *)0x0" (subscript_expression "ppuStack_48[3]" (identifier "ppuStack_48") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppuStack_48[4] = (undefined *)0x0;" (assignment_expression "ppuStack_48[4] = (undefined *)0x0" (subscript_expression "ppuStack_48[4]" (identifier "ppuStack_48") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppuStack_48[5] = (undefined *)0xffffffff;" (assignment_expression "ppuStack_48[5] = (undefined *)0xffffffff" (subscript_expression "ppuStack_48[5]" (identifier "ppuStack_48") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "ppuStack_48[6] = (undefined *)0xffffffff;" (assignment_expression "ppuStack_48[6] = (undefined *)0xffffffff" (subscript_expression "ppuStack_48[6]" (identifier "ppuStack_48") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "*(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;" (assignment_expression "*(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0" (pointer_expression "*(byte *)(ppuStack_48 + 7)" (* "*") (cast_expression "(byte *)(ppuStack_48 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuStack_48 + 7)" (( "(") (binary_expression "ppuStack_48 + 7" (identifier "ppuStack_48") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(ppuStack_48 + 7) & 0xe0" (pointer_expression "*(byte *)(ppuStack_48 + 7)" (* "*") (cast_expression "(byte *)(ppuStack_48 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuStack_48 + 7)" (( "(") (binary_expression "ppuStack_48 + 7" (identifier "ppuStack_48") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "ppuStack_48[8] = (undefined *)0x0;" (assignment_expression "ppuStack_48[8] = (undefined *)0x0" (subscript_expression "ppuStack_48[8]" (identifier "ppuStack_48") ([ "[") (number_literal "8") (] "]")) (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppuStack_48[9] = (undefined *)local_2c;" (assignment_expression "ppuStack_48[9] = (undefined *)local_2c" (subscript_expression "ppuStack_48[9]" (identifier "ppuStack_48") ([ "[") (number_literal "9") (] "]")) (= "=") (cast_expression "(undefined *)local_2c" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_2c"))) (; ";")) (expression_statement "ppuStack_48[10] = (undefined *)local_24;" (assignment_expression "ppuStack_48[10] = (undefined *)local_24" (subscript_expression "ppuStack_48[10]" (identifier "ppuStack_48") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(undefined *)local_24" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_24"))) (; ";")) (expression_statement "*ppuStack_48 = (undefined *)(local_30 + -0x18f5);" (assignment_expression "*ppuStack_48 = (undefined *)(local_30 + -0x18f5)" (pointer_expression "*ppuStack_48" (* "*") (identifier "ppuStack_48")) (= "=") (cast_expression "(undefined *)(local_30 + -0x18f5)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_30 + -0x18f5)" (( "(") (binary_expression "local_30 + -0x18f5" (identifier "local_30") (+ "+") (number_literal "-0x18f5")) () ")")))) (; ";")) (expression_statement "ppuStack_48[0xb] = (undefined *)local_20;" (assignment_expression "ppuStack_48[0xb] = (undefined *)local_20" (subscript_expression "ppuStack_48[0xb]" (identifier "ppuStack_48") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(undefined *)local_20" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_20"))) (; ";")) (expression_statement "ppuStack_40 = (undefined **)0x0;" (assignment_expression "ppuStack_40 = (undefined **)0x0" (identifier "ppuStack_40") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppuStack_44 = (undefined **)0x0;" (assignment_expression "ppuStack_44 = (undefined **)0x0" (identifier "ppuStack_44") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppuStack_4c = ppuVar8;" (assignment_expression "ppuStack_4c = ppuVar8" (identifier "ppuStack_4c") (= "=") (identifier "ppuVar8")) (; ";")) (expression_statement "local_28 = ppuStack_48;" (assignment_expression "local_28 = ppuStack_48" (identifier "local_28") (= "=") (identifier "ppuStack_48")) (; ";")) (expression_statement "local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);" (assignment_expression "local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12)" (identifier "local_20") (= "=") (cast_expression "(undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "FUN_00111290(param_2,ppuVar15,8,uVar12)" (identifier "FUN_00111290") (argument_list "(param_2,ppuVar15,8,uVar12)" (( "(") (identifier "param_2") (, ",") (identifier "ppuVar15") (, ",") (number_literal "8") (, ",") (identifier "uVar12") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }" (else "else") (compound_statement "{\n    ppuStack_4c = param_2;\n    ppuStack_48 = ppuVar15;\n    local_20 = (undefined **)FUN_001079e0();\n    local_28 = (undefined **)0x0;\n  }" ({ "{") (expression_statement "ppuStack_4c = param_2;" (assignment_expression "ppuStack_4c = param_2" (identifier "ppuStack_4c") (= "=") (identifier "param_2")) (; ";")) (expression_statement "ppuStack_48 = ppuVar15;" (assignment_expression "ppuStack_48 = ppuVar15" (identifier "ppuStack_48") (= "=") (identifier "ppuVar15")) (; ";")) (expression_statement "local_20 = (undefined **)FUN_001079e0();" (assignment_expression "local_20 = (undefined **)FUN_001079e0()" (identifier "local_20") (= "=") (cast_expression "(undefined **)FUN_001079e0()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "FUN_001079e0()" (identifier "FUN_001079e0") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "local_28 = (undefined **)0x0;" (assignment_expression "local_28 = (undefined **)0x0" (identifier "local_28") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (if_statement "if (local_20 != (undefined **)0x0) {\n    if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }\n  }" (if "if") (parenthesized_expression "(local_20 != (undefined **)0x0)" (( "(") (binary_expression "local_20 != (undefined **)0x0" (identifier "local_20") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }\n  }" ({ "{") (if_statement "if (param_3 == 2) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }\n    else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }" (if "if") (parenthesized_expression "(param_3 == 2)" (( "(") (binary_expression "param_3 == 2" (identifier "param_3") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;\n    }" ({ "{") (expression_statement "*(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;" (assignment_expression "*(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40" (pointer_expression "*(byte *)((int)local_20 + 0x91)" (* "*") (cast_expression "(byte *)((int)local_20 + 0x91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_20 + 0x91)" (( "(") (binary_expression "(int)local_20 + 0x91" (cast_expression "(int)local_20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_20")) (+ "+") (number_literal "0x91")) () ")")))) (= "=") (binary_expression "*(byte *)((int)local_20 + 0x91) | 0x40" (pointer_expression "*(byte *)((int)local_20 + 0x91)" (* "*") (cast_expression "(byte *)((int)local_20 + 0x91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_20 + 0x91)" (( "(") (binary_expression "(int)local_20 + 0x91" (cast_expression "(int)local_20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_20")) (+ "+") (number_literal "0x91")) () ")")))) (| "|") (number_literal "0x40"))) (; ";")) (} "}")) (else_clause "else if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }" (else "else") (if_statement "if (param_3 == 3) {\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }" (if "if") (parenthesized_expression "(param_3 == 3)" (( "(") (binary_expression "param_3 == 3" (identifier "param_3") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;\n    }" ({ "{") (expression_statement "*(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;" (assignment_expression "*(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80" (pointer_expression "*(byte *)((int)local_20 + 0x91)" (* "*") (cast_expression "(byte *)((int)local_20 + 0x91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_20 + 0x91)" (( "(") (binary_expression "(int)local_20 + 0x91" (cast_expression "(int)local_20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_20")) (+ "+") (number_literal "0x91")) () ")")))) (= "=") (binary_expression "*(byte *)((int)local_20 + 0x91) | 0x80" (pointer_expression "*(byte *)((int)local_20 + 0x91)" (* "*") (cast_expression "(byte *)((int)local_20 + 0x91)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_20 + 0x91)" (( "(") (binary_expression "(int)local_20 + 0x91" (cast_expression "(int)local_20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_20")) (+ "+") (number_literal "0x91")) () ")")))) (| "|") (number_literal "0x80"))) (; ";")) (} "}"))))) (} "}"))) (expression_statement "puVar14 = (undefined4 *)*param_4;" (assignment_expression "puVar14 = (undefined4 *)*param_4" (identifier "puVar14") (= "=") (cast_expression "(undefined4 *)*param_4" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4")))) (; ";")) (expression_statement "puVar10 = (undefined4 *)param_4[1];" (assignment_expression "puVar10 = (undefined4 *)param_4[1]" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)param_4[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if ((puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)) {\n    lVar16 = 0;\n    puVar11 = puVar10;\n  }\n  else {\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }" (if "if") (parenthesized_expression "((puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0))" (( "(") (binary_expression "(puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)" (parenthesized_expression "(puVar14 == puVar10)" (( "(") (binary_expression "puVar14 == puVar10" (identifier "puVar14") (== "==") (identifier "puVar10")) () ")")) (|| "||") (parenthesized_expression "(ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)" (( "(") (comma_expression "ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0" (assignment_expression "ppuVar15 = (undefined **)*puVar14" (identifier "ppuVar15") (= "=") (cast_expression "(undefined **)*puVar14" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")))) (, ",") (binary_expression "ppuVar15 == (undefined **)0x0" (identifier "ppuVar15") (== "==") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n    lVar16 = 0;\n    puVar11 = puVar10;\n  }" ({ "{") (expression_statement "lVar16 = 0;" (assignment_expression "lVar16 = 0" (identifier "lVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar11 = puVar10;" (assignment_expression "puVar11 = puVar10" (identifier "puVar11") (= "=") (identifier "puVar10")) (; ";")) (} "}")) (else_clause "else {\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }" (else "else") (compound_statement "{\n    lVar16 = 0;\n    do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));\n  }" ({ "{") (expression_statement "lVar16 = 0;" (assignment_expression "lVar16 = 0" (identifier "lVar16") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    } while ((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));" (do "do") (compound_statement "{\n      puVar14 = puVar14 + 1;\n      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }\nLAB_00208270:\n      puVar11 = puVar14;\n    }" ({ "{") (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" (identifier "puVar14") (= "=") (binary_expression "puVar14 + 1" (identifier "puVar14") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }" (if "if") (parenthesized_expression "(((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0))" (( "(") (binary_expression "((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&\n         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)" (parenthesized_expression "((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)ppuVar15 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)ppuVar15 + 0x2a) & 7" (pointer_expression "*(byte *)((int)ppuVar15 + 0x2a)" (* "*") (cast_expression "(byte *)((int)ppuVar15 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar15 + 0x2a)" (( "(") (binary_expression "(int)ppuVar15 + 0x2a" (cast_expression "(int)ppuVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar15")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)ppuVar15 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)((int)ppuVar15 + 0x2b) & 0x20" (pointer_expression "*(byte *)((int)ppuVar15 + 0x2b)" (* "*") (cast_expression "(byte *)((int)ppuVar15 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppuVar15 + 0x2b)" (( "(") (binary_expression "(int)ppuVar15 + 0x2b" (cast_expression "(int)ppuVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppuVar15")) (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        ppuStack_4c = (undefined **)ppuVar15[3];\n        local_2c = ppuVar15;\n        cVar7 = FUN_001e6ac0();\n        if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }\n        puVar10 = (undefined4 *)param_4[1];\n      }" ({ "{") (expression_statement "ppuStack_4c = (undefined **)ppuVar15[3];" (assignment_expression "ppuStack_4c = (undefined **)ppuVar15[3]" (identifier "ppuStack_4c") (= "=") (cast_expression "(undefined **)ppuVar15[3]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "ppuVar15[3]" (identifier "ppuVar15") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "local_2c = ppuVar15;" (assignment_expression "local_2c = ppuVar15" (identifier "local_2c") (= "=") (identifier "ppuVar15")) (; ";")) (expression_statement "cVar7 = FUN_001e6ac0();" (assignment_expression "cVar7 = FUN_001e6ac0()" (identifier "cVar7") (= "=") (call_expression "FUN_001e6ac0()" (identifier "FUN_001e6ac0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar7 != '\0') {\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }" (if "if") (parenthesized_expression "(cVar7 != '\0')" (( "(") (binary_expression "cVar7 != '\0'" (identifier "cVar7") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          local_24 = local_2c;\n          ppuStack_40 = (undefined **)0x20831b;\n          local_2c = (undefined **)FUN_00207550();\n          if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }\n          puVar2 = local_2c[0xc];\n          if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }\n          ppuStack_4c = (undefined **)0x0;\n          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);\n          ppuVar15 = local_30;\n          if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }\n          ppuStack_48 = local_20;\n          ppuStack_4c = local_2c;\n          ppuStack_44 = (undefined **)lVar16;\n          FUN_001ea5f0();\n        }" ({ "{") (expression_statement "local_24 = local_2c;" (assignment_expression "local_24 = local_2c" (identifier "local_24") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "ppuStack_40 = (undefined **)0x20831b;" (assignment_expression "ppuStack_40 = (undefined **)0x20831b" (identifier "ppuStack_40") (= "=") (cast_expression "(undefined **)0x20831b" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x20831b"))) (; ";")) (expression_statement "local_2c = (undefined **)FUN_00207550();" (assignment_expression "local_2c = (undefined **)FUN_00207550()" (identifier "local_2c") (= "=") (cast_expression "(undefined **)FUN_00207550()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "FUN_00207550()" (identifier "FUN_00207550") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (param_5 != (undefined **)0x0) {\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }" (if "if") (parenthesized_expression "(param_5 != (undefined **)0x0)" (( "(") (binary_expression "param_5 != (undefined **)0x0" (identifier "param_5") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            ppuStack_44 = (undefined **)local_2c[0xd];\n            ppuStack_40 = (undefined **)0x0;\n            ppuStack_48 = local_24;\n            ppuStack_4c = param_5;\n            FUN_001207b0();\n          }" ({ "{") (expression_statement "ppuStack_44 = (undefined **)local_2c[0xd];" (assignment_expression "ppuStack_44 = (undefined **)local_2c[0xd]" (identifier "ppuStack_44") (= "=") (cast_expression "(undefined **)local_2c[0xd]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_2c[0xd]" (identifier "local_2c") ([ "[") (number_literal "0xd") (] "]")))) (; ";")) (expression_statement "ppuStack_40 = (undefined **)0x0;" (assignment_expression "ppuStack_40 = (undefined **)0x0" (identifier "ppuStack_40") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppuStack_48 = local_24;" (assignment_expression "ppuStack_48 = local_24" (identifier "ppuStack_48") (= "=") (identifier "local_24")) (; ";")) (expression_statement "ppuStack_4c = param_5;" (assignment_expression "ppuStack_4c = param_5" (identifier "ppuStack_4c") (= "=") (identifier "param_5")) (; ";")) (expression_statement "FUN_001207b0();" (call_expression "FUN_001207b0()" (identifier "FUN_001207b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar2 = local_2c[0xc];" (assignment_expression "puVar2 = local_2c[0xc]" (identifier "puVar2") (= "=") (subscript_expression "local_2c[0xc]" (identifier "local_2c") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (if_statement "if (local_28 != (undefined **)0x0) {\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }" (if "if") (parenthesized_expression "(local_28 != (undefined **)0x0)" (( "(") (binary_expression "local_28 != (undefined **)0x0" (identifier "local_28") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }\n            ppuStack_44 = (undefined **)lVar16;\n            ppuStack_48 = local_28;\n            ppuStack_4c = local_2c;\n            FUN_001ea5f0();\n            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);\n            puVar10 = (undefined4 *)param_4[1];\n            goto LAB_00208270;\n          }" ({ "{") (if_statement "if (puVar2 != (undefined *)0x0) {\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }" (if "if") (parenthesized_expression "(puVar2 != (undefined *)0x0)" (( "(") (binary_expression "puVar2 != (undefined *)0x0" (identifier "puVar2") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              lVar16 = lVar16 + -1 + ZEXT48(puVar2);\n              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);\n            }" ({ "{") (expression_statement "lVar16 = lVar16 + -1 + ZEXT48(puVar2);" (assignment_expression "lVar16 = lVar16 + -1 + ZEXT48(puVar2)" (identifier "lVar16") (= "=") (binary_expression "lVar16 + -1 + ZEXT48(puVar2)" (binary_expression "lVar16 + -1" (identifier "lVar16") (+ "+") (number_literal "-1")) (+ "+") (call_expression "ZEXT48(puVar2)" (identifier "ZEXT48") (argument_list "(puVar2)" (( "(") (identifier "puVar2") () ")"))))) (; ";")) (expression_statement "lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);" (assignment_expression "lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2)" (identifier "lVar16") (= "=") (call_expression "CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2)" (identifier "CONCAT44") (argument_list "((uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2)" (( "(") (binary_expression "(uint)((ulonglong)lVar16 >> 0x20) &\n                                -(uint)(puVar2 != (undefined *)0x0)" (call_expression "(uint)((ulonglong)lVar16 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar16 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar16 >> 0x20" (cast_expression "(ulonglong)lVar16" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar16")) (>> ">>") (number_literal "0x20")) () ")"))) (& "&") (unary_expression "-(uint)(puVar2 != (undefined *)0x0)" (- "-") (call_expression "(uint)(puVar2 != (undefined *)0x0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar2 != (undefined *)0x0)" (( "(") (binary_expression "puVar2 != (undefined *)0x0" (identifier "puVar2") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))))) (, ",") (binary_expression "(uint)lVar16 & -(int)puVar2" (cast_expression "(uint)lVar16" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar16")) (& "&") (unary_expression "-(int)puVar2" (- "-") (cast_expression "(int)puVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar2")))) () ")")))) (; ";")) (} "}"))) (expression_statement "ppuStack_44 = (undefined **)lVar16;" (assignment_expression "ppuStack_44 = (undefined **)lVar16" (identifier "ppuStack_44") (= "=") (cast_expression "(undefined **)lVar16" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "lVar16"))) (; ";")) (expression_statement "ppuStack_48 = local_28;" (assignment_expression "ppuStack_48 = local_28" (identifier "ppuStack_48") (= "=") (identifier "local_28")) (; ";")) (expression_statement "ppuStack_4c = local_2c;" (assignment_expression "ppuStack_4c = local_2c" (identifier "ppuStack_4c") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "FUN_001ea5f0();" (call_expression "FUN_001ea5f0()" (identifier "FUN_001ea5f0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "lVar16 = lVar16 + ZEXT48(local_2c[0xd]);" (assignment_expression "lVar16 = lVar16 + ZEXT48(local_2c[0xd])" (identifier "lVar16") (= "=") (binary_expression "lVar16 + ZEXT48(local_2c[0xd])" (identifier "lVar16") (+ "+") (call_expression "ZEXT48(local_2c[0xd])" (identifier "ZEXT48") (argument_list "(local_2c[0xd])" (( "(") (subscript_expression "local_2c[0xd]" (identifier "local_2c") ([ "[") (number_literal "0xd") (] "]")) () ")"))))) (; ";")) (expression_statement "puVar10 = (undefined4 *)param_4[1];" (assignment_expression "puVar10 = (undefined4 *)param_4[1]" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)param_4[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")))) (; ";")) (goto_statement "goto LAB_00208270;" (goto "goto") (statement_identifier "LAB_00208270") (; ";")) (} "}"))) (expression_statement "ppuStack_4c = (undefined **)0x0;" (assignment_expression "ppuStack_4c = (undefined **)0x0" (identifier "ppuStack_4c") (= "=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);" (assignment_expression "lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2)" (identifier "lVar16") (= "=") (call_expression "FUN_0015e340(local_20,local_2c[0xd],0,puVar2)" (identifier "FUN_0015e340") (argument_list "(local_20,local_2c[0xd],0,puVar2)" (( "(") (identifier "local_20") (, ",") (subscript_expression "local_2c[0xd]" (identifier "local_2c") ([ "[") (number_literal "0xd") (] "]")) (, ",") (number_literal "0") (, ",") (identifier "puVar2") () ")")))) (; ";")) (expression_statement "ppuVar15 = local_30;" (assignment_expression "ppuVar15 = local_30" (identifier "ppuVar15") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (lVar16 == -1) {\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }" (if "if") (parenthesized_expression "(lVar16 == -1)" (( "(") (binary_expression "lVar16 == -1" (identifier "lVar16") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n            ppuVar8 = (undefined **)local_20[8];\n            ppuStack_4c = local_30 + -0x43ac7;\n            ppuStack_4c = (undefined **)gettext();\n            pppuVar13 = &ppuStack_4c;\n            ppuStack_48 = ppuVar8;\n            FUN_000d1300();\n            ppuVar6 = ppuStack_4c;\n            goto LAB_0020850f;\n          }" ({ "{") (expression_statement "ppuVar8 = (undefined **)local_20[8];" (assignment_expression "ppuVar8 = (undefined **)local_20[8]" (identifier "ppuVar8") (= "=") (cast_expression "(undefined **)local_20[8]" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "local_20[8]" (identifier "local_20") ([ "[") (number_literal "8") (] "]")))) (; ";")) (expression_statement "ppuStack_4c = local_30 + -0x43ac7;" (assignment_expression "ppuStack_4c = local_30 + -0x43ac7" (identifier "ppuStack_4c") (= "=") (binary_expression "local_30 + -0x43ac7" (identifier "local_30") (+ "+") (number_literal "-0x43ac7"))) (; ";")) (expression_statement "ppuStack_4c = (undefined **)gettext();" (assignment_expression "ppuStack_4c = (undefined **)gettext()" (identifier "ppuStack_4c") (= "=") (cast_expression "(undefined **)gettext()" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pppuVar13 = &ppuStack_4c;" (assignment_expression "pppuVar13 = &ppuStack_4c" (identifier "pppuVar13") (= "=") (pointer_expression "&ppuStack_4c" (& "&") (identifier "ppuStack_4c"))) (; ";")) (expression_statement "ppuStack_48 = ppuVar8;" (assignment_expression "ppuStack_48 = ppuVar8" (identifier "ppuStack_48") (= "=") (identifier "ppuVar8")) (; ";")) (expression_statement "FUN_000d1300();" (call_expression "FUN_000d1300()" (identifier "FUN_000d1300") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar6 = ppuStack_4c;" (assignment_expression "ppuVar6 = ppuStack_4c" (identifier "ppuVar6") (= "=") (identifier "ppuStack_4c")) (; ";")) (goto_statement "goto LAB_0020850f;" (goto "goto") (statement_identifier "LAB_0020850f") (; ";")) (} "}"))) (expression_statement "ppuStack_48 = local_20;" (assignment_expression "ppuStack_48 = local_20" (identifier "ppuStack_48") (= "=") (identifier "local_20")) (; ";")) (expression_statement "ppuStack_4c = local_2c;" (assignment_expression "ppuStack_4c = local_2c" (identifier "ppuStack_4c") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "ppuStack_44 = (undefined **)lVar16;" (assignment_expression "ppuStack_44 = (undefined **)lVar16" (identifier "ppuStack_44") (= "=") (cast_expression "(undefined **)lVar16" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "lVar16"))) (; ";")) (expression_statement "FUN_001ea5f0();" (call_expression "FUN_001ea5f0()" (identifier "FUN_001ea5f0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar10 = (undefined4 *)param_4[1];" (assignment_expression "puVar10 = (undefined4 *)param_4[1]" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)param_4[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}"))) (labeled_statement "LAB_00208270:\n      puVar11 = puVar14;" (statement_identifier "LAB_00208270") (: ":") (expression_statement "puVar11 = puVar14;" (assignment_expression "puVar11 = puVar14" (identifier "puVar11") (= "=") (identifier "puVar14")) (; ";"))) (} "}")) (while "while") (parenthesized_expression "((puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0))" (( "(") (binary_expression "(puVar10 != puVar14) &&\n            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0)" (parenthesized_expression "(puVar10 != puVar14)" (( "(") (binary_expression "puVar10 != puVar14" (identifier "puVar10") (!= "!=") (identifier "puVar14")) () ")")) (&& "&&") (parenthesized_expression "(ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0)" (( "(") (comma_expression "ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0" (assignment_expression "ppuVar15 = (undefined **)*puVar14" (identifier "ppuVar15") (= "=") (cast_expression "(undefined **)*puVar14" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*puVar14" (* "*") (identifier "puVar14")))) (, ",") (comma_expression "puVar11 = puVar10, ppuVar15 != (undefined **)0x0" (assignment_expression "puVar11 = puVar10" (identifier "puVar11") (= "=") (identifier "puVar10")) (, ",") (binary_expression "ppuVar15 != (undefined **)0x0" (identifier "ppuVar15") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))))) () ")"))) () ")")) (; ";")) (} "}")))) (if_statement "if (local_28 != (undefined **)0x0) {\n    if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    \n      FUN_000da200();\n    }\n    *(longlong *)(local_28 + 3) = lVar16;\n  }" (if "if") (parenthesized_expression "(local_28 != (undefined **)0x0)" (( "(") (binary_expression "local_28 != (undefined **)0x0" (identifier "local_28") (!= "!=") (cast_expression "(undefined **)0x0" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    \n      FUN_000da200();\n    }\n    *(longlong *)(local_28 + 3) = lVar16;\n  }" ({ "{") (if_statement "if (((uint)local_28[7] & 2) != 0) {\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    \n      FUN_000da200();\n    }" (if "if") (parenthesized_expression "(((uint)local_28[7] & 2) != 0)" (( "(") (binary_expression "((uint)local_28[7] & 2) != 0" (parenthesized_expression "((uint)local_28[7] & 2)" (( "(") (binary_expression "(uint)local_28[7] & 2" (cast_expression "(uint)local_28[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_28[7]" (identifier "local_28") ([ "[") (number_literal "7") (] "]"))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      ppuStack_40 = local_28;\n      ppuStack_44 = local_30 + -0x40c68;\n      ppuStack_4c = local_30 + -0x47469;\n      ppuStack_48 = (undefined **)0x231;\n                    \n      FUN_000da200();\n    }" ({ "{") (expression_statement "ppuStack_40 = local_28;" (assignment_expression "ppuStack_40 = local_28" (identifier "ppuStack_40") (= "=") (identifier "local_28")) (; ";")) (expression_statement "ppuStack_44 = local_30 + -0x40c68;" (assignment_expression "ppuStack_44 = local_30 + -0x40c68" (identifier "ppuStack_44") (= "=") (binary_expression "local_30 + -0x40c68" (identifier "local_30") (+ "+") (number_literal "-0x40c68"))) (; ";")) (expression_statement "ppuStack_4c = local_30 + -0x47469;" (assignment_expression "ppuStack_4c = local_30 + -0x47469" (identifier "ppuStack_4c") (= "=") (binary_expression "local_30 + -0x47469" (identifier "local_30") (+ "+") (number_literal "-0x47469"))) (; ";")) (expression_statement "ppuStack_48 = (undefined **)0x231;" (assignment_expression "ppuStack_48 = (undefined **)0x231" (identifier "ppuStack_48") (= "=") (cast_expression "(undefined **)0x231" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x231"))) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(longlong *)(local_28 + 3) = lVar16;" (assignment_expression "*(longlong *)(local_28 + 3) = lVar16" (pointer_expression "*(longlong *)(local_28 + 3)" (* "*") (cast_expression "(longlong *)(local_28 + 3)" (( "(") (type_descriptor "longlong *" (type_identifier "longlong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_28 + 3)" (( "(") (binary_expression "local_28 + 3" (identifier "local_28") (+ "+") (number_literal "3")) () ")")))) (= "=") (identifier "lVar16")) (; ";")) (} "}"))) (if_statement "if ((undefined4 *)*param_4 != puVar11) {\n    param_4[1] = *param_4;\n  }" (if "if") (parenthesized_expression "((undefined4 *)*param_4 != puVar11)" (( "(") (binary_expression "(undefined4 *)*param_4 != puVar11" (cast_expression "(undefined4 *)*param_4" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (!= "!=") (identifier "puVar11")) () ")")) (compound_statement "{\n    param_4[1] = *param_4;\n  }" ({ "{") (expression_statement "param_4[1] = *param_4;" (assignment_expression "param_4[1] = *param_4" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void do_allocate_commons_list<32>(Symbol_table * this, Layout * layout,
   Commons_section_type commons_section_type, Commons_type * commons, Mapfile * mapfile,
   Sort_commons_order sort_order) */

void __thiscall
var_2::type_1::function_1<32>
          (type_1 *this,type_2 *layout,type_3 var_26,
          type_4 *commons,type_5 *var_39,type_6 sort_order)

{
  type_7 *puVar1;
  var_1<var_2::type_9**,var_3::vector<var_2::type_9*,var_3::allocator<var_2::type_9*>var_4>var_4>
  var_5;
  type_8 *pTVar2;
  var_6<var_2::var_25<32>var_4> var_7;
  var_8<var_2::var_25<32>var_4> var_9;
  var_6<var_2::var_25<32>var_4> var_10;
  var_6<var_2::var_25<32>var_4> var_11;
  bool var_22;
  bool bVar4;
  type_9 *var_38;
  type_10 var_19;
  var_12<32> *pSVar7;
  type_11 value;
  char *format;
  type_12 var_23;
  type_10 var_47;
  type_12 var_24;
  type_10 var_16;
  type_13 uVar12;
  var_1<var_2::type_9**,var_3::vector<var_2::type_9*,var_3::allocator<var_2::type_9*>var_4>var_4>
  var_13;
  char *pcVar13;
  var_1<var_2::type_9**,var_3::vector<var_2::type_9*,var_3::allocator<var_2::type_9*>var_4>var_4>
  var_14;
  type_14 var_42;
  type_1 *in_stack_ffffffc4;
  type_9 *in_stack_ffffffc8;
  type_12 var_21;
  type_15 *var_41;
  type_16 *var_37;
  
  var_21 = 0;
  var_16 = (commons->super__Vector_base<var_2::type_9*var_15,var_3::allocator<var_2::type_9*>var_4>var_15)._M_impl.
             _M_start;
  if (var_16 ==
      (commons->super__Vector_base<var_2::type_9*,var_3::allocator<var_2::type_9*>var_4>var_15)._M_impl._M_finish
     ) {
    return;
  }
  bVar4 = false;
  do {
    while( true ) {
      var_19 = var_16;
      var_38 = *var_19;
      if ((var_38->field_0x2a & 0x10) != 0) {
        var_38 = var_17(this,var_38);
        *var_19 = var_38;
      }
      if ((((var_38->field_0x2a & 7) == 0) && ((var_38->field_0x2b & 0x20) == 0)) &&
         (var_22 = type_9::var_18((var_38->u2_).shndx), var_22)) break;
      *var_19 = (type_9 *)0x0;
      var_16 = var_19 + 1;
      var_22 = bVar4;
      if ((commons->super__Vector_base<var_2::type_9*,var_3::allocator<var_2::type_9*>var_4>var_15)._M_impl.
          _M_finish == var_19 + 1) goto LAB_00208000;
    }
    pSVar7 = var_20<32>(in_stack_ffffffc4,in_stack_ffffffc8);
    var_24 = pSVar7->value_;
    if (pSVar7->value_ <= var_21) {
      var_24 = var_21;
    }
    var_21 = var_24;
    var_16 = var_19 + 1;
    bVar4 = var_22;
  } while ((commons->super__Vector_base<var_2::type_9*,var_3::allocator<var_2::type_9*>var_4>var_15)._M_impl.
           _M_finish != var_19 + 1);
LAB_00208000:
  var_13._M_current = var_19 + 1;
  if (var_22 == false) {
    return;
  }
  var_5._M_current =
       (commons->super__Vector_base<var_2::type_9*,var_3::allocator<var_2::type_9*>var_4>var_15)._M_impl._M_start
  ;
  if (var_13._M_current != var_5._M_current) {
    var_23 = (int)var_13._M_current - (int)var_5._M_current >> 2;
    var_24 = 0x1f;
    if (var_23 != 0) {
      for (; var_23 >> var_24 == 0; var_24 = var_24 - 1) {
      }
    }
    var_7._M_comp.sort_order_ = sort_order;
    var_7._M_comp.symtab_ = this;
    std::
    __introsort_loop<__gnu_cxx::var_1<var_2::type_9**,var_3::vector<var_2::type_9*>var_4>,_int,___gnu_cxx::__ops::var_6<var_2::var_25<32>var_4>var_4>
              (var_5,var_13,(0x1f - (var_24 ^ 0x1f)) * 2,var_7);
    if ((int)var_13._M_current - (int)var_5._M_current < 0x41) {
      var_11._M_comp.sort_order_ = sort_order;
      var_11._M_comp.symtab_ = this;
      std::
      __insertion_sort<__gnu_cxx::var_1<var_2::type_9**,var_3::vector<var_2::type_9*>var_4>,___gnu_cxx::__ops::var_6<var_2::var_25<32>var_4>var_4>
                (var_5,var_13,var_11);
    }
    else {
      var_14._M_current = var_5._M_current + 0x10;
      var_10._M_comp.sort_order_ = sort_order;
      var_10._M_comp.symtab_ = this;
      std::
      __insertion_sort<__gnu_cxx::var_1<var_2::type_9**,var_3::vector<var_2::type_9*>var_4>,___gnu_cxx::__ops::var_6<var_2::var_25<32>var_4>var_4>
                (var_5,var_14,var_10);
      for (; var_13._M_current != var_14._M_current;
          var_14._M_current = var_14._M_current + 1) {
        var_9._M_comp.sort_order_ = sort_order;
        var_9._M_comp.symtab_ = this;
        std::
        __unguarded_linear_insert<__gnu_cxx::var_1<var_2::type_9**,var_3::vector<var_2::type_9*>var_4>,___gnu_cxx::__ops::var_8<var_2::var_25<32>var_4>var_4>
                  (var_14,var_9);
      }
    }
  }
  if (var_26 == var_27) {
    uVar12 = 0;
    pcVar13 = ".tbss";
    var_37 = (type_16 *)0x310db8;
    var_24 = 0x403;
  }
  else if (var_26 == var_28) {
    uVar12 = 0;
    var_37 = (type_16 *)0x310d9e;
    pcVar13 = ".bss";
    var_24 = 3;
  }
  else if (var_26 == var_29) {
    if (parameters->target_ == (type_17 *)0x0) {
LAB_002084b3:
                    /* WARNING: Subroutine does not return */
      var_30("../../gold/parameters.h",0x69,"target");
    }
    pTVar2 = parameters->target_->pti_;
    if (pTVar2->small_common_shndx == 0) {
                    /* WARNING: Subroutine does not return */
      var_30("../../gold/target.h",0xc5,"small_common_section_flags");
    }
    uVar12 = *(type_13 *)((int)&pTVar2->small_common_section_flags + 4);
    var_24 = (type_12)pTVar2->small_common_section_flags | 3;
    var_37 = (type_16 *)0x310da8;
    pcVar13 = ".sbss";
  }
  else {
    if (var_26 != var_31) {
                    /* WARNING: Subroutine does not return */
      var_30("../../gold/common.cc",0x11b,"do_allocate_commons_list");
    }
    if (parameters->target_ == (type_17 *)0x0) goto LAB_002084b3;
    pTVar2 = parameters->target_->pti_;
    if (pTVar2->large_common_shndx == 0) {
                    /* WARNING: Subroutine does not return */
      var_30("../../gold/target.h",0xd5,"large_common_section_flags");
    }
    uVar12 = *(type_13 *)((int)&pTVar2->large_common_section_flags + 4);
    var_24 = (type_12)pTVar2->large_common_section_flags | 3;
    var_37 = (type_16 *)0x310d8e;
    pcVar13 = ".lbss";
  }
  bVar4 = Parameters::var_32(parameters);
  if (bVar4) {
    var_37 = type_2::var_33(layout,pcVar13);
    var_41 = (type_15 *)0x0;
  }
  else {
    var_41 = (type_15 *)var_34(0x30);
    *(type_13 *)&(var_41->super_Output_data).address_ = 0;
    *(type_13 *)((int)&(var_41->super_Output_data).address_ + 4) = 0;
    *(type_13 *)&(var_41->super_Output_data).data_size_ = 0;
    *(type_13 *)((int)&(var_41->super_Output_data).data_size_ + 4) = 0;
    *(type_13 *)&(var_41->super_Output_data).offset_ = 0xffffffff;
    *(type_13 *)((int)&(var_41->super_Output_data).offset_ + 4) = 0xffffffff;
    puVar1 = &(var_41->super_Output_data).field_0x1c;
    *puVar1 = *puVar1 & 0xe0;
    var_41->output_section_ = (type_16 *)0x0;
    *(type_12 *)&var_41->addralign_ = var_21;
    *(type_13 *)((int)&var_41->addralign_ + 4) = 0;
    (var_41->super_Output_data)._vptr_Output_data =
         (type_18 **)&PTR__Output_data_space_0040dc2c;
    var_41[1].super_Output_data._vptr_Output_data = (type_18 **)var_37;
    var_37 = type_2::var_35
                         (layout,pcVar13,8,var_36(uVar12,var_24),var_41,ORDER_INVALID,false);
  }
  if (var_37 != (type_16 *)0x0) {
    if (var_26 == var_29) {
      var_37->field_0x91 = var_37->field_0x91 | 0x40;
    }
    else if (var_26 == var_31) {
      var_37->field_0x91 = var_37->field_0x91 | 0x80;
    }
  }
  var_16 = (commons->super__Vector_base<var_2::type_9*var_15,var_3::allocator<var_2::type_9*>var_4>var_15)._M_impl.
             _M_start;
  var_19 = (commons->super__Vector_base<var_2::type_9*var_15,var_3::allocator<var_2::type_9*>var_4>var_15)._M_impl.
            _M_finish;
  if ((var_16 == var_19) || (var_38 = *var_16, var_38 == (type_9 *)0x0)) {
    var_42 = 0;
    var_47 = var_19;
  }
  else {
    var_42 = 0;
    do {
      value = (type_11)var_42;
      var_16 = var_16 + 1;
      if (((var_38->field_0x2a & 7) == 0) && ((var_38->field_0x2b & 0x20) == 0)) {
        bVar4 = type_9::var_18((var_38->u2_).shndx);
        if (bVar4) {
          pSVar7 = var_20<32>(in_stack_ffffffc4,in_stack_ffffffc8);
          if (var_39 != (type_5 *)0x0) {
            Mapfile::var_40(var_39,var_38,(type_19)pSVar7->symsize_);
          }
          var_24 = pSVar7->value_;
          if (var_41 != (type_15 *)0x0) {
            if (var_24 != 0) {
              var_42 = var_42 + -1 + (type_19)var_24;
              value = (type_12)var_42 & -var_24;
              var_42 = var_36((type_12)((type_19)var_42 >> 0x20) & -(type_12)(var_24 != 0),value);
            }
            var_12<32>::var_43(pSVar7,&var_41->super_Output_data,value);
            var_42 = var_42 + (type_19)pSVar7->symsize_;
            var_19 = (commons->super__Vector_base<var_2::type_9*var_15,var_3::allocator<var_2::type_9*>var_4>var_15).
                      _M_impl._M_finish;
            goto LAB_00208270;
          }
          var_42 = type_16::var_44(var_37,(type_19)pSVar7->symsize_,(type_19)var_24);
          if (var_42 == -1) {
            pcVar13 = var_37->name_;
            format = (char *)var_45(
                                    "out of patch space in section %s; relink with --incremental-full"
                                    );
                    /* WARNING: Subroutine does not return */
            var_46(format,pcVar13);
          }
          var_12<32>::var_43(pSVar7,&var_37->super_Output_data,(type_11)var_42);
        }
        var_19 = (commons->super__Vector_base<var_2::type_9*var_15,var_3::allocator<var_2::type_9*>var_4>var_15).
                  _M_impl._M_finish;
      }
LAB_00208270:
      var_47 = var_16;
    } while ((var_19 != var_16) &&
            (var_38 = *var_16, var_47 = var_19, var_38 != (type_9 *)0x0));
  }
  if (var_41 != (type_15 *)0x0) {
    if (((var_41->super_Output_data).field_0x1c & 2) != 0) {
                    /* WARNING: Subroutine does not return */
      var_30("../../gold/output.h",0x231,"set_current_data_size_for_child");
    }
    (var_41->super_Output_data).data_size_ = var_42;
  }
  var_16 = (commons->super__Vector_base<var_2::type_9*var_15,var_3::allocator<var_2::type_9*>var_4>var_15)._M_impl.
             _M_start;
  if (var_16 != var_47) {
    (commons->super__Vector_base<var_2::type_9*,var_3::allocator<var_2::type_9*>var_4>var_15)._M_impl._M_finish =
         var_16;
  }
  return;
}


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

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

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

{
  undefined **ppuVar1;
  undefined *puVar2;
  bool bVar3;
  undefined **ppuVar4;
  undefined **ppuVar5;
  undefined **ppuVar6;
  char cVar7;
  undefined **ppuVar8;
  int iVar9;
  undefined4 *puVar10;
  undefined4 *puVar11;
  uint uVar12;
  undefined ***pppuVar13;
  undefined4 *puVar14;
  undefined **ppuVar15;
  longlong lVar16;
  undefined **ppuStack_4c;
  undefined **ppuStack_48;
  undefined **ppuStack_44;
  undefined **ppuStack_40;
  undefined1 auStack_3c [12];
  undefined **local_30;
  undefined **local_2c;
  undefined **local_28;
  undefined **local_24;
  undefined **local_20;
  
  pppuVar13 = (undefined ***)auStack_3c;
  local_30 = &__DT_PLTGOT;
  local_2c = (undefined **)0x0;
  local_24 = (undefined **)0x0;
  if (*param_4 == param_4[1]) {
    return;
  }
  ppuVar15 = (undefined **)0x0;
  puVar14 = (undefined4 *)*param_4;
  do {
    while( true ) {
      puVar10 = puVar14;
      ppuVar8 = (undefined **)*puVar10;
      if ((*(byte *)((int)ppuVar8 + 0x2a) & 0x10) != 0) {
        ppuStack_4c = param_1;
        ppuStack_48 = ppuVar8;
        ppuVar8 = (undefined **)FUN_001e6f30();
        *puVar10 = ppuVar8;
      }
      if (((*(byte *)((int)ppuVar8 + 0x2a) & 7) == 0) &&
         ((*(byte *)((int)ppuVar8 + 0x2b) & 0x20) == 0)) break;
LAB_00207f6c:
      *puVar10 = 0;
      puVar14 = puVar10 + 1;
      if ((undefined4 *)param_4[1] == puVar10 + 1) goto LAB_00208000;
    }
    ppuStack_4c = (undefined **)ppuVar8[3];
    local_20 = ppuVar8;
    cVar7 = FUN_001e6ac0();
    local_28 = (undefined **)CONCAT31(local_28._1_3_,cVar7);
    if (cVar7 == '\0') goto LAB_00207f6c;
    ppuStack_40 = (undefined **)0x207fc9;
    iVar9 = FUN_00207550();
    bVar3 = (undefined **)(uint)(local_2c < *(undefined ***)(iVar9 + 0x30)) <= local_24;
    ppuVar8 = *(undefined ***)(iVar9 + 0x30);
    if (bVar3) {
      ppuVar8 = local_2c;
    }
    ppuVar15 = (undefined **)((uint)local_28 & 0xff);
    local_2c = ppuVar8;
    ppuVar8 = (undefined **)0x0;
    if (bVar3) {
      ppuVar8 = local_24;
    }
    local_24 = ppuVar8;
    puVar14 = puVar10 + 1;
  } while ((undefined4 *)param_4[1] != puVar10 + 1);
LAB_00208000:
  ppuVar8 = (undefined **)(puVar10 + 1);
  if ((char)ppuVar15 == '\0') {
    return;
  }
  ppuVar1 = (undefined **)*param_4;
  ppuVar4 = param_4;
  ppuVar6 = ppuStack_4c;
  ppuVar5 = ppuStack_40;
  if (ppuVar8 != ppuVar1) {
    ppuVar15 = (undefined **)((int)ppuVar8 - (int)ppuVar1);
    ppuStack_4c = param_6;
    uVar12 = 0x1f;
    if ((int)ppuVar15 >> 2 != 0) {
      for (; (uint)((int)ppuVar15 >> 2) >> uVar12 == 0; uVar12 = uVar12 - 1) {
      }
    }
    FUN_00207ca0(ppuVar1,ppuVar8,(0x1f - (uVar12 ^ 0x1f)) * 2,param_1);
    ppuStack_4c = ppuVar1;
    if ((int)ppuVar15 < 0x41) {
      ppuStack_40 = param_6;
      ppuStack_44 = param_1;
      ppuStack_48 = ppuVar8;
      FUN_00207850();
      ppuVar6 = ppuStack_4c;
      ppuVar5 = ppuStack_40;
    }
    else {
      ppuVar15 = ppuVar1 + 0x10;
      ppuStack_40 = param_6;
      ppuStack_44 = param_1;
      ppuStack_48 = ppuVar15;
      FUN_00207850();
      for (; ppuVar6 = ppuStack_4c, ppuVar5 = ppuStack_40, ppuVar8 != ppuVar15;
          ppuVar15 = ppuVar15 + 1) {
        ppuStack_44 = param_6;
        ppuStack_48 = param_1;
        ppuStack_4c = ppuVar15;
        FUN_00207810();
        ppuVar1 = param_1;
        ppuVar4 = param_6;
      }
    }
  }
  ppuStack_40 = ppuVar1;
  if (param_3 == 1) {
    ppuVar8 = (undefined **)0x0;
    local_20 = local_30 + -0x40c92;
    ppuVar15 = (undefined **)((int)local_30 + -0x1168c5);
    uVar12 = 0x403;
    ppuStack_4c = (undefined **)local_30[0x13a];
  }
  else if (param_3 == 0) {
    ppuVar8 = (undefined **)0x0;
    local_20 = (undefined **)((int)local_30 + -0x103262);
    ppuVar15 = (undefined **)((int)local_30 + -0x11b23b);
    uVar12 = 3;
    ppuStack_4c = (undefined **)local_30[0x13a];
  }
  else if (param_3 == 2) {
    ppuStack_4c = (undefined **)local_30[0x13a];
    if (ppuStack_4c[3] == (undefined *)0x0) {
LAB_002084b3:
      ppuStack_44 = local_30 + -0x40c6c;
      ppuStack_4c = (undefined **)((int)local_30 + -0x131d93);
      ppuStack_48 = (undefined **)0x69;
      ppuStack_40 = ppuVar4;
                    /* WARNING: Subroutine does not return */
      FUN_000da200();
    }
    iVar9 = *(int *)(ppuStack_4c[3] + 4);
    ppuStack_40 = ppuVar5;
    if (*(short *)(iVar9 + 0x3c) == 0) {
LAB_0020850f:
      ppuStack_4c = ppuVar6;
      *(undefined ***)((int)pppuVar13 + -4) = ppuVar15;
      *(int *)((int)pppuVar13 + -8) = *(int *)((int)pppuVar13 + 0xc) + -0x1030b4;
      *(undefined4 *)((int)pppuVar13 + -0xc) = 0xc5;
      *(int *)((int)pppuVar13 + -0x10) = *(int *)((int)pppuVar13 + 0xc) + -0x11d1cc;
                    /* WARNING: Subroutine does not return */
      *(undefined4 *)((int)pppuVar13 + -0x14) = 0x20852c;
      FUN_000da200();
    }
    ppuVar8 = *(undefined ***)(iVar9 + 0x44);
    uVar12 = *(uint *)(iVar9 + 0x40) | 3;
    local_20 = local_30 + -0x40c96;
    ppuVar15 = local_30 + -0x45a2c;
  }
  else {
    if (param_3 != 3) {
      ppuStack_44 = local_30 + -0x40c1e;
      ppuStack_4c = (undefined **)((int)local_30 + -0x103287);
      ppuStack_48 = (undefined **)0x11b;
                    /* WARNING: Subroutine does not return */
      FUN_000da200();
    }
    ppuStack_4c = (undefined **)local_30[0x13a];
    if (ppuStack_4c[3] == (undefined *)0x0) goto LAB_002084b3;
    iVar9 = *(int *)(ppuStack_4c[3] + 4);
    if (*(short *)(iVar9 + 0x3e) == 0) {
      ppuStack_44 = local_30 + -0x40c34;
      ppuStack_4c = local_30 + -0x47473;
      ppuStack_48 = (undefined **)0xd5;
      ppuStack_40 = ppuVar8;
                    /* WARNING: Subroutine does not return */
      FUN_000da200();
    }
    ppuVar8 = *(undefined ***)(iVar9 + 0x4c);
    uVar12 = *(uint *)(iVar9 + 0x48) | 3;
    local_20 = (undefined **)((int)local_30 + -0x103272);
    ppuVar15 = local_30 + -0x45a1c;
  }
  ppuStack_40 = ppuVar5;
  cVar7 = FUN_001a5190();
  if (cVar7 == '\0') {
    ppuStack_4c = (undefined **)0x30;
    ppuStack_48 = (undefined **)FUN_00246670();
    ppuStack_48[1] = (undefined *)0x0;
    ppuStack_48[2] = (undefined *)0x0;
    ppuStack_48[3] = (undefined *)0x0;
    ppuStack_48[4] = (undefined *)0x0;
    ppuStack_48[5] = (undefined *)0xffffffff;
    ppuStack_48[6] = (undefined *)0xffffffff;
    *(byte *)(ppuStack_48 + 7) = *(byte *)(ppuStack_48 + 7) & 0xe0;
    ppuStack_48[8] = (undefined *)0x0;
    ppuStack_48[9] = (undefined *)local_2c;
    ppuStack_48[10] = (undefined *)local_24;
    *ppuStack_48 = (undefined *)(local_30 + -0x18f5);
    ppuStack_48[0xb] = (undefined *)local_20;
    ppuStack_40 = (undefined **)0x0;
    ppuStack_44 = (undefined **)0x0;
    ppuStack_4c = ppuVar8;
    local_28 = ppuStack_48;
    local_20 = (undefined **)FUN_00111290(param_2,ppuVar15,8,uVar12);
  }
  else {
    ppuStack_4c = param_2;
    ppuStack_48 = ppuVar15;
    local_20 = (undefined **)FUN_001079e0();
    local_28 = (undefined **)0x0;
  }
  if (local_20 != (undefined **)0x0) {
    if (param_3 == 2) {
      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x40;
    }
    else if (param_3 == 3) {
      *(byte *)((int)local_20 + 0x91) = *(byte *)((int)local_20 + 0x91) | 0x80;
    }
  }
  puVar14 = (undefined4 *)*param_4;
  puVar10 = (undefined4 *)param_4[1];
  if ((puVar14 == puVar10) || (ppuVar15 = (undefined **)*puVar14, ppuVar15 == (undefined **)0x0)) {
    lVar16 = 0;
    puVar11 = puVar10;
  }
  else {
    lVar16 = 0;
    do {
      puVar14 = puVar14 + 1;
      if (((*(byte *)((int)ppuVar15 + 0x2a) & 7) == 0) &&
         ((*(byte *)((int)ppuVar15 + 0x2b) & 0x20) == 0)) {
        ppuStack_4c = (undefined **)ppuVar15[3];
        local_2c = ppuVar15;
        cVar7 = FUN_001e6ac0();
        if (cVar7 != '\0') {
          local_24 = local_2c;
          ppuStack_40 = (undefined **)0x20831b;
          local_2c = (undefined **)FUN_00207550();
          if (param_5 != (undefined **)0x0) {
            ppuStack_44 = (undefined **)local_2c[0xd];
            ppuStack_40 = (undefined **)0x0;
            ppuStack_48 = local_24;
            ppuStack_4c = param_5;
            FUN_001207b0();
          }
          puVar2 = local_2c[0xc];
          if (local_28 != (undefined **)0x0) {
            if (puVar2 != (undefined *)0x0) {
              lVar16 = lVar16 + -1 + ZEXT48(puVar2);
              lVar16 = CONCAT44((uint)((ulonglong)lVar16 >> 0x20) &
                                -(uint)(puVar2 != (undefined *)0x0),(uint)lVar16 & -(int)puVar2);
            }
            ppuStack_44 = (undefined **)lVar16;
            ppuStack_48 = local_28;
            ppuStack_4c = local_2c;
            FUN_001ea5f0();
            lVar16 = lVar16 + ZEXT48(local_2c[0xd]);
            puVar10 = (undefined4 *)param_4[1];
            goto LAB_00208270;
          }
          ppuStack_4c = (undefined **)0x0;
          lVar16 = FUN_0015e340(local_20,local_2c[0xd],0,puVar2);
          ppuVar15 = local_30;
          if (lVar16 == -1) {
            ppuVar8 = (undefined **)local_20[8];
            ppuStack_4c = local_30 + -0x43ac7;
            ppuStack_4c = (undefined **)gettext();
            pppuVar13 = &ppuStack_4c;
            ppuStack_48 = ppuVar8;
            FUN_000d1300();
            ppuVar6 = ppuStack_4c;
            goto LAB_0020850f;
          }
          ppuStack_48 = local_20;
          ppuStack_4c = local_2c;
          ppuStack_44 = (undefined **)lVar16;
          FUN_001ea5f0();
        }
        puVar10 = (undefined4 *)param_4[1];
      }
LAB_00208270:
      puVar11 = puVar14;
    } while ((puVar10 != puVar14) &&
            (ppuVar15 = (undefined **)*puVar14, puVar11 = puVar10, ppuVar15 != (undefined **)0x0));
  }
  if (local_28 != (undefined **)0x0) {
    if (((uint)local_28[7] & 2) != 0) {
      ppuStack_40 = local_28;
      ppuStack_44 = local_30 + -0x40c68;
      ppuStack_4c = local_30 + -0x47469;
      ppuStack_48 = (undefined **)0x231;
                    /* WARNING: Subroutine does not return */
      FUN_000da200();
    }
    *(longlong *)(local_28 + 3) = lVar16;
  }
  if ((undefined4 *)*param_4 != puVar11) {
    param_4[1] = *param_4;
  }
  return;
}

