
/* 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 add_def(Versions * this, Stringpool * dynpool, Symbol * sym, char
   * version, Key version_key) */

void __thiscall
gold::Versions::add_def
          (Versions *this,Stringpool *dynpool,Symbol *sym,char *version,Key version_key)

{
  __bucket_type p_Var1;
  _Hash_node_base *p_Var2;
  iterator __position;
  undefined1 *puVar3;
  int *piVar4;
  Verdef *pVVar5;
  uint uVar6;
  uint uVar7;
  char *format;
  int *piVar8;
  int *piVar9;
  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_58;
  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_48;
  __bucket_type *local_44;
  char local_40;
  Verdef *vd;
  int *local_34;
  int *local_30;
  __bucket_type local_2c;
  
  local_34 = (int *)version_key;
  local_30 = (int *)0x0;
  local_2c = (__bucket_type)0x0;
  std::
  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
  ::_M_emplace<std::pair<std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>
            ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
              *)&stack0xffffffbc,&this->version_table_,0,&stack0xffffffcc);
  if (local_40 != '\0') {
    if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
    }
    if ((parameters->options_->shared_).value != false) {
      Symbol::demangled_name(sym);
      puVar3 = (undefined1 *)local_34;
      format = (char *)gettext("symbol %s has undefined version %s");
                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */
      gold_error(format,puVar3,version);
      if ((__bucket_type *)local_34 != &stack0xffffffd4) {
        operator_delete(local_34);
      }
    }
    if (this->needs_base_version_ != false) {
      define_base_version(this,dynpool);
    }
    local_34 = (int *)0x0;
    local_30 = (int *)0x0;
    local_2c = (__bucket_type)0x0;
                    /* try { // try from 001b1dcf to 001b1dd3 has its CatchHandler @ 001b202f */
    pVVar5 = (Verdef *)operator_new(0x1c);
    (pVVar5->super_Version_base).index_ = 0xffffffff;
    (pVVar5->deps_).
    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
    ._M_impl._M_start = (pointer)0x0;
    (pVVar5->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_003a5440;
    (pVVar5->deps_).
    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
    ._M_impl._M_finish = (pointer)0x0;
    pVVar5->name_ = version;
    uVar6 = (int)local_30 - (int)local_34;
    (pVVar5->deps_).
    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
    ._M_impl._M_end_of_storage = (pointer)0x0;
    uVar7 = ((int)uVar6 >> 3) * -0x55555555;
    if (uVar7 == 0) {
      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;
    }
    else {
      if (0xaaaaaaa < uVar7) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */
        std::__throw_bad_alloc();
      }
                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */
      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)
                 operator_new(uVar6);
    }
    piVar9 = local_30;
    (pVVar5->deps_).
    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
    ._M_impl._M_start = local_58;
    (pVVar5->deps_).
    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
    ._M_impl._M_finish = local_58;
    (pVVar5->deps_).
    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
    ._M_impl._M_end_of_storage = (pointer)(uVar6 + (int)local_58);
    vd = pVVar5;
    if (local_34 == local_30) {
      pVVar5->is_base_ = false;
      pVVar5->is_weak_ = false;
      pVVar5->is_info_ = false;
      pVVar5->is_symbol_created_ = false;
    }
    else {
      local_48 = local_58;
      piVar8 = local_34;
      do {
        (local_48->_M_dataplus)._M_p = (pointer)&local_48->field_2;
                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */
        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
        _M_construct<char*>(local_48,*piVar8,piVar8[1] + *piVar8,0);
        piVar4 = local_30;
        piVar8 = piVar8 + 6;
        local_48 = local_48 + 1;
      } while (piVar9 != piVar8);
      pVVar5->is_base_ = false;
      pVVar5->is_weak_ = false;
      pVVar5->is_info_ = false;
      pVVar5->is_symbol_created_ = false;
      (pVVar5->deps_).
      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
      ._M_impl._M_finish = local_48;
      piVar9 = local_30;
      for (piVar8 = local_34; piVar4 != piVar8; piVar8 = piVar8 + 6) {
        if ((int *)*piVar8 != piVar8 + 2) {
          operator_delete((int *)*piVar8);
        }
        piVar9 = local_34;
      }
    }
    if (piVar9 != (int *)0x0) {
      operator_delete(piVar9);
    }
    __position._M_current =
         (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.
         _M_finish;
    if (__position._M_current ==
        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.
        _M_end_of_storage) {
      std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::
      _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);
    }
    else {
      *__position._M_current = vd;
      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.
      _M_finish = __position._M_current + 1;
    }
    local_44[3] = (__bucket_type)vd;
    return;
  }
  p_Var1 = local_44[3];
  if (p_Var1 != (__bucket_type)0x0) {
    p_Var2 = p_Var1->_M_nxt[2]._M_nxt;
    if (p_Var2 == (_Hash_node_base *)Verdef::clear_weak) {
      *(undefined1 *)((int)&p_Var1[6]._M_nxt + 1) = 0;
    }
    else {
      (*(code *)p_Var2)(p_Var1);
    }
    return;
  }
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable("../../gold/dynobj.cc",0x61f,"add_def");
}



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

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

{
  int iVar1;
  undefined4 *puVar2;
  undefined **ppuVar3;
  int *piVar4;
  int *piVar5;
  uint uVar6;
  undefined4 uVar7;
  undefined4 extraout_EDX;
  int *piVar8;
  int ***pppiVar9;
  int *piVar10;
  undefined4 uStack_64;
  int **appiStack_60 [2];
  int *local_58;
  int **local_54;
  int local_50;
  undefined **local_4c;
  int *local_48;
  int local_44;
  char local_40;
  int *local_38;
  int *local_34;
  int *local_30;
  int local_2c [7];
  
  local_4c = &__DT_PLTGOT;
  appiStack_60[0] = &local_34;
  uStack_64 = 0;
  local_34 = param_5;
  local_30 = (int *)0x0;
  local_2c[0] = 0;
  local_54 = appiStack_60[0];
  FUN_001be200(&local_44,param_1 + 0x18);
  ppuVar3 = local_4c;
  pppiVar9 = appiStack_60;
  local_50 = local_44;
  if (local_40 != '\0') {
    if (*(int *)(local_4c[0x102] + 8) == 0) {
      uStack_64 = extraout_EDX;
                    /* WARNING: Subroutine does not return */
      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);
    }
    if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {
      FUN_0018bcf0(local_54,param_3);
      piVar5 = local_34;
      uVar7 = gettext(ppuVar3 + -0x3d35b);
                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */
      FUN_00073e20(uVar7,piVar5,param_4);
      pppiVar9 = (int ***)&uStack_64;
      if (local_34 != local_2c) {
        FUN_001ff030(local_34);
        pppiVar9 = (int ***)&uStack_64;
      }
    }
    if (*(char *)(param_1 + 0x3c) != '\0') {
      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;
      *(int *)((int)pppiVar9 + -0x10) = param_1;
      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;
      FUN_001b1540();
    }
    ppuVar3 = local_4c;
    local_34 = (int *)0x0;
    *(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;
    local_30 = (int *)0x0;
    local_2c[0] = 0;
                    /* try { // try from 001b1dcf to 001b1dd3 has its CatchHandler @ 001b202f */
    *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;
    piVar5 = (int *)FUN_001fd480();
    piVar5[1] = -1;
    piVar5[3] = 0;
    *piVar5 = (int)(ppuVar3 + -0x26f0);
    piVar5[4] = 0;
    piVar5[2] = param_4;
    local_48 = (int *)((int)local_30 - (int)local_34);
    piVar5[5] = 0;
    uVar6 = ((int)local_48 >> 3) * -0x55555555;
    if (uVar6 == 0) {
      local_58 = (int *)0x0;
    }
    else {
      if (0xaaaaaaa < uVar6) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */
        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;
        FUN_00244870();
      }
      *(int **)((int)pppiVar9 + -0x10) = local_48;
                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */
      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;
      local_58 = (int *)FUN_001fd480();
    }
    piVar10 = local_30;
    piVar5[3] = (int)local_58;
    piVar5[4] = (int)local_58;
    piVar5[5] = (int)local_48 + (int)local_58;
    local_38 = piVar5;
    if (local_34 == local_30) {
      piVar5[6] = 0;
      piVar5 = local_30;
    }
    else {
      local_48 = local_58;
      piVar8 = local_34;
      do {
        *local_48 = (int)(local_48 + 2);
        iVar1 = *piVar8;
        *(undefined4 *)((int)pppiVar9 + -4) = 0;
        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;
        *(int *)((int)pppiVar9 + -0xc) = iVar1;
        *(int **)((int)pppiVar9 + -0x10) = local_48;
                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */
        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;
        FUN_00068b30();
        piVar4 = local_30;
        piVar8 = piVar8 + 6;
        local_48 = local_48 + 6;
      } while (piVar10 != piVar8);
      piVar5[6] = 0;
      piVar5[4] = (int)local_48;
      piVar5 = local_30;
      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {
        if ((int *)*piVar10 != piVar10 + 2) {
          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;
          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;
          FUN_001ff030();
        }
        piVar5 = local_34;
      }
    }
    if (piVar5 != (int *)0x0) {
      *(int **)((int)pppiVar9 + -0x10) = piVar5;
      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;
      FUN_001ff030();
    }
    puVar2 = *(undefined4 **)(param_1 + 4);
    if (puVar2 == *(undefined4 **)(param_1 + 8)) {
      *(int ***)((int)pppiVar9 + -8) = &local_38;
      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;
      *(int *)((int)pppiVar9 + -0x10) = param_1;
      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;
      FUN_001b6140();
    }
    else {
      *puVar2 = local_38;
      *(undefined4 **)(param_1 + 4) = puVar2 + 1;
    }
    *(int **)(local_50 + 0xc) = local_38;
    return;
  }
  piVar5 = *(int **)(local_44 + 0xc);
  if (piVar5 != (int *)0x0) {
    if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {
      *(undefined1 *)((int)piVar5 + 0x19) = 0;
    }
    else {
      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);
    }
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0007d010((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295);
}


CALL 0x000644b6
ADD EAX,0x1fd2fb
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
LEA EDI,[EBP + -0x30]
PUSH EBX
SUB ESP,0x4c
MOV dword ptr [EBP + -0x48],EAX
MOV EBX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EBP + 0x18]
PUSH EDI
LEA EDX,[EBX + 0x18]
PUSH 0x0
MOV dword ptr [EBP + -0x30],EAX
LEA EAX,[EBP + -0x40]
PUSH EDX
PUSH EAX
MOV dword ptr [EBP + -0x2c],0x0
MOV dword ptr [EBP + -0x28],0x0
MOV dword ptr [EBP + -0x50],EDI
CALL 0x001be200
MOV EAX,dword ptr [EBP + -0x40]
ADD ESP,0xc
CMP byte ptr [EBP + -0x3c],0x0
MOV dword ptr [EBP + -0x4c],EAX
JNZ 0x001b1d80
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JZ 0x001b1ff8
MOV EDX,dword ptr [EAX]
MOV ESI,dword ptr [EBP + -0x48]
MOV EDX,dword ptr [EDX + 0x8]
LEA ECX,[ESI + 0xffe032b0]
CMP EDX,ECX
JNZ 0x001b1f98
MOV byte ptr [EAX + 0x19],0x0
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + -0x48]
LEA EAX,[EAX + 0x408]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x001b1fdf
CMP byte ptr [EAX + 0x1a25],0x0
JNZ 0x001b1f18
MOV EAX,dword ptr [EBP + 0x8]
CMP byte ptr [EAX + 0x3c],0x0
JNZ 0x001b1f70
SUB ESP,0xc
MOV EDI,dword ptr [EBP + -0x48]
MOV dword ptr [EBP + -0x30],0x0
PUSH 0x1c
MOV EBX,EDI
MOV dword ptr [EBP + -0x2c],0x0
MOV dword ptr [EBP + -0x28],0x0
CALL 0x001fd480
MOV ESI,EAX
MOV dword ptr [EAX + 0x4],0xffffffff
MOV EBX,dword ptr [EBP + -0x30]
ADD ESP,0x10
LEA EAX,[EDI + 0xffff6440]
MOV EDI,dword ptr [EBP + -0x2c]
MOV dword ptr [ESI + 0xc],0x0
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [EBP + 0x14]
MOV dword ptr [ESI + 0x10],0x0
MOV dword ptr [ESI + 0x8],EAX
MOV EAX,EDI
SUB EAX,EBX
MOV dword ptr [ESI + 0x14],0x0
MOV dword ptr [EBP + -0x44],EAX
SAR EAX,0x3
IMUL EAX,EAX,-0x55555555
TEST EAX,EAX
JZ 0x001b1f88
CMP EAX,0xaaaaaaa
JA 0x001b2014
SUB ESP,0xc
PUSH dword ptr [EBP + -0x44]
MOV EBX,dword ptr [EBP + -0x48]
CALL 0x001fd480
MOV EDI,dword ptr [EBP + -0x2c]
MOV EBX,dword ptr [EBP + -0x30]
MOV dword ptr [EBP + -0x54],EAX
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x54]
MOV EDX,dword ptr [EBP + -0x44]
ADD EDX,EAX
MOV dword ptr [ESI + 0xc],EAX
MOV dword ptr [ESI + 0x10],EAX
MOV dword ptr [ESI + 0x14],EDX
CMP EBX,EDI
JZ 0x001b1fd0
MOV dword ptr [EBP + -0x44],EAX
LEA ESI,[ESI]
MOV ECX,dword ptr [EBP + -0x44]
LEA EAX,[ECX + 0x8]
MOV dword ptr [ECX],EAX
MOV EAX,dword ptr [EBX]
PUSH 0x0
MOV EDX,dword ptr [EBX + 0x4]
ADD EDX,EAX
PUSH EDX
PUSH EAX
PUSH ECX
CALL 0x00068b30
ADD EBX,0x18
ADD ESP,0x10
ADD dword ptr [EBP + -0x44],0x18
CMP EDI,EBX
JNZ 0x001b1e68
MOV EBX,dword ptr [EBP + -0x44]
MOV EDI,dword ptr [EBP + -0x2c]
MOV dword ptr [EBP + -0x34],ESI
MOV EAX,dword ptr [EBP + -0x30]
MOV dword ptr [ESI + 0x18],0x0
MOV dword ptr [ESI + 0x10],EBX
CMP EDI,EAX
JZ 0x001b1ed2
MOV ESI,EAX
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [ESI]
LEA EDX,[ESI + 0x8]
CMP EAX,EDX
JZ 0x001b1ec8
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x48]
PUSH EAX
CALL 0x001ff030
ADD ESP,0x10
ADD ESI,0x18
CMP EDI,ESI
JNZ 0x001b1eb0
MOV EDI,dword ptr [EBP + -0x30]
TEST EDI,EDI
JZ 0x001b1ee5
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x48]
PUSH EDI
CALL 0x001ff030
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0x8]
MOV EBX,dword ptr [EBP + 0x8]
MOV EAX,dword ptr [EAX + 0x4]
CMP EAX,dword ptr [EBX + 0x8]
JZ 0x001b1fb0
MOV EDX,dword ptr [EBP + -0x34]
ADD EAX,0x4
MOV dword ptr [EAX + -0x4],EDX
MOV dword ptr [EBX + 0x4],EAX
MOV ESI,dword ptr [EBP + -0x4c]
MOV EAX,dword ptr [EBP + -0x34]
MOV dword ptr [ESI + 0xc],EAX
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x8
MOV EDI,dword ptr [EBP + -0x48]
PUSH dword ptr [EBP + 0x10]
PUSH dword ptr [EBP + -0x50]
MOV EBX,EDI
CALL 0x0018bcf0
LEA EAX,[EDI + 0xfff0b294]
MOV ESI,dword ptr [EBP + -0x30]
PUSH EAX
CALL 0x0002a3c0
ADD ESP,0xc
PUSH dword ptr [EBP + 0x14]
PUSH ESI
PUSH EAX
CALL 0x00073e20
MOV EAX,dword ptr [EBP + -0x30]
LEA EDX,[EBP + -0x28]
ADD ESP,0x10
CMP EAX,EDX
JZ 0x001b1da3
SUB ESP,0xc
PUSH EAX
CALL 0x001ff030
ADD ESP,0x10
JMP 0x001b1da3
SUB ESP,0x8
PUSH dword ptr [EBP + 0xc]
PUSH EAX
CALL 0x001b1540
ADD ESP,0x10
JMP 0x001b1db0
MOV dword ptr [EBP + -0x54],0x0
JMP 0x001b1e46
SUB ESP,0xc
PUSH EAX
CALL EDX
ADD ESP,0x10
JMP 0x001b1d77
SUB ESP,0x4
LEA EDX,[EBP + -0x34]
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + 0x8]
CALL 0x001b6140
ADD ESP,0x10
JMP 0x001b1f03
MOV dword ptr [ESI + 0x18],0x0
MOV dword ptr [EBP + -0x34],ESI
JMP 0x001b1ed2
MOV EBX,dword ptr [EBP + -0x48]
PUSH EDX
LEA EAX,[EBX + 0xfff0b6d8]
PUSH EAX
LEA EAX,[EBX + 0xffee926d]
PUSH 0x5c
PUSH EAX
CALL 0x0007d010
MOV EBX,dword ptr [EBP + -0x48]
PUSH ECX
LEA EAX,[EBX + 0xfff0b5ac]
PUSH EAX
LEA EAX,[EBX + 0xfff0af11]
PUSH 0x61f
PUSH EAX
CALL 0x0007d010
MOV EBX,dword ptr [EBP + -0x48]
CALL 0x00244870
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_001b1d00(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int *param_5)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined **ppuVar3;\n  int *piVar4;\n  int *piVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  undefined4 extraout_EDX;\n  int *piVar8;\n  int ***pppiVar9;\n  int *piVar10;\n  undefined4 uStack_64;\n  int **appiStack_60 [2];\n  int *local_58;\n  int **local_54;\n  int local_50;\n  undefined **local_4c;\n  int *local_48;\n  int local_44;\n  char local_40;\n  int *local_38;\n  int *local_34;\n  int *local_30;\n  int local_2c [7];\n  \n  local_4c = &__DT_PLTGOT;\n  appiStack_60[0] = &local_34;\n  uStack_64 = 0;\n  local_34 = param_5;\n  local_30 = (int *)0x0;\n  local_2c[0] = 0;\n  local_54 = appiStack_60[0];\n  FUN_001be200(&local_44,param_1 + 0x18);\n  ppuVar3 = local_4c;\n  pppiVar9 = appiStack_60;\n  local_50 = local_44;\n  if (local_40 != '\0') {\n    if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    /* WARNING: Subroutine does not return */\n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }\n    if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */\n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }\n    if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }\n    ppuVar3 = local_4c;\n    local_34 = (int *)0x0;\n    *(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;\n    local_30 = (int *)0x0;\n    local_2c[0] = 0;\n                    /* try { // try from 001b1dcf to 001b1dd3 has its CatchHandler @ 001b202f */\n    *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;\n    piVar5 = (int *)FUN_001fd480();\n    piVar5[1] = -1;\n    piVar5[3] = 0;\n    *piVar5 = (int)(ppuVar3 + -0x26f0);\n    piVar5[4] = 0;\n    piVar5[2] = param_4;\n    local_48 = (int *)((int)local_30 - (int)local_34);\n    piVar5[5] = 0;\n    uVar6 = ((int)local_48 >> 3) * -0x55555555;\n    if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }\n    piVar10 = local_30;\n    piVar5[3] = (int)local_58;\n    piVar5[4] = (int)local_58;\n    piVar5[5] = (int)local_48 + (int)local_58;\n    local_38 = piVar5;\n    if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }\n    if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }\n    puVar2 = *(undefined4 **)(param_1 + 4);\n    if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }\n    *(int **)(local_50 + 0xc) = local_38;\n    return;\n  }\n  piVar5 = *(int **)(local_44 + 0xc);\n  if (piVar5 != (int *)0x0) {\n    if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0007d010((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295);\n}\n\n" comment (function_definition "void FUN_001b1d00(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int *param_5)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined **ppuVar3;\n  int *piVar4;\n  int *piVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  undefined4 extraout_EDX;\n  int *piVar8;\n  int ***pppiVar9;\n  int *piVar10;\n  undefined4 uStack_64;\n  int **appiStack_60 [2];\n  int *local_58;\n  int **local_54;\n  int local_50;\n  undefined **local_4c;\n  int *local_48;\n  int local_44;\n  char local_40;\n  int *local_38;\n  int *local_34;\n  int *local_30;\n  int local_2c [7];\n  \n  local_4c = &__DT_PLTGOT;\n  appiStack_60[0] = &local_34;\n  uStack_64 = 0;\n  local_34 = param_5;\n  local_30 = (int *)0x0;\n  local_2c[0] = 0;\n  local_54 = appiStack_60[0];\n  FUN_001be200(&local_44,param_1 + 0x18);\n  ppuVar3 = local_4c;\n  pppiVar9 = appiStack_60;\n  local_50 = local_44;\n  if (local_40 != '\0') {\n    if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    /* WARNING: Subroutine does not return */\n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }\n    if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */\n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }\n    if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }\n    ppuVar3 = local_4c;\n    local_34 = (int *)0x0;\n    *(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;\n    local_30 = (int *)0x0;\n    local_2c[0] = 0;\n                    /* try { // try from 001b1dcf to 001b1dd3 has its CatchHandler @ 001b202f */\n    *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;\n    piVar5 = (int *)FUN_001fd480();\n    piVar5[1] = -1;\n    piVar5[3] = 0;\n    *piVar5 = (int)(ppuVar3 + -0x26f0);\n    piVar5[4] = 0;\n    piVar5[2] = param_4;\n    local_48 = (int *)((int)local_30 - (int)local_34);\n    piVar5[5] = 0;\n    uVar6 = ((int)local_48 >> 3) * -0x55555555;\n    if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }\n    piVar10 = local_30;\n    piVar5[3] = (int)local_58;\n    piVar5[4] = (int)local_58;\n    piVar5[5] = (int)local_48 + (int)local_58;\n    local_38 = piVar5;\n    if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }\n    if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }\n    puVar2 = *(undefined4 **)(param_1 + 4);\n    if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }\n    *(int **)(local_50 + 0xc) = local_38;\n    return;\n  }\n  piVar5 = *(int **)(local_44 + 0xc);\n  if (piVar5 != (int *)0x0) {\n    if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0007d010((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295);\n}" primitive_type (function_declarator "FUN_001b1d00(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int *param_5)" identifier (parameter_list "(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int *param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined **ppuVar3;\n  int *piVar4;\n  int *piVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  undefined4 extraout_EDX;\n  int *piVar8;\n  int ***pppiVar9;\n  int *piVar10;\n  undefined4 uStack_64;\n  int **appiStack_60 [2];\n  int *local_58;\n  int **local_54;\n  int local_50;\n  undefined **local_4c;\n  int *local_48;\n  int local_44;\n  char local_40;\n  int *local_38;\n  int *local_34;\n  int *local_30;\n  int local_2c [7];\n  \n  local_4c = &__DT_PLTGOT;\n  appiStack_60[0] = &local_34;\n  uStack_64 = 0;\n  local_34 = param_5;\n  local_30 = (int *)0x0;\n  local_2c[0] = 0;\n  local_54 = appiStack_60[0];\n  FUN_001be200(&local_44,param_1 + 0x18);\n  ppuVar3 = local_4c;\n  pppiVar9 = appiStack_60;\n  local_50 = local_44;\n  if (local_40 != '\0') {\n    if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    /* WARNING: Subroutine does not return */\n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }\n    if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */\n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }\n    if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }\n    ppuVar3 = local_4c;\n    local_34 = (int *)0x0;\n    *(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;\n    local_30 = (int *)0x0;\n    local_2c[0] = 0;\n                    /* try { // try from 001b1dcf to 001b1dd3 has its CatchHandler @ 001b202f */\n    *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;\n    piVar5 = (int *)FUN_001fd480();\n    piVar5[1] = -1;\n    piVar5[3] = 0;\n    *piVar5 = (int)(ppuVar3 + -0x26f0);\n    piVar5[4] = 0;\n    piVar5[2] = param_4;\n    local_48 = (int *)((int)local_30 - (int)local_34);\n    piVar5[5] = 0;\n    uVar6 = ((int)local_48 >> 3) * -0x55555555;\n    if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }\n    piVar10 = local_30;\n    piVar5[3] = (int)local_58;\n    piVar5[4] = (int)local_58;\n    piVar5[5] = (int)local_48 + (int)local_58;\n    local_38 = piVar5;\n    if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }\n    if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }\n    puVar2 = *(undefined4 **)(param_1 + 4);\n    if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }\n    *(int **)(local_50 + 0xc) = local_38;\n    return;\n  }\n  piVar5 = *(int **)(local_44 + 0xc);\n  if (piVar5 != (int *)0x0) {\n    if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0007d010((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined **ppuVar3;" type_identifier (pointer_declarator "**ppuVar3" * (pointer_declarator "*ppuVar3" * identifier)) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int ***pppiVar9;" primitive_type (pointer_declarator "***pppiVar9" * (pointer_declarator "**pppiVar9" * (pointer_declarator "*pppiVar9" * identifier))) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined4 uStack_64;" type_identifier identifier ;) (declaration "int **appiStack_60 [2];" primitive_type (pointer_declarator "**appiStack_60 [2]" * (pointer_declarator "*appiStack_60 [2]" * (array_declarator "appiStack_60 [2]" identifier [ number_literal ]))) ;) (declaration "int *local_58;" primitive_type (pointer_declarator "*local_58" * identifier) ;) (declaration "int **local_54;" primitive_type (pointer_declarator "**local_54" * (pointer_declarator "*local_54" * identifier)) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "undefined **local_4c;" type_identifier (pointer_declarator "**local_4c" * (pointer_declarator "*local_4c" * identifier)) ;) (declaration "int *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "char local_40;" primitive_type identifier ;) (declaration "int *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "int *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "int local_2c [7];" primitive_type (array_declarator "local_2c [7]" identifier [ number_literal ]) ;) (expression_statement "local_4c = &__DT_PLTGOT;" (assignment_expression "local_4c = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "appiStack_60[0] = &local_34;" (assignment_expression "appiStack_60[0] = &local_34" (subscript_expression "appiStack_60[0]" identifier [ number_literal ]) = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "uStack_64 = 0;" (assignment_expression "uStack_64 = 0" identifier = number_literal) ;) (expression_statement "local_34 = param_5;" (assignment_expression "local_34 = param_5" identifier = identifier) ;) (expression_statement "local_30 = (int *)0x0;" (assignment_expression "local_30 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c[0] = 0;" (assignment_expression "local_2c[0] = 0" (subscript_expression "local_2c[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_54 = appiStack_60[0];" (assignment_expression "local_54 = appiStack_60[0]" identifier = (subscript_expression "appiStack_60[0]" identifier [ number_literal ])) ;) (expression_statement "FUN_001be200(&local_44,param_1 + 0x18);" (call_expression "FUN_001be200(&local_44,param_1 + 0x18)" identifier (argument_list "(&local_44,param_1 + 0x18)" ( (pointer_expression "&local_44" & identifier) , (binary_expression "param_1 + 0x18" identifier + number_literal) ))) ;) (expression_statement "ppuVar3 = local_4c;" (assignment_expression "ppuVar3 = local_4c" identifier = identifier) ;) (expression_statement "pppiVar9 = appiStack_60;" (assignment_expression "pppiVar9 = appiStack_60" identifier = identifier) ;) (expression_statement "local_50 = local_44;" (assignment_expression "local_50 = local_44" identifier = identifier) ;) (if_statement "if (local_40 != '\0') {\n    if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    /* WARNING: Subroutine does not return */\n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }\n    if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */\n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }\n    if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }\n    ppuVar3 = local_4c;\n    local_34 = (int *)0x0;\n    *(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;\n    local_30 = (int *)0x0;\n    local_2c[0] = 0;\n                    /* try { // try from 001b1dcf to 001b1dd3 has its CatchHandler @ 001b202f */\n    *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;\n    piVar5 = (int *)FUN_001fd480();\n    piVar5[1] = -1;\n    piVar5[3] = 0;\n    *piVar5 = (int)(ppuVar3 + -0x26f0);\n    piVar5[4] = 0;\n    piVar5[2] = param_4;\n    local_48 = (int *)((int)local_30 - (int)local_34);\n    piVar5[5] = 0;\n    uVar6 = ((int)local_48 >> 3) * -0x55555555;\n    if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }\n    piVar10 = local_30;\n    piVar5[3] = (int)local_58;\n    piVar5[4] = (int)local_58;\n    piVar5[5] = (int)local_48 + (int)local_58;\n    local_38 = piVar5;\n    if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }\n    if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }\n    puVar2 = *(undefined4 **)(param_1 + 4);\n    if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }\n    *(int **)(local_50 + 0xc) = local_38;\n    return;\n  }" if (parenthesized_expression "(local_40 != '\0')" ( (binary_expression "local_40 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    /* WARNING: Subroutine does not return */\n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }\n    if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */\n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }\n    if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }\n    ppuVar3 = local_4c;\n    local_34 = (int *)0x0;\n    *(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;\n    local_30 = (int *)0x0;\n    local_2c[0] = 0;\n                    /* try { // try from 001b1dcf to 001b1dd3 has its CatchHandler @ 001b202f */\n    *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;\n    piVar5 = (int *)FUN_001fd480();\n    piVar5[1] = -1;\n    piVar5[3] = 0;\n    *piVar5 = (int)(ppuVar3 + -0x26f0);\n    piVar5[4] = 0;\n    piVar5[2] = param_4;\n    local_48 = (int *)((int)local_30 - (int)local_34);\n    piVar5[5] = 0;\n    uVar6 = ((int)local_48 >> 3) * -0x55555555;\n    if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }\n    piVar10 = local_30;\n    piVar5[3] = (int)local_58;\n    piVar5[4] = (int)local_58;\n    piVar5[5] = (int)local_48 + (int)local_58;\n    local_38 = piVar5;\n    if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }\n    if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }\n    puVar2 = *(undefined4 **)(param_1 + 4);\n    if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }\n    *(int **)(local_50 + 0xc) = local_38;\n    return;\n  }" { (if_statement "if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    /* WARNING: Subroutine does not return */\n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }" if (parenthesized_expression "(*(int *)(local_4c[0x102] + 8) == 0)" ( (binary_expression "*(int *)(local_4c[0x102] + 8) == 0" (pointer_expression "*(int *)(local_4c[0x102] + 8)" * (cast_expression "(int *)(local_4c[0x102] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_4c[0x102] + 8)" ( (binary_expression "local_4c[0x102] + 8" (subscript_expression "local_4c[0x102]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (compound_statement "{\n      uStack_64 = extraout_EDX;\n                    /* WARNING: Subroutine does not return */\n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }" { (expression_statement "uStack_64 = extraout_EDX;" (assignment_expression "uStack_64 = extraout_EDX" identifier = identifier) ;) comment (expression_statement "FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);" (call_expression "FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a)" identifier (argument_list "((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a)" ( (binary_expression "(int)local_4c + -0x116d93" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal , (binary_expression "local_4c + -0x3d24a" identifier + number_literal) ))) ;) })) (if_statement "if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */\n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }" if (parenthesized_expression "(*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0')" ( (binary_expression "*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0'" (pointer_expression "*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25)" * (cast_expression "(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_4c[0x102] + 8) + 0x1a25)" ( (binary_expression "*(int *)(local_4c[0x102] + 8) + 0x1a25" (pointer_expression "*(int *)(local_4c[0x102] + 8)" * (cast_expression "(int *)(local_4c[0x102] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_4c[0x102] + 8)" ( (binary_expression "local_4c[0x102] + 8" (subscript_expression "local_4c[0x102]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */\n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }" { (expression_statement "FUN_0018bcf0(local_54,param_3);" (call_expression "FUN_0018bcf0(local_54,param_3)" identifier (argument_list "(local_54,param_3)" ( identifier , identifier ))) ;) (expression_statement "piVar5 = local_34;" (assignment_expression "piVar5 = local_34" identifier = identifier) ;) (expression_statement "uVar7 = gettext(ppuVar3 + -0x3d35b);" (assignment_expression "uVar7 = gettext(ppuVar3 + -0x3d35b)" identifier = (call_expression "gettext(ppuVar3 + -0x3d35b)" identifier (argument_list "(ppuVar3 + -0x3d35b)" ( (binary_expression "ppuVar3 + -0x3d35b" identifier + number_literal) )))) ;) comment (expression_statement "FUN_00073e20(uVar7,piVar5,param_4);" (call_expression "FUN_00073e20(uVar7,piVar5,param_4)" identifier (argument_list "(uVar7,piVar5,param_4)" ( identifier , identifier , identifier ))) ;) (expression_statement "pppiVar9 = (int ***)&uStack_64;" (assignment_expression "pppiVar9 = (int ***)&uStack_64" identifier = (cast_expression "(int ***)&uStack_64" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&uStack_64" & identifier))) ;) (if_statement "if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }" if (parenthesized_expression "(local_34 != local_2c)" ( (binary_expression "local_34 != local_2c" identifier != identifier) )) (compound_statement "{\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }" { (expression_statement "FUN_001ff030(local_34);" (call_expression "FUN_001ff030(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) (expression_statement "pppiVar9 = (int ***)&uStack_64;" (assignment_expression "pppiVar9 = (int ***)&uStack_64" identifier = (cast_expression "(int ***)&uStack_64" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&uStack_64" & identifier))) ;) })) })) (if_statement "if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x3c) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x3c) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3c)" * (cast_expression "(char *)(param_1 + 0x3c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }" { (expression_statement "*(undefined4 *)((int)pppiVar9 + -0xc) = param_2;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0xc) = param_2" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0xc)" ( (binary_expression "(int)pppiVar9 + -0xc" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)pppiVar9 + -0x10) = param_1;" (assignment_expression "*(int *)((int)pppiVar9 + -0x10) = param_1" (pointer_expression "*(int *)((int)pppiVar9 + -0x10)" * (cast_expression "(int *)((int)pppiVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x10)" ( (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x14)" ( (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001b1540();" (call_expression "FUN_001b1540()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar3 = local_4c;" (assignment_expression "ppuVar3 = local_4c" identifier = identifier) ;) (expression_statement "local_34 = (int *)0x0;" (assignment_expression "local_34 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x10)" ( (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_30 = (int *)0x0;" (assignment_expression "local_30 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c[0] = 0;" (assignment_expression "local_2c[0] = 0" (subscript_expression "local_2c[0]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x14)" ( (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = (int *)FUN_001fd480();" (assignment_expression "piVar5 = (int *)FUN_001fd480()" identifier = (cast_expression "(int *)FUN_001fd480()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001fd480()" identifier (argument_list "()" ( ))))) ;) (expression_statement "piVar5[1] = -1;" (assignment_expression "piVar5[1] = -1" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[3] = 0;" (assignment_expression "piVar5[3] = 0" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar5 = (int)(ppuVar3 + -0x26f0);" (assignment_expression "*piVar5 = (int)(ppuVar3 + -0x26f0)" (pointer_expression "*piVar5" * identifier) = (cast_expression "(int)(ppuVar3 + -0x26f0)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppuVar3 + -0x26f0)" ( (binary_expression "ppuVar3 + -0x26f0" identifier + number_literal) )))) ;) (expression_statement "piVar5[4] = 0;" (assignment_expression "piVar5[4] = 0" (subscript_expression "piVar5[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[2] = param_4;" (assignment_expression "piVar5[2] = param_4" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_48 = (int *)((int)local_30 - (int)local_34);" (assignment_expression "local_48 = (int *)((int)local_30 - (int)local_34)" identifier = (cast_expression "(int *)((int)local_30 - (int)local_34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_30 - (int)local_34)" ( (binary_expression "(int)local_30 - (int)local_34" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar5[5] = 0;" (assignment_expression "piVar5[5] = 0" (subscript_expression "piVar5[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = ((int)local_48 >> 3) * -0x55555555;" (assignment_expression "uVar6 = ((int)local_48 >> 3) * -0x55555555" identifier = (binary_expression "((int)local_48 >> 3) * -0x55555555" (parenthesized_expression "((int)local_48 >> 3)" ( (binary_expression "(int)local_48 >> 3" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) * number_literal)) ;) (if_statement "if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      local_58 = (int *)0x0;\n    }" { (expression_statement "local_58 = (int *)0x0;" (assignment_expression "local_58 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      if (0xaaaaaaa < uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }" else (compound_statement "{\n      if (0xaaaaaaa < uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }" { (if_statement "if (0xaaaaaaa < uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }" if (parenthesized_expression "(0xaaaaaaa < uVar6)" ( (binary_expression "0xaaaaaaa < uVar6" number_literal < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }" { comment comment (expression_statement "*(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;" (assignment_expression "*(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c" (pointer_expression "*(undefined1 **)((int)pppiVar9 + -4)" * (cast_expression "(undefined1 **)((int)pppiVar9 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppiVar9 + -4)" ( (binary_expression "(int)pppiVar9 + -4" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&LAB_001b201c" & identifier)) ;) (expression_statement "FUN_00244870();" (call_expression "FUN_00244870()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int **)((int)pppiVar9 + -0x10) = local_48;" (assignment_expression "*(int **)((int)pppiVar9 + -0x10) = local_48" (pointer_expression "*(int **)((int)pppiVar9 + -0x10)" * (cast_expression "(int **)((int)pppiVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppiVar9 + -0x10)" ( (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x14)" ( (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_58 = (int *)FUN_001fd480();" (assignment_expression "local_58 = (int *)FUN_001fd480()" identifier = (cast_expression "(int *)FUN_001fd480()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001fd480()" identifier (argument_list "()" ( ))))) ;) }))) (expression_statement "piVar10 = local_30;" (assignment_expression "piVar10 = local_30" identifier = identifier) ;) (expression_statement "piVar5[3] = (int)local_58;" (assignment_expression "piVar5[3] = (int)local_58" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar5[4] = (int)local_58;" (assignment_expression "piVar5[4] = (int)local_58" (subscript_expression "piVar5[4]" identifier [ number_literal ]) = (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar5[5] = (int)local_48 + (int)local_58;" (assignment_expression "piVar5[5] = (int)local_48 + (int)local_58" (subscript_expression "piVar5[5]" identifier [ number_literal ]) = (binary_expression "(int)local_48 + (int)local_58" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_38 = piVar5;" (assignment_expression "local_38 = piVar5" identifier = identifier) ;) (if_statement "if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }" if (parenthesized_expression "(local_34 == local_30)" ( (binary_expression "local_34 == local_30" identifier == identifier) )) (compound_statement "{\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }" { (expression_statement "piVar5[6] = 0;" (assignment_expression "piVar5[6] = 0" (subscript_expression "piVar5[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5 = local_30;" (assignment_expression "piVar5 = local_30" identifier = identifier) ;) }) (else_clause "else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }" else (compound_statement "{\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }" { (expression_statement "local_48 = local_58;" (assignment_expression "local_48 = local_58" identifier = identifier) ;) (expression_statement "piVar8 = local_34;" (assignment_expression "piVar8 = local_34" identifier = identifier) ;) (do_statement "do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);" do (compound_statement "{\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      }" { (expression_statement "*local_48 = (int)(local_48 + 2);" (assignment_expression "*local_48 = (int)(local_48 + 2)" (pointer_expression "*local_48" * identifier) = (cast_expression "(int)(local_48 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_48 + 2)" ( (binary_expression "local_48 + 2" identifier + number_literal) )))) ;) (expression_statement "iVar1 = *piVar8;" (assignment_expression "iVar1 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "*(undefined4 *)((int)pppiVar9 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -4) = 0" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -4)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -4)" ( (binary_expression "(int)pppiVar9 + -4" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;" (assignment_expression "*(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1" (pointer_expression "*(int *)((int)pppiVar9 + -8)" * (cast_expression "(int *)((int)pppiVar9 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -8)" ( (binary_expression "(int)pppiVar9 + -8" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "piVar8[1] + iVar1" (subscript_expression "piVar8[1]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(int *)((int)pppiVar9 + -0xc) = iVar1;" (assignment_expression "*(int *)((int)pppiVar9 + -0xc) = iVar1" (pointer_expression "*(int *)((int)pppiVar9 + -0xc)" * (cast_expression "(int *)((int)pppiVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0xc)" ( (binary_expression "(int)pppiVar9 + -0xc" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)pppiVar9 + -0x10) = local_48;" (assignment_expression "*(int **)((int)pppiVar9 + -0x10) = local_48" (pointer_expression "*(int **)((int)pppiVar9 + -0x10)" * (cast_expression "(int **)((int)pppiVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppiVar9 + -0x10)" ( (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x14)" ( (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00068b30();" (call_expression "FUN_00068b30()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar4 = local_30;" (assignment_expression "piVar4 = local_30" identifier = identifier) ;) (expression_statement "piVar8 = piVar8 + 6;" (assignment_expression "piVar8 = piVar8 + 6" identifier = (binary_expression "piVar8 + 6" identifier + number_literal)) ;) (expression_statement "local_48 = local_48 + 6;" (assignment_expression "local_48 = local_48 + 6" identifier = (binary_expression "local_48 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar10 != piVar8)" ( (binary_expression "piVar10 != piVar8" identifier != identifier) )) ;) (expression_statement "piVar5[6] = 0;" (assignment_expression "piVar5[6] = 0" (subscript_expression "piVar5[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[4] = (int)local_48;" (assignment_expression "piVar5[4] = (int)local_48" (subscript_expression "piVar5[4]" identifier [ number_literal ]) = (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar5 = local_30;" (assignment_expression "piVar5 = local_30" identifier = identifier) ;) (for_statement "for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }" for ( (assignment_expression "piVar10 = local_34" identifier = identifier) ; (binary_expression "piVar4 != piVar10" identifier != identifier) ; (assignment_expression "piVar10 = piVar10 + 6" identifier = (binary_expression "piVar10 + 6" identifier + number_literal)) ) (compound_statement "{\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }" { (if_statement "if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }" if (parenthesized_expression "((int *)*piVar10 != piVar10 + 2)" ( (binary_expression "(int *)*piVar10 != piVar10 + 2" (cast_expression "(int *)*piVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar10" * identifier)) != (binary_expression "piVar10 + 2" identifier + number_literal)) )) (compound_statement "{\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }" { (expression_statement "*(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;" (assignment_expression "*(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10" (pointer_expression "*(int **)((int)pppiVar9 + -0x10)" * (cast_expression "(int **)((int)pppiVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppiVar9 + -0x10)" ( (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(int *)*piVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar10" * identifier))) ;) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x14)" ( (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ff030();" (call_expression "FUN_001ff030()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar5 = local_34;" (assignment_expression "piVar5 = local_34" identifier = identifier) ;) })) }))) (if_statement "if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }" { (expression_statement "*(int **)((int)pppiVar9 + -0x10) = piVar5;" (assignment_expression "*(int **)((int)pppiVar9 + -0x10) = piVar5" (pointer_expression "*(int **)((int)pppiVar9 + -0x10)" * (cast_expression "(int **)((int)pppiVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppiVar9 + -0x10)" ( (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x14)" ( (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ff030();" (call_expression "FUN_001ff030()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar2 = *(undefined4 **)(param_1 + 4);" (assignment_expression "puVar2 = *(undefined4 **)(param_1 + 4)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 4)" * (cast_expression "(undefined4 **)(param_1 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (if_statement "if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }" if (parenthesized_expression "(puVar2 == *(undefined4 **)(param_1 + 8))" ( (binary_expression "puVar2 == *(undefined4 **)(param_1 + 8)" identifier == (pointer_expression "*(undefined4 **)(param_1 + 8)" * (cast_expression "(undefined4 **)(param_1 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }" { (expression_statement "*(int ***)((int)pppiVar9 + -8) = &local_38;" (assignment_expression "*(int ***)((int)pppiVar9 + -8) = &local_38" (pointer_expression "*(int ***)((int)pppiVar9 + -8)" * (cast_expression "(int ***)((int)pppiVar9 + -8)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppiVar9 + -8)" ( (binary_expression "(int)pppiVar9 + -8" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "*(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;" (assignment_expression "*(undefined4 **)((int)pppiVar9 + -0xc) = puVar2" (pointer_expression "*(undefined4 **)((int)pppiVar9 + -0xc)" * (cast_expression "(undefined4 **)((int)pppiVar9 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppiVar9 + -0xc)" ( (binary_expression "(int)pppiVar9 + -0xc" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)pppiVar9 + -0x10) = param_1;" (assignment_expression "*(int *)((int)pppiVar9 + -0x10) = param_1" (pointer_expression "*(int *)((int)pppiVar9 + -0x10)" * (cast_expression "(int *)((int)pppiVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x10)" ( (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x14)" ( (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001b6140();" (call_expression "FUN_001b6140()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }" else (compound_statement "{\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }" { (expression_statement "*puVar2 = local_38;" (assignment_expression "*puVar2 = local_38" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "*(undefined4 **)(param_1 + 4) = puVar2 + 1;" (assignment_expression "*(undefined4 **)(param_1 + 4) = puVar2 + 1" (pointer_expression "*(undefined4 **)(param_1 + 4)" * (cast_expression "(undefined4 **)(param_1 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = (binary_expression "puVar2 + 1" identifier + number_literal)) ;) }))) (expression_statement "*(int **)(local_50 + 0xc) = local_38;" (assignment_expression "*(int **)(local_50 + 0xc) = local_38" (pointer_expression "*(int **)(local_50 + 0xc)" * (cast_expression "(int **)(local_50 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 0xc)" ( (binary_expression "local_50 + 0xc" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "piVar5 = *(int **)(local_44 + 0xc);" (assignment_expression "piVar5 = *(int **)(local_44 + 0xc)" identifier = (pointer_expression "*(int **)(local_44 + 0xc)" * (cast_expression "(int **)(local_44 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_44 + 0xc)" ( (binary_expression "local_44 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (piVar5 != (int *)0x0) {\n    if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }\n    return;\n  }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }\n    return;\n  }" { (if_statement "if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }" if (parenthesized_expression "(*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354)" ( (binary_expression "*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354" (pointer_expression "*(undefined ***)(*piVar5 + 8)" * (cast_expression "(undefined ***)(*piVar5 + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar5 + 8)" ( (binary_expression "*piVar5 + 8" (pointer_expression "*piVar5" * identifier) + number_literal) )))) == (binary_expression "local_4c + -0x7f354" identifier + number_literal)) )) (compound_statement "{\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }" { (expression_statement "*(undefined1 *)((int)piVar5 + 0x19) = 0;" (assignment_expression "*(undefined1 *)((int)piVar5 + 0x19) = 0" (pointer_expression "*(undefined1 *)((int)piVar5 + 0x19)" * (cast_expression "(undefined1 *)((int)piVar5 + 0x19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 0x19)" ( (binary_expression "(int)piVar5 + 0x19" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }" else (compound_statement "{\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }" { (expression_statement "(*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);" (call_expression "(*(code *)*(undefined ***)(*piVar5 + 8))(piVar5)" (parenthesized_expression "(*(code *)*(undefined ***)(*piVar5 + 8))" ( (pointer_expression "*(code *)*(undefined ***)(*piVar5 + 8)" * (cast_expression "(code *)*(undefined ***)(*piVar5 + 8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined ***)(*piVar5 + 8)" * (cast_expression "(undefined ***)(*piVar5 + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar5 + 8)" ( (binary_expression "*piVar5 + 8" (pointer_expression "*piVar5" * identifier) + number_literal) )))))) )) (argument_list "(piVar5)" ( identifier ))) ;) }))) (return_statement "return;" return ;) })) comment (expression_statement "FUN_0007d010((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295);" (call_expression "FUN_0007d010((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295)" identifier (argument_list "((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295)" ( (binary_expression "(int)local_4c + -0xf50ef" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal , (binary_expression "local_4c + -0x3d295" identifier + number_literal) ))) ;) })))
(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 add_def(Versions * this, Stringpool * dynpool, Symbol * sym, char\n   * version, Key version_key) */\n\nvoid __thiscall\ngold::Versions::add_def\n          (Versions *this,Stringpool *dynpool,Symbol *sym,char *version,Key version_key)\n\n{\n  __bucket_type p_Var1;\n  _Hash_node_base *p_Var2;\n  iterator __position;\n  undefined1 *puVar3;\n  int *piVar4;\n  Verdef *pVVar5;\n  uint uVar6;\n  uint uVar7;\n  char *format;\n  int *piVar8;\n  int *piVar9;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_58;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_48;\n  __bucket_type *local_44;\n  char local_40;\n  Verdef *vd;\n  int *local_34;\n  int *local_30;\n  __bucket_type local_2c;\n  \n  local_34 = (int *)version_key;\n  local_30 = (int *)0x0;\n  local_2c = (__bucket_type)0x0;\n  std::\n  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::_M_emplace<std::pair<std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>\n            ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              *)&stack0xffffffbc,&this->version_table_,0,&stack0xffffffcc);\n  if (local_40 != '\0') {\n    if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    if ((parameters->options_->shared_).value != false) {\n      Symbol::demangled_name(sym);\n      puVar3 = (undefined1 *)local_34;\n      format = (char *)gettext("symbol %s has undefined version %s");\n                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */\n      gold_error(format,puVar3,version);\n      if ((__bucket_type *)local_34 != &stack0xffffffd4) {\n        operator_delete(local_34);\n      }\n    }\n    if (this->needs_base_version_ != false) {\n      define_base_version(this,dynpool);\n    }\n    local_34 = (int *)0x0;\n    local_30 = (int *)0x0;\n    local_2c = (__bucket_type)0x0;\n                    /* try { // try from 001b1dcf to 001b1dd3 has its CatchHandler @ 001b202f */\n    pVVar5 = (Verdef *)operator_new(0x1c);\n    (pVVar5->super_Version_base).index_ = 0xffffffff;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_start = (pointer)0x0;\n    (pVVar5->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_003a5440;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    pVVar5->name_ = version;\n    uVar6 = (int)local_30 - (int)local_34;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    uVar7 = ((int)uVar6 >> 3) * -0x55555555;\n    if (uVar7 == 0) {\n      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        std::__throw_bad_alloc();\n      }\n                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */\n      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                 operator_new(uVar6);\n    }\n    piVar9 = local_30;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_start = local_58;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = local_58;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)(uVar6 + (int)local_58);\n    vd = pVVar5;\n    if (local_34 == local_30) {\n      pVVar5->is_base_ = false;\n      pVVar5->is_weak_ = false;\n      pVVar5->is_info_ = false;\n      pVVar5->is_symbol_created_ = false;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        (local_48->_M_dataplus)._M_p = (pointer)&local_48->field_2;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(local_48,*piVar8,piVar8[1] + *piVar8,0);\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 1;\n      } while (piVar9 != piVar8);\n      pVVar5->is_base_ = false;\n      pVVar5->is_weak_ = false;\n      pVVar5->is_info_ = false;\n      pVVar5->is_symbol_created_ = false;\n      (pVVar5->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = local_48;\n      piVar9 = local_30;\n      for (piVar8 = local_34; piVar4 != piVar8; piVar8 = piVar8 + 6) {\n        if ((int *)*piVar8 != piVar8 + 2) {\n          operator_delete((int *)*piVar8);\n        }\n        piVar9 = local_34;\n      }\n    }\n    if (piVar9 != (int *)0x0) {\n      operator_delete(piVar9);\n    }\n    __position._M_current =\n         (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n         _M_finish;\n    if (__position._M_current ==\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_end_of_storage) {\n      std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n      _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);\n    }\n    else {\n      *__position._M_current = vd;\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish = __position._M_current + 1;\n    }\n    local_44[3] = (__bucket_type)vd;\n    return;\n  }\n  p_Var1 = local_44[3];\n  if (p_Var1 != (__bucket_type)0x0) {\n    p_Var2 = p_Var1->_M_nxt[2]._M_nxt;\n    if (p_Var2 == (_Hash_node_base *)Verdef::clear_weak) {\n      *(undefined1 *)((int)&p_Var1[6]._M_nxt + 1) = 0;\n    }\n    else {\n      (*(code *)p_Var2)(p_Var1);\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/dynobj.cc",0x61f,"add_def");\n}\n\n" comment comment comment comment (function_definition "void __thiscall\ngold::Versions::add_def\n          (Versions *this,Stringpool *dynpool,Symbol *sym,char *version,Key version_key)\n\n{\n  __bucket_type p_Var1;\n  _Hash_node_base *p_Var2;\n  iterator __position;\n  undefined1 *puVar3;\n  int *piVar4;\n  Verdef *pVVar5;\n  uint uVar6;\n  uint uVar7;\n  char *format;\n  int *piVar8;\n  int *piVar9;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_58;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_48;\n  __bucket_type *local_44;\n  char local_40;\n  Verdef *vd;\n  int *local_34;\n  int *local_30;\n  __bucket_type local_2c;\n  \n  local_34 = (int *)version_key;\n  local_30 = (int *)0x0;\n  local_2c = (__bucket_type)0x0;\n  std::\n  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::_M_emplace<std::pair<std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>\n            ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              *)&stack0xffffffbc,&this->version_table_,0,&stack0xffffffcc);\n  if (local_40 != '\0') {\n    if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    if ((parameters->options_->shared_).value != false) {\n      Symbol::demangled_name(sym);\n      puVar3 = (undefined1 *)local_34;\n      format = (char *)gettext("symbol %s has undefined version %s");\n                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */\n      gold_error(format,puVar3,version);\n      if ((__bucket_type *)local_34 != &stack0xffffffd4) {\n        operator_delete(local_34);\n      }\n    }\n    if (this->needs_base_version_ != false) {\n      define_base_version(this,dynpool);\n    }\n    local_34 = (int *)0x0;\n    local_30 = (int *)0x0;\n    local_2c = (__bucket_type)0x0;\n                    /* try { // try from 001b1dcf to 001b1dd3 has its CatchHandler @ 001b202f */\n    pVVar5 = (Verdef *)operator_new(0x1c);\n    (pVVar5->super_Version_base).index_ = 0xffffffff;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_start = (pointer)0x0;\n    (pVVar5->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_003a5440;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    pVVar5->name_ = version;\n    uVar6 = (int)local_30 - (int)local_34;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    uVar7 = ((int)uVar6 >> 3) * -0x55555555;\n    if (uVar7 == 0) {\n      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        std::__throw_bad_alloc();\n      }\n                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */\n      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                 operator_new(uVar6);\n    }\n    piVar9 = local_30;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_start = local_58;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = local_58;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)(uVar6 + (int)local_58);\n    vd = pVVar5;\n    if (local_34 == local_30) {\n      pVVar5->is_base_ = false;\n      pVVar5->is_weak_ = false;\n      pVVar5->is_info_ = false;\n      pVVar5->is_symbol_created_ = false;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        (local_48->_M_dataplus)._M_p = (pointer)&local_48->field_2;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(local_48,*piVar8,piVar8[1] + *piVar8,0);\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 1;\n      } while (piVar9 != piVar8);\n      pVVar5->is_base_ = false;\n      pVVar5->is_weak_ = false;\n      pVVar5->is_info_ = false;\n      pVVar5->is_symbol_created_ = false;\n      (pVVar5->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = local_48;\n      piVar9 = local_30;\n      for (piVar8 = local_34; piVar4 != piVar8; piVar8 = piVar8 + 6) {\n        if ((int *)*piVar8 != piVar8 + 2) {\n          operator_delete((int *)*piVar8);\n        }\n        piVar9 = local_34;\n      }\n    }\n    if (piVar9 != (int *)0x0) {\n      operator_delete(piVar9);\n    }\n    __position._M_current =\n         (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n         _M_finish;\n    if (__position._M_current ==\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_end_of_storage) {\n      std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n      _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);\n    }\n    else {\n      *__position._M_current = vd;\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish = __position._M_current + 1;\n    }\n    local_44[3] = (__bucket_type)vd;\n    return;\n  }\n  p_Var1 = local_44[3];\n  if (p_Var1 != (__bucket_type)0x0) {\n    p_Var2 = p_Var1->_M_nxt[2]._M_nxt;\n    if (p_Var2 == (_Hash_node_base *)Verdef::clear_weak) {\n      *(undefined1 *)((int)&p_Var1[6]._M_nxt + 1) = 0;\n    }\n    else {\n      (*(code *)p_Var2)(p_Var1);\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/dynobj.cc",0x61f,"add_def");\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Versions::" identifier : : identifier : :) (function_declarator "add_def\n          (Versions *this,Stringpool *dynpool,Symbol *sym,char *version,Key version_key)" identifier (parameter_list "(Versions *this,Stringpool *dynpool,Symbol *sym,char *version,Key version_key)" ( (parameter_declaration "Versions *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Stringpool *dynpool" type_identifier (pointer_declarator "*dynpool" * identifier)) , (parameter_declaration "Symbol *sym" type_identifier (pointer_declarator "*sym" * identifier)) , (parameter_declaration "char *version" primitive_type (pointer_declarator "*version" * identifier)) , (parameter_declaration "Key version_key" type_identifier identifier) ))) (compound_statement "{\n  __bucket_type p_Var1;\n  _Hash_node_base *p_Var2;\n  iterator __position;\n  undefined1 *puVar3;\n  int *piVar4;\n  Verdef *pVVar5;\n  uint uVar6;\n  uint uVar7;\n  char *format;\n  int *piVar8;\n  int *piVar9;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_58;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *local_48;\n  __bucket_type *local_44;\n  char local_40;\n  Verdef *vd;\n  int *local_34;\n  int *local_30;\n  __bucket_type local_2c;\n  \n  local_34 = (int *)version_key;\n  local_30 = (int *)0x0;\n  local_2c = (__bucket_type)0x0;\n  std::\n  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::_M_emplace<std::pair<std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>\n            ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              *)&stack0xffffffbc,&this->version_table_,0,&stack0xffffffcc);\n  if (local_40 != '\0') {\n    if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    if ((parameters->options_->shared_).value != false) {\n      Symbol::demangled_name(sym);\n      puVar3 = (undefined1 *)local_34;\n      format = (char *)gettext("symbol %s has undefined version %s");\n                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */\n      gold_error(format,puVar3,version);\n      if ((__bucket_type *)local_34 != &stack0xffffffd4) {\n        operator_delete(local_34);\n      }\n    }\n    if (this->needs_base_version_ != false) {\n      define_base_version(this,dynpool);\n    }\n    local_34 = (int *)0x0;\n    local_30 = (int *)0x0;\n    local_2c = (__bucket_type)0x0;\n                    /* try { // try from 001b1dcf to 001b1dd3 has its CatchHandler @ 001b202f */\n    pVVar5 = (Verdef *)operator_new(0x1c);\n    (pVVar5->super_Version_base).index_ = 0xffffffff;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_start = (pointer)0x0;\n    (pVVar5->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_003a5440;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    pVVar5->name_ = version;\n    uVar6 = (int)local_30 - (int)local_34;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    uVar7 = ((int)uVar6 >> 3) * -0x55555555;\n    if (uVar7 == 0) {\n      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        std::__throw_bad_alloc();\n      }\n                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */\n      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                 operator_new(uVar6);\n    }\n    piVar9 = local_30;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_start = local_58;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = local_58;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)(uVar6 + (int)local_58);\n    vd = pVVar5;\n    if (local_34 == local_30) {\n      pVVar5->is_base_ = false;\n      pVVar5->is_weak_ = false;\n      pVVar5->is_info_ = false;\n      pVVar5->is_symbol_created_ = false;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        (local_48->_M_dataplus)._M_p = (pointer)&local_48->field_2;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(local_48,*piVar8,piVar8[1] + *piVar8,0);\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 1;\n      } while (piVar9 != piVar8);\n      pVVar5->is_base_ = false;\n      pVVar5->is_weak_ = false;\n      pVVar5->is_info_ = false;\n      pVVar5->is_symbol_created_ = false;\n      (pVVar5->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = local_48;\n      piVar9 = local_30;\n      for (piVar8 = local_34; piVar4 != piVar8; piVar8 = piVar8 + 6) {\n        if ((int *)*piVar8 != piVar8 + 2) {\n          operator_delete((int *)*piVar8);\n        }\n        piVar9 = local_34;\n      }\n    }\n    if (piVar9 != (int *)0x0) {\n      operator_delete(piVar9);\n    }\n    __position._M_current =\n         (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n         _M_finish;\n    if (__position._M_current ==\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_end_of_storage) {\n      std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n      _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);\n    }\n    else {\n      *__position._M_current = vd;\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish = __position._M_current + 1;\n    }\n    local_44[3] = (__bucket_type)vd;\n    return;\n  }\n  p_Var1 = local_44[3];\n  if (p_Var1 != (__bucket_type)0x0) {\n    p_Var2 = p_Var1->_M_nxt[2]._M_nxt;\n    if (p_Var2 == (_Hash_node_base *)Verdef::clear_weak) {\n      *(undefined1 *)((int)&p_Var1[6]._M_nxt + 1) = 0;\n    }\n    else {\n      (*(code *)p_Var2)(p_Var1);\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/dynobj.cc",0x61f,"add_def");\n}" { (declaration "__bucket_type p_Var1;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (declaration "iterator __position;" type_identifier identifier ;) (declaration "undefined1 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "Verdef *pVVar5;" type_identifier (pointer_declarator "*pVVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_> *local_58;" (binary_expression "allocator<char>_> *local_58" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*local_58" * identifier)) ;) (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_> *local_48;" (binary_expression "allocator<char>_> *local_48" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*local_48" * identifier)) ;) (declaration "__bucket_type *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "char local_40;" primitive_type identifier ;) (declaration "Verdef *vd;" type_identifier (pointer_declarator "*vd" * identifier) ;) (declaration "int *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "__bucket_type local_2c;" type_identifier identifier ;) (expression_statement "local_34 = (int *)version_key;" (assignment_expression "local_34 = (int *)version_key" identifier = (cast_expression "(int *)version_key" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_30 = (int *)0x0;" (assignment_expression "local_30 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c = (__bucket_type)0x0;" (assignment_expression "local_2c = (__bucket_type)0x0" identifier = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) (ERROR "std::\n  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n  ::_M_emplace<std::pair<std::pair<unsigned_int,_unsigned_int>,_gold::" (comma_expression "std::\n  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold" (binary_expression "std::\n  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std" (binary_expression "std::\n  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_" identifier (ERROR "::\n  _Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*" : : (binary_expression "_Hashtable<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_std" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (comma_expression "Version_base*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : identifier *) > identifier) > (ERROR "," ,) identifier) (ERROR "::__detail::_Select1st" : : identifier : : identifier) , identifier) : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : identifier , identifier : : identifier : : (comma_expression "_Hashtable_traits<true,_false,_true>_>\n  ::_M_emplace<std" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n  ::_M_emplace<std" identifier , (binary_expression "_true>_>\n  ::_M_emplace<std" (binary_expression "_true>_>\n  ::_M_emplace" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier) < identifier))) : : (binary_expression "pair<std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : :) (expression_statement "Version_base*>_>\n            ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              *)&stack0xffffffbc,&this->version_table_,0,&stack0xffffffcc);" (binary_expression "Version_base*>_>\n            ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              *)&stack0xffffffbc,&this->version_table_,0,&stack0xffffffcc)" (binary_expression "Version_base*>_" identifier * (ERROR ">" >) identifier) > (parenthesized_expression "((_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              *)&stack0xffffffbc,&this->version_table_,0,&stack0xffffffcc)" ( (comma_expression "(_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              *)&stack0xffffffbc,&this->version_table_,0,&stack0xffffffcc" (binary_expression "(_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              *)&stack0xffffffbc" (parenthesized_expression "(_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              *)" ( (ERROR "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>,_std::allocator<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::Version_base*>_>,_std::__detail::_Select1st,_gold::Versions::Version_table_eq,_gold::Versions::Version_table_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<unsigned_int" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (comma_expression "Version_base*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (comma_expression "pair<unsigned_int,_unsigned_int>,_gold" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>,_gold" identifier > (ERROR "," ,) identifier)) : : (binary_expression "Version_base*>_>,_std" (binary_expression "Version_base*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_gold" identifier , identifier) : : identifier : : (comma_expression "Version_table_eq,_gold" identifier , identifier) : : identifier : : (comma_expression "Version_table_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_false,_true>_>\n              *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n              *" identifier , (binary_expression "_true>_>\n              *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & identifier) , (comma_expression "&this->version_table_,0,&stack0xffffffcc" (pointer_expression "&this->version_table_" & (field_expression "this->version_table_" identifier -> field_identifier)) , (comma_expression "0,&stack0xffffffcc" number_literal , (pointer_expression "&stack0xffffffcc" & identifier)))) ))) ;) (if_statement "if (local_40 != '\0') {\n    if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    if ((parameters->options_->shared_).value != false) {\n      Symbol::demangled_name(sym);\n      puVar3 = (undefined1 *)local_34;\n      format = (char *)gettext("symbol %s has undefined version %s");\n                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */\n      gold_error(format,puVar3,version);\n      if ((__bucket_type *)local_34 != &stack0xffffffd4) {\n        operator_delete(local_34);\n      }\n    }\n    if (this->needs_base_version_ != false) {\n      define_base_version(this,dynpool);\n    }\n    local_34 = (int *)0x0;\n    local_30 = (int *)0x0;\n    local_2c = (__bucket_type)0x0;\n                    /* try { // try from 001b1dcf to 001b1dd3 has its CatchHandler @ 001b202f */\n    pVVar5 = (Verdef *)operator_new(0x1c);\n    (pVVar5->super_Version_base).index_ = 0xffffffff;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_start = (pointer)0x0;\n    (pVVar5->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_003a5440;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    pVVar5->name_ = version;\n    uVar6 = (int)local_30 - (int)local_34;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    uVar7 = ((int)uVar6 >> 3) * -0x55555555;\n    if (uVar7 == 0) {\n      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        std::__throw_bad_alloc();\n      }\n                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */\n      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                 operator_new(uVar6);\n    }\n    piVar9 = local_30;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_start = local_58;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = local_58;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)(uVar6 + (int)local_58);\n    vd = pVVar5;\n    if (local_34 == local_30) {\n      pVVar5->is_base_ = false;\n      pVVar5->is_weak_ = false;\n      pVVar5->is_info_ = false;\n      pVVar5->is_symbol_created_ = false;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        (local_48->_M_dataplus)._M_p = (pointer)&local_48->field_2;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(local_48,*piVar8,piVar8[1] + *piVar8,0);\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 1;\n      } while (piVar9 != piVar8);\n      pVVar5->is_base_ = false;\n      pVVar5->is_weak_ = false;\n      pVVar5->is_info_ = false;\n      pVVar5->is_symbol_created_ = false;\n      (pVVar5->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = local_48;\n      piVar9 = local_30;\n      for (piVar8 = local_34; piVar4 != piVar8; piVar8 = piVar8 + 6) {\n        if ((int *)*piVar8 != piVar8 + 2) {\n          operator_delete((int *)*piVar8);\n        }\n        piVar9 = local_34;\n      }\n    }\n    if (piVar9 != (int *)0x0) {\n      operator_delete(piVar9);\n    }\n    __position._M_current =\n         (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n         _M_finish;\n    if (__position._M_current ==\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_end_of_storage) {\n      std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n      _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);\n    }\n    else {\n      *__position._M_current = vd;\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish = __position._M_current + 1;\n    }\n    local_44[3] = (__bucket_type)vd;\n    return;\n  }" if (parenthesized_expression "(local_40 != '\0')" ( (binary_expression "local_40 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    if ((parameters->options_->shared_).value != false) {\n      Symbol::demangled_name(sym);\n      puVar3 = (undefined1 *)local_34;\n      format = (char *)gettext("symbol %s has undefined version %s");\n                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */\n      gold_error(format,puVar3,version);\n      if ((__bucket_type *)local_34 != &stack0xffffffd4) {\n        operator_delete(local_34);\n      }\n    }\n    if (this->needs_base_version_ != false) {\n      define_base_version(this,dynpool);\n    }\n    local_34 = (int *)0x0;\n    local_30 = (int *)0x0;\n    local_2c = (__bucket_type)0x0;\n                    /* try { // try from 001b1dcf to 001b1dd3 has its CatchHandler @ 001b202f */\n    pVVar5 = (Verdef *)operator_new(0x1c);\n    (pVVar5->super_Version_base).index_ = 0xffffffff;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_start = (pointer)0x0;\n    (pVVar5->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_003a5440;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    pVVar5->name_ = version;\n    uVar6 = (int)local_30 - (int)local_34;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    uVar7 = ((int)uVar6 >> 3) * -0x55555555;\n    if (uVar7 == 0) {\n      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        std::__throw_bad_alloc();\n      }\n                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */\n      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                 operator_new(uVar6);\n    }\n    piVar9 = local_30;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_start = local_58;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_finish = local_58;\n    (pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)(uVar6 + (int)local_58);\n    vd = pVVar5;\n    if (local_34 == local_30) {\n      pVVar5->is_base_ = false;\n      pVVar5->is_weak_ = false;\n      pVVar5->is_info_ = false;\n      pVVar5->is_symbol_created_ = false;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        (local_48->_M_dataplus)._M_p = (pointer)&local_48->field_2;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(local_48,*piVar8,piVar8[1] + *piVar8,0);\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 1;\n      } while (piVar9 != piVar8);\n      pVVar5->is_base_ = false;\n      pVVar5->is_weak_ = false;\n      pVVar5->is_info_ = false;\n      pVVar5->is_symbol_created_ = false;\n      (pVVar5->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = local_48;\n      piVar9 = local_30;\n      for (piVar8 = local_34; piVar4 != piVar8; piVar8 = piVar8 + 6) {\n        if ((int *)*piVar8 != piVar8 + 2) {\n          operator_delete((int *)*piVar8);\n        }\n        piVar9 = local_34;\n      }\n    }\n    if (piVar9 != (int *)0x0) {\n      operator_delete(piVar9);\n    }\n    __position._M_current =\n         (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n         _M_finish;\n    if (__position._M_current ==\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_end_of_storage) {\n      std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n      _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);\n    }\n    else {\n      *__position._M_current = vd;\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish = __position._M_current + 1;\n    }\n    local_44[3] = (__bucket_type)vd;\n    return;\n  }" { (if_statement "if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(parameters->options_ == (General_options *)0x0)" ( (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if ((parameters->options_->shared_).value != false) {\n      Symbol::demangled_name(sym);\n      puVar3 = (undefined1 *)local_34;\n      format = (char *)gettext("symbol %s has undefined version %s");\n                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */\n      gold_error(format,puVar3,version);\n      if ((__bucket_type *)local_34 != &stack0xffffffd4) {\n        operator_delete(local_34);\n      }\n    }" if (parenthesized_expression "((parameters->options_->shared_).value != false)" ( (binary_expression "(parameters->options_->shared_).value != false" (field_expression "(parameters->options_->shared_).value" (parenthesized_expression "(parameters->options_->shared_)" ( (field_expression "parameters->options_->shared_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n      Symbol::demangled_name(sym);\n      puVar3 = (undefined1 *)local_34;\n      format = (char *)gettext("symbol %s has undefined version %s");\n                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */\n      gold_error(format,puVar3,version);\n      if ((__bucket_type *)local_34 != &stack0xffffffd4) {\n        operator_delete(local_34);\n      }\n    }" { (labeled_statement "Symbol::demangled_name(sym);" statement_identifier : (ERROR ":" :) (expression_statement "demangled_name(sym);" (call_expression "demangled_name(sym)" identifier (argument_list "(sym)" ( identifier ))) ;)) (expression_statement "puVar3 = (undefined1 *)local_34;" (assignment_expression "puVar3 = (undefined1 *)local_34" identifier = (cast_expression "(undefined1 *)local_34" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "format = (char *)gettext("symbol %s has undefined version %s");" (assignment_expression "format = (char *)gettext("symbol %s has undefined version %s")" identifier = (cast_expression "(char *)gettext("symbol %s has undefined version %s")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("symbol %s has undefined version %s")" identifier (argument_list "("symbol %s has undefined version %s")" ( (string_literal ""symbol %s has undefined version %s"" " string_content ") ))))) ;) comment (expression_statement "gold_error(format,puVar3,version);" (call_expression "gold_error(format,puVar3,version)" identifier (argument_list "(format,puVar3,version)" ( identifier , identifier , identifier ))) ;) (if_statement "if ((__bucket_type *)local_34 != &stack0xffffffd4) {\n        operator_delete(local_34);\n      }" if (parenthesized_expression "((__bucket_type *)local_34 != &stack0xffffffd4)" ( (binary_expression "(__bucket_type *)local_34 != &stack0xffffffd4" (cast_expression "(__bucket_type *)local_34" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (pointer_expression "&stack0xffffffd4" & identifier)) )) (compound_statement "{\n        operator_delete(local_34);\n      }" { (expression_statement "operator_delete(local_34);" (call_expression "operator_delete(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) })) })) (if_statement "if (this->needs_base_version_ != false) {\n      define_base_version(this,dynpool);\n    }" if (parenthesized_expression "(this->needs_base_version_ != false)" ( (binary_expression "this->needs_base_version_ != false" (field_expression "this->needs_base_version_" identifier -> field_identifier) != false) )) (compound_statement "{\n      define_base_version(this,dynpool);\n    }" { (expression_statement "define_base_version(this,dynpool);" (call_expression "define_base_version(this,dynpool)" identifier (argument_list "(this,dynpool)" ( identifier , identifier ))) ;) })) (expression_statement "local_34 = (int *)0x0;" (assignment_expression "local_34 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_30 = (int *)0x0;" (assignment_expression "local_30 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c = (__bucket_type)0x0;" (assignment_expression "local_2c = (__bucket_type)0x0" identifier = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) comment (expression_statement "pVVar5 = (Verdef *)operator_new(0x1c);" (assignment_expression "pVVar5 = (Verdef *)operator_new(0x1c)" identifier = (cast_expression "(Verdef *)operator_new(0x1c)" ( (type_descriptor "Verdef *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x1c)" identifier (argument_list "(0x1c)" ( number_literal ))))) ;) (expression_statement "(pVVar5->super_Version_base).index_ = 0xffffffff;" (assignment_expression "(pVVar5->super_Version_base).index_ = 0xffffffff" (field_expression "(pVVar5->super_Version_base).index_" (parenthesized_expression "(pVVar5->super_Version_base)" ( (field_expression "pVVar5->super_Version_base" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (ERROR "(pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(pVVar5->deps_).\n    super__Vector_base<std" (field_expression "(pVVar5->deps_).\n    super__Vector_base" (parenthesized_expression "(pVVar5->deps_)" ( (field_expression "pVVar5->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n    ._M_impl._M_start = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n    ._M_impl._M_start = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n    ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n    ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(pVVar5->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_003a5440;" (assignment_expression "(pVVar5->super_Version_base)._vptr_Version_base = (_func_int_varargs **)&PTR__Verdef_003a5440" (field_expression "(pVVar5->super_Version_base)._vptr_Version_base" (parenthesized_expression "(pVVar5->super_Version_base)" ( (field_expression "pVVar5->super_Version_base" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Verdef_003a5440" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Verdef_003a5440" & identifier))) ;) (ERROR "(pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(pVVar5->deps_).\n    super__Vector_base<std" (field_expression "(pVVar5->deps_).\n    super__Vector_base" (parenthesized_expression "(pVVar5->deps_)" ( (field_expression "pVVar5->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n    ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n    ._M_impl._M_finish = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n    ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n    ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "pVVar5->name_ = version;" (assignment_expression "pVVar5->name_ = version" (field_expression "pVVar5->name_" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar6 = (int)local_30 - (int)local_34;" (assignment_expression "uVar6 = (int)local_30 - (int)local_34" identifier = (binary_expression "(int)local_30 - (int)local_34" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (ERROR "(pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(pVVar5->deps_).\n    super__Vector_base<std" (field_expression "(pVVar5->deps_).\n    super__Vector_base" (parenthesized_expression "(pVVar5->deps_)" ( (field_expression "pVVar5->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage" (field_expression "allocator<char>_>_>_>\n    ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "uVar7 = ((int)uVar6 >> 3) * -0x55555555;" (assignment_expression "uVar7 = ((int)uVar6 >> 3) * -0x55555555" identifier = (binary_expression "((int)uVar6 >> 3) * -0x55555555" (parenthesized_expression "((int)uVar6 >> 3)" ( (binary_expression "(int)uVar6 >> 3" (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) * number_literal)) ;) (if_statement "if (uVar7 == 0) {\n      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        std::__throw_bad_alloc();\n      }\n                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */\n      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                 operator_new(uVar6);\n    }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;\n    }" { (expression_statement "local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0;" (assignment_expression "local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0" identifier = (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)0x0" ( (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_> *)0x0" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) }) (else_clause "else {\n      if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        std::__throw_bad_alloc();\n      }\n                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */\n      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                 operator_new(uVar6);\n    }" else (compound_statement "{\n      if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        std::__throw_bad_alloc();\n      }\n                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */\n      local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                 operator_new(uVar6);\n    }" { (if_statement "if (0xaaaaaaa < uVar7) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        std::__throw_bad_alloc();\n      }" if (parenthesized_expression "(0xaaaaaaa < uVar7)" ( (binary_expression "0xaaaaaaa < uVar7" number_literal < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */\n        std::__throw_bad_alloc();\n      }" { comment comment (labeled_statement "std::__throw_bad_alloc();" statement_identifier : (ERROR ":" :) (expression_statement "__throw_bad_alloc();" (call_expression "__throw_bad_alloc()" identifier (argument_list "()" ( ))) ;)) })) comment (expression_statement "local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                 operator_new(uVar6);" (assignment_expression "local_58 = (basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                 operator_new(uVar6)" identifier = (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                 operator_new(uVar6)" ( (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_> *)\n                 operator_new(uVar6)" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)\n                 operator_new(uVar6)" * (ERROR ")" )) (call_expression "operator_new(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))))) ))) ;) }))) (expression_statement "piVar9 = local_30;" (assignment_expression "piVar9 = local_30" identifier = identifier) ;) (ERROR "(pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(pVVar5->deps_).\n    super__Vector_base<std" (field_expression "(pVVar5->deps_).\n    super__Vector_base" (parenthesized_expression "(pVVar5->deps_)" ( (field_expression "pVVar5->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n    ._M_impl._M_start = local_58;" (assignment_expression "allocator<char>_>_>_>\n    ._M_impl._M_start = local_58" (field_expression "allocator<char>_>_>_>\n    ._M_impl._M_start" (field_expression "allocator<char>_>_>_>\n    ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (ERROR "(pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(pVVar5->deps_).\n    super__Vector_base<std" (field_expression "(pVVar5->deps_).\n    super__Vector_base" (parenthesized_expression "(pVVar5->deps_)" ( (field_expression "pVVar5->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n    ._M_impl._M_finish = local_58;" (assignment_expression "allocator<char>_>_>_>\n    ._M_impl._M_finish = local_58" (field_expression "allocator<char>_>_>_>\n    ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n    ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (ERROR "(pVVar5->deps_).\n    super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(pVVar5->deps_).\n    super__Vector_base<std" (field_expression "(pVVar5->deps_).\n    super__Vector_base" (parenthesized_expression "(pVVar5->deps_)" ( (field_expression "pVVar5->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)(uVar6 + (int)local_58);" (assignment_expression "allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage = (pointer)(uVar6 + (int)local_58)" (field_expression "allocator<char>_>_>_>\n    ._M_impl._M_end_of_storage" (field_expression "allocator<char>_>_>_>\n    ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (call_expression "(pointer)(uVar6 + (int)local_58)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(uVar6 + (int)local_58)" ( (binary_expression "uVar6 + (int)local_58" identifier + (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "vd = pVVar5;" (assignment_expression "vd = pVVar5" identifier = identifier) ;) (if_statement "if (local_34 == local_30) {\n      pVVar5->is_base_ = false;\n      pVVar5->is_weak_ = false;\n      pVVar5->is_info_ = false;\n      pVVar5->is_symbol_created_ = false;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        (local_48->_M_dataplus)._M_p = (pointer)&local_48->field_2;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(local_48,*piVar8,piVar8[1] + *piVar8,0);\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 1;\n      } while (piVar9 != piVar8);\n      pVVar5->is_base_ = false;\n      pVVar5->is_weak_ = false;\n      pVVar5->is_info_ = false;\n      pVVar5->is_symbol_created_ = false;\n      (pVVar5->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = local_48;\n      piVar9 = local_30;\n      for (piVar8 = local_34; piVar4 != piVar8; piVar8 = piVar8 + 6) {\n        if ((int *)*piVar8 != piVar8 + 2) {\n          operator_delete((int *)*piVar8);\n        }\n        piVar9 = local_34;\n      }\n    }" if (parenthesized_expression "(local_34 == local_30)" ( (binary_expression "local_34 == local_30" identifier == identifier) )) (compound_statement "{\n      pVVar5->is_base_ = false;\n      pVVar5->is_weak_ = false;\n      pVVar5->is_info_ = false;\n      pVVar5->is_symbol_created_ = false;\n    }" { (expression_statement "pVVar5->is_base_ = false;" (assignment_expression "pVVar5->is_base_ = false" (field_expression "pVVar5->is_base_" identifier -> field_identifier) = false) ;) (expression_statement "pVVar5->is_weak_ = false;" (assignment_expression "pVVar5->is_weak_ = false" (field_expression "pVVar5->is_weak_" identifier -> field_identifier) = false) ;) (expression_statement "pVVar5->is_info_ = false;" (assignment_expression "pVVar5->is_info_ = false" (field_expression "pVVar5->is_info_" identifier -> field_identifier) = false) ;) (expression_statement "pVVar5->is_symbol_created_ = false;" (assignment_expression "pVVar5->is_symbol_created_ = false" (field_expression "pVVar5->is_symbol_created_" identifier -> field_identifier) = false) ;) }) (else_clause "else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        (local_48->_M_dataplus)._M_p = (pointer)&local_48->field_2;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(local_48,*piVar8,piVar8[1] + *piVar8,0);\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 1;\n      } while (piVar9 != piVar8);\n      pVVar5->is_base_ = false;\n      pVVar5->is_weak_ = false;\n      pVVar5->is_info_ = false;\n      pVVar5->is_symbol_created_ = false;\n      (pVVar5->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = local_48;\n      piVar9 = local_30;\n      for (piVar8 = local_34; piVar4 != piVar8; piVar8 = piVar8 + 6) {\n        if ((int *)*piVar8 != piVar8 + 2) {\n          operator_delete((int *)*piVar8);\n        }\n        piVar9 = local_34;\n      }\n    }" else (compound_statement "{\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        (local_48->_M_dataplus)._M_p = (pointer)&local_48->field_2;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(local_48,*piVar8,piVar8[1] + *piVar8,0);\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 1;\n      } while (piVar9 != piVar8);\n      pVVar5->is_base_ = false;\n      pVVar5->is_weak_ = false;\n      pVVar5->is_info_ = false;\n      pVVar5->is_symbol_created_ = false;\n      (pVVar5->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n      ._M_impl._M_finish = local_48;\n      piVar9 = local_30;\n      for (piVar8 = local_34; piVar4 != piVar8; piVar8 = piVar8 + 6) {\n        if ((int *)*piVar8 != piVar8 + 2) {\n          operator_delete((int *)*piVar8);\n        }\n        piVar9 = local_34;\n      }\n    }" { (expression_statement "local_48 = local_58;" (assignment_expression "local_48 = local_58" identifier = identifier) ;) (expression_statement "piVar8 = local_34;" (assignment_expression "piVar8 = local_34" identifier = identifier) ;) (do_statement "do {\n        (local_48->_M_dataplus)._M_p = (pointer)&local_48->field_2;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(local_48,*piVar8,piVar8[1] + *piVar8,0);\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 1;\n      } while (piVar9 != piVar8);" do (compound_statement "{\n        (local_48->_M_dataplus)._M_p = (pointer)&local_48->field_2;\n                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(local_48,*piVar8,piVar8[1] + *piVar8,0);\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 1;\n      }" { (expression_statement "(local_48->_M_dataplus)._M_p = (pointer)&local_48->field_2;" (assignment_expression "(local_48->_M_dataplus)._M_p = (pointer)&local_48->field_2" (field_expression "(local_48->_M_dataplus)._M_p" (parenthesized_expression "(local_48->_M_dataplus)" ( (field_expression "local_48->_M_dataplus" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(pointer)&local_48->field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "local_48->field_2" identifier -> field_identifier))) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(local_48,*piVar8,piVar8[1] + *piVar8,0);" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char*>(local_48,*piVar8,piVar8[1] + *piVar8,0);" (binary_expression "_M_construct<char*>(local_48,*piVar8,piVar8[1] + *piVar8,0)" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(local_48,*piVar8,piVar8[1] + *piVar8,0)" ( (comma_expression "local_48,*piVar8,piVar8[1] + *piVar8,0" identifier , (comma_expression "*piVar8,piVar8[1] + *piVar8,0" (pointer_expression "*piVar8" * identifier) , (comma_expression "piVar8[1] + *piVar8,0" (binary_expression "piVar8[1] + *piVar8" (subscript_expression "piVar8[1]" identifier [ number_literal ]) + (pointer_expression "*piVar8" * identifier)) , number_literal))) ))) ;)) (expression_statement "piVar4 = local_30;" (assignment_expression "piVar4 = local_30" identifier = identifier) ;) (expression_statement "piVar8 = piVar8 + 6;" (assignment_expression "piVar8 = piVar8 + 6" identifier = (binary_expression "piVar8 + 6" identifier + number_literal)) ;) (expression_statement "local_48 = local_48 + 1;" (assignment_expression "local_48 = local_48 + 1" identifier = (binary_expression "local_48 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar9 != piVar8)" ( (binary_expression "piVar9 != piVar8" identifier != identifier) )) ;) (expression_statement "pVVar5->is_base_ = false;" (assignment_expression "pVVar5->is_base_ = false" (field_expression "pVVar5->is_base_" identifier -> field_identifier) = false) ;) (expression_statement "pVVar5->is_weak_ = false;" (assignment_expression "pVVar5->is_weak_ = false" (field_expression "pVVar5->is_weak_" identifier -> field_identifier) = false) ;) (expression_statement "pVVar5->is_info_ = false;" (assignment_expression "pVVar5->is_info_ = false" (field_expression "pVVar5->is_info_" identifier -> field_identifier) = false) ;) (expression_statement "pVVar5->is_symbol_created_ = false;" (assignment_expression "pVVar5->is_symbol_created_ = false" (field_expression "pVVar5->is_symbol_created_" identifier -> field_identifier) = false) ;) (ERROR "(pVVar5->deps_).\n      super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(pVVar5->deps_).\n      super__Vector_base<std" (field_expression "(pVVar5->deps_).\n      super__Vector_base" (parenthesized_expression "(pVVar5->deps_)" ( (field_expression "pVVar5->deps_" identifier -> field_identifier) )) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n      ._M_impl._M_finish = local_48;" (assignment_expression "allocator<char>_>_>_>\n      ._M_impl._M_finish = local_48" (field_expression "allocator<char>_>_>_>\n      ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n      ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "piVar9 = local_30;" (assignment_expression "piVar9 = local_30" identifier = identifier) ;) (for_statement "for (piVar8 = local_34; piVar4 != piVar8; piVar8 = piVar8 + 6) {\n        if ((int *)*piVar8 != piVar8 + 2) {\n          operator_delete((int *)*piVar8);\n        }\n        piVar9 = local_34;\n      }" for ( (assignment_expression "piVar8 = local_34" identifier = identifier) ; (binary_expression "piVar4 != piVar8" identifier != identifier) ; (assignment_expression "piVar8 = piVar8 + 6" identifier = (binary_expression "piVar8 + 6" identifier + number_literal)) ) (compound_statement "{\n        if ((int *)*piVar8 != piVar8 + 2) {\n          operator_delete((int *)*piVar8);\n        }\n        piVar9 = local_34;\n      }" { (if_statement "if ((int *)*piVar8 != piVar8 + 2) {\n          operator_delete((int *)*piVar8);\n        }" if (parenthesized_expression "((int *)*piVar8 != piVar8 + 2)" ( (binary_expression "(int *)*piVar8 != piVar8 + 2" (cast_expression "(int *)*piVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier)) != (binary_expression "piVar8 + 2" identifier + number_literal)) )) (compound_statement "{\n          operator_delete((int *)*piVar8);\n        }" { (expression_statement "operator_delete((int *)*piVar8);" (call_expression "operator_delete((int *)*piVar8)" identifier (argument_list "((int *)*piVar8)" ( (cast_expression "(int *)*piVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier)) ))) ;) })) (expression_statement "piVar9 = local_34;" (assignment_expression "piVar9 = local_34" identifier = identifier) ;) })) }))) (if_statement "if (piVar9 != (int *)0x0) {\n      operator_delete(piVar9);\n    }" if (parenthesized_expression "(piVar9 != (int *)0x0)" ( (binary_expression "piVar9 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      operator_delete(piVar9);\n    }" { (expression_statement "operator_delete(piVar9);" (call_expression "operator_delete(piVar9)" identifier (argument_list "(piVar9)" ( identifier ))) ;) })) (expression_statement "__position._M_current =\n         (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n         _M_finish;" (field_expression "__position._M_current =\n         (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n         _M_finish" (field_expression "__position._M_current =\n         (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl" (binary_expression "__position._M_current =\n         (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_" (binary_expression "__position._M_current =\n         (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold" (binary_expression "__position._M_current =\n         (this->defs_).super__Vector_base<gold::Verdef*,_std" (assignment_expression "__position._M_current =\n         (this->defs_).super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "(this->defs_).super__Vector_base<gold" (field_expression "(this->defs_).super__Vector_base" (parenthesized_expression "(this->defs_)" ( (field_expression "this->defs_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Verdef" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (__position._M_current ==\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_end_of_storage) {\n      std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n      _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);\n    }\n    else {\n      *__position._M_current = vd;\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish = __position._M_current + 1;\n    }" if (parenthesized_expression "(__position._M_current ==\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_end_of_storage)" ( (field_expression "__position._M_current ==\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n        _M_end_of_storage" (field_expression "__position._M_current ==\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl" (binary_expression "__position._M_current ==\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_" (binary_expression "__position._M_current ==\n        (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold" (binary_expression "__position._M_current ==\n        (this->defs_).super__Vector_base<gold::Verdef*,_std" (binary_expression "__position._M_current ==\n        (this->defs_).super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) == (binary_expression "(this->defs_).super__Vector_base<gold" (field_expression "(this->defs_).super__Vector_base" (parenthesized_expression "(this->defs_)" ( (field_expression "this->defs_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Verdef" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n      _M_realloc_insert<gold::Verdef*_const&>(&this->defs_,__position,&vd);\n    }" { (ERROR "std::vector<gold::Verdef*,_std::allocator<gold::Verdef*>_>::\n      _M_realloc_insert<gold::" (comma_expression "std::vector<gold::Verdef*,_std" identifier (ERROR "::vector<gold::Verdef*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Verdef*>_>::\n      _M_realloc_insert<gold" (binary_expression "Verdef*>_>::\n      _M_realloc_insert" (binary_expression "Verdef*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) identifier) < identifier) : :) (expression_statement "Verdef*_const&>(&this->defs_,__position,&vd);" (binary_expression "Verdef*_const&>(&this->defs_,__position,&vd)" (binary_expression "Verdef*_const" identifier * identifier) (ERROR "&" &) > (parenthesized_expression "(&this->defs_,__position,&vd)" ( (comma_expression "&this->defs_,__position,&vd" (pointer_expression "&this->defs_" & (field_expression "this->defs_" identifier -> field_identifier)) , (comma_expression "__position,&vd" identifier , (pointer_expression "&vd" & identifier))) ))) ;) }) (else_clause "else {\n      *__position._M_current = vd;\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish = __position._M_current + 1;\n    }" else (compound_statement "{\n      *__position._M_current = vd;\n      (this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish = __position._M_current + 1;\n    }" { (expression_statement "*__position._M_current = vd;" (assignment_expression "*__position._M_current = vd" (pointer_expression "*__position._M_current" * (field_expression "__position._M_current" identifier . field_identifier)) = identifier) ;) (expression_statement "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish = __position._M_current + 1;" (assignment_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish = __position._M_current + 1" (field_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl.\n      _M_finish" (field_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_>._M_impl" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold::Verdef*>_" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std::allocator<gold" (binary_expression "(this->defs_).super__Vector_base<gold::Verdef*,_std" (binary_expression "(this->defs_).super__Vector_base<gold" (field_expression "(this->defs_).super__Vector_base" (parenthesized_expression "(this->defs_)" ( (field_expression "this->defs_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Verdef" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "__position._M_current + 1" (field_expression "__position._M_current" identifier . field_identifier) + number_literal)) ;) }))) (expression_statement "local_44[3] = (__bucket_type)vd;" (assignment_expression "local_44[3] = (__bucket_type)vd" (subscript_expression "local_44[3]" identifier [ number_literal ]) = (cast_expression "(__bucket_type)vd" ( (type_descriptor "__bucket_type" type_identifier) ) identifier)) ;) (return_statement "return;" return ;) })) (expression_statement "p_Var1 = local_44[3];" (assignment_expression "p_Var1 = local_44[3]" identifier = (subscript_expression "local_44[3]" identifier [ number_literal ])) ;) (if_statement "if (p_Var1 != (__bucket_type)0x0) {\n    p_Var2 = p_Var1->_M_nxt[2]._M_nxt;\n    if (p_Var2 == (_Hash_node_base *)Verdef::clear_weak) {\n      *(undefined1 *)((int)&p_Var1[6]._M_nxt + 1) = 0;\n    }\n    else {\n      (*(code *)p_Var2)(p_Var1);\n    }\n    return;\n  }" if (parenthesized_expression "(p_Var1 != (__bucket_type)0x0)" ( (binary_expression "p_Var1 != (__bucket_type)0x0" identifier != (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) )) (compound_statement "{\n    p_Var2 = p_Var1->_M_nxt[2]._M_nxt;\n    if (p_Var2 == (_Hash_node_base *)Verdef::clear_weak) {\n      *(undefined1 *)((int)&p_Var1[6]._M_nxt + 1) = 0;\n    }\n    else {\n      (*(code *)p_Var2)(p_Var1);\n    }\n    return;\n  }" { (expression_statement "p_Var2 = p_Var1->_M_nxt[2]._M_nxt;" (assignment_expression "p_Var2 = p_Var1->_M_nxt[2]._M_nxt" identifier = (field_expression "p_Var1->_M_nxt[2]._M_nxt" (subscript_expression "p_Var1->_M_nxt[2]" (field_expression "p_Var1->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier)) ;) (if_statement "if (p_Var2 == (_Hash_node_base *)Verdef::clear_weak) {\n      *(undefined1 *)((int)&p_Var1[6]._M_nxt + 1) = 0;\n    }\n    else {\n      (*(code *)p_Var2)(p_Var1);\n    }" if (parenthesized_expression "(p_Var2 == (_Hash_node_base *)Verdef::clear_weak)" ( (binary_expression "p_Var2 == (_Hash_node_base *)Verdef" identifier == (cast_expression "(_Hash_node_base *)Verdef" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) (ERROR "::clear_weak" : : identifier) )) (compound_statement "{\n      *(undefined1 *)((int)&p_Var1[6]._M_nxt + 1) = 0;\n    }" { (expression_statement "*(undefined1 *)((int)&p_Var1[6]._M_nxt + 1) = 0;" (assignment_expression "*(undefined1 *)((int)&p_Var1[6]._M_nxt + 1) = 0" (pointer_expression "*(undefined1 *)((int)&p_Var1[6]._M_nxt + 1)" * (cast_expression "(undefined1 *)((int)&p_Var1[6]._M_nxt + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&p_Var1[6]._M_nxt + 1)" ( (binary_expression "(int)&p_Var1[6]._M_nxt + 1" (cast_expression "(int)&p_Var1[6]._M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var1[6]._M_nxt" & (field_expression "p_Var1[6]._M_nxt" (subscript_expression "p_Var1[6]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      (*(code *)p_Var2)(p_Var1);\n    }" else (compound_statement "{\n      (*(code *)p_Var2)(p_Var1);\n    }" { (expression_statement "(*(code *)p_Var2)(p_Var1);" (call_expression "(*(code *)p_Var2)(p_Var1)" (parenthesized_expression "(*(code *)p_Var2)" ( (pointer_expression "*(code *)p_Var2" * (cast_expression "(code *)p_Var2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(p_Var1)" ( identifier ))) ;) }))) (return_statement "return;" return ;) })) comment (expression_statement "do_gold_unreachable("../../gold/dynobj.cc",0x61f,"add_def");" (call_expression "do_gold_unreachable("../../gold/dynobj.cc",0x61f,"add_def")" identifier (argument_list "("../../gold/dynobj.cc",0x61f,"add_def")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""add_def"" " string_content ") ))) ;) })))
(translation_unit "void FUN_001b1d00(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int *param_5)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined **ppuVar3;\n  int *piVar4;\n  int *piVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  undefined4 extraout_EDX;\n  int *piVar8;\n  int ***pppiVar9;\n  int *piVar10;\n  undefined4 uStack_64;\n  int **appiStack_60 [2];\n  int *local_58;\n  int **local_54;\n  int local_50;\n  undefined **local_4c;\n  int *local_48;\n  int local_44;\n  char local_40;\n  int *local_38;\n  int *local_34;\n  int *local_30;\n  int local_2c [7];\n  \n  local_4c = &__DT_PLTGOT;\n  appiStack_60[0] = &local_34;\n  uStack_64 = 0;\n  local_34 = param_5;\n  local_30 = (int *)0x0;\n  local_2c[0] = 0;\n  local_54 = appiStack_60[0];\n  FUN_001be200(&local_44,param_1 + 0x18);\n  ppuVar3 = local_4c;\n  pppiVar9 = appiStack_60;\n  local_50 = local_44;\n  if (local_40 != '\0') {\n    if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    \n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }\n    if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    \n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }\n    if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }\n    ppuVar3 = local_4c;\n    local_34 = (int *)0x0;\n    *(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;\n    local_30 = (int *)0x0;\n    local_2c[0] = 0;\n                    \n    *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;\n    piVar5 = (int *)FUN_001fd480();\n    piVar5[1] = -1;\n    piVar5[3] = 0;\n    *piVar5 = (int)(ppuVar3 + -0x26f0);\n    piVar5[4] = 0;\n    piVar5[2] = param_4;\n    local_48 = (int *)((int)local_30 - (int)local_34);\n    piVar5[5] = 0;\n    uVar6 = ((int)local_48 >> 3) * -0x55555555;\n    if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }\n    piVar10 = local_30;\n    piVar5[3] = (int)local_58;\n    piVar5[4] = (int)local_58;\n    piVar5[5] = (int)local_48 + (int)local_58;\n    local_38 = piVar5;\n    if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }\n    if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }\n    puVar2 = *(undefined4 **)(param_1 + 4);\n    if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }\n    *(int **)(local_50 + 0xc) = local_38;\n    return;\n  }\n  piVar5 = *(int **)(local_44 + 0xc);\n  if (piVar5 != (int *)0x0) {\n    if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }\n    return;\n  }\n                    \n  FUN_0007d010((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295);\n}\n\n" (function_definition "void FUN_001b1d00(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int *param_5)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined **ppuVar3;\n  int *piVar4;\n  int *piVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  undefined4 extraout_EDX;\n  int *piVar8;\n  int ***pppiVar9;\n  int *piVar10;\n  undefined4 uStack_64;\n  int **appiStack_60 [2];\n  int *local_58;\n  int **local_54;\n  int local_50;\n  undefined **local_4c;\n  int *local_48;\n  int local_44;\n  char local_40;\n  int *local_38;\n  int *local_34;\n  int *local_30;\n  int local_2c [7];\n  \n  local_4c = &__DT_PLTGOT;\n  appiStack_60[0] = &local_34;\n  uStack_64 = 0;\n  local_34 = param_5;\n  local_30 = (int *)0x0;\n  local_2c[0] = 0;\n  local_54 = appiStack_60[0];\n  FUN_001be200(&local_44,param_1 + 0x18);\n  ppuVar3 = local_4c;\n  pppiVar9 = appiStack_60;\n  local_50 = local_44;\n  if (local_40 != '\0') {\n    if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    \n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }\n    if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    \n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }\n    if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }\n    ppuVar3 = local_4c;\n    local_34 = (int *)0x0;\n    *(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;\n    local_30 = (int *)0x0;\n    local_2c[0] = 0;\n                    \n    *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;\n    piVar5 = (int *)FUN_001fd480();\n    piVar5[1] = -1;\n    piVar5[3] = 0;\n    *piVar5 = (int)(ppuVar3 + -0x26f0);\n    piVar5[4] = 0;\n    piVar5[2] = param_4;\n    local_48 = (int *)((int)local_30 - (int)local_34);\n    piVar5[5] = 0;\n    uVar6 = ((int)local_48 >> 3) * -0x55555555;\n    if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }\n    piVar10 = local_30;\n    piVar5[3] = (int)local_58;\n    piVar5[4] = (int)local_58;\n    piVar5[5] = (int)local_48 + (int)local_58;\n    local_38 = piVar5;\n    if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }\n    if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }\n    puVar2 = *(undefined4 **)(param_1 + 4);\n    if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }\n    *(int **)(local_50 + 0xc) = local_38;\n    return;\n  }\n  piVar5 = *(int **)(local_44 + 0xc);\n  if (piVar5 != (int *)0x0) {\n    if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }\n    return;\n  }\n                    \n  FUN_0007d010((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295);\n}" primitive_type (function_declarator "FUN_001b1d00(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int *param_5)" identifier (parameter_list "(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int *param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined **ppuVar3;\n  int *piVar4;\n  int *piVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  undefined4 extraout_EDX;\n  int *piVar8;\n  int ***pppiVar9;\n  int *piVar10;\n  undefined4 uStack_64;\n  int **appiStack_60 [2];\n  int *local_58;\n  int **local_54;\n  int local_50;\n  undefined **local_4c;\n  int *local_48;\n  int local_44;\n  char local_40;\n  int *local_38;\n  int *local_34;\n  int *local_30;\n  int local_2c [7];\n  \n  local_4c = &__DT_PLTGOT;\n  appiStack_60[0] = &local_34;\n  uStack_64 = 0;\n  local_34 = param_5;\n  local_30 = (int *)0x0;\n  local_2c[0] = 0;\n  local_54 = appiStack_60[0];\n  FUN_001be200(&local_44,param_1 + 0x18);\n  ppuVar3 = local_4c;\n  pppiVar9 = appiStack_60;\n  local_50 = local_44;\n  if (local_40 != '\0') {\n    if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    \n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }\n    if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    \n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }\n    if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }\n    ppuVar3 = local_4c;\n    local_34 = (int *)0x0;\n    *(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;\n    local_30 = (int *)0x0;\n    local_2c[0] = 0;\n                    \n    *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;\n    piVar5 = (int *)FUN_001fd480();\n    piVar5[1] = -1;\n    piVar5[3] = 0;\n    *piVar5 = (int)(ppuVar3 + -0x26f0);\n    piVar5[4] = 0;\n    piVar5[2] = param_4;\n    local_48 = (int *)((int)local_30 - (int)local_34);\n    piVar5[5] = 0;\n    uVar6 = ((int)local_48 >> 3) * -0x55555555;\n    if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }\n    piVar10 = local_30;\n    piVar5[3] = (int)local_58;\n    piVar5[4] = (int)local_58;\n    piVar5[5] = (int)local_48 + (int)local_58;\n    local_38 = piVar5;\n    if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }\n    if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }\n    puVar2 = *(undefined4 **)(param_1 + 4);\n    if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }\n    *(int **)(local_50 + 0xc) = local_38;\n    return;\n  }\n  piVar5 = *(int **)(local_44 + 0xc);\n  if (piVar5 != (int *)0x0) {\n    if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }\n    return;\n  }\n                    \n  FUN_0007d010((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined **ppuVar3;" type_identifier (pointer_declarator "**ppuVar3" * (pointer_declarator "*ppuVar3" * identifier)) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int ***pppiVar9;" primitive_type (pointer_declarator "***pppiVar9" * (pointer_declarator "**pppiVar9" * (pointer_declarator "*pppiVar9" * identifier))) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined4 uStack_64;" type_identifier identifier ;) (declaration "int **appiStack_60 [2];" primitive_type (pointer_declarator "**appiStack_60 [2]" * (pointer_declarator "*appiStack_60 [2]" * (array_declarator "appiStack_60 [2]" identifier [ number_literal ]))) ;) (declaration "int *local_58;" primitive_type (pointer_declarator "*local_58" * identifier) ;) (declaration "int **local_54;" primitive_type (pointer_declarator "**local_54" * (pointer_declarator "*local_54" * identifier)) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "undefined **local_4c;" type_identifier (pointer_declarator "**local_4c" * (pointer_declarator "*local_4c" * identifier)) ;) (declaration "int *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "char local_40;" primitive_type identifier ;) (declaration "int *local_38;" primitive_type (pointer_declarator "*local_38" * identifier) ;) (declaration "int *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "int local_2c [7];" primitive_type (array_declarator "local_2c [7]" identifier [ number_literal ]) ;) (expression_statement "local_4c = &__DT_PLTGOT;" (assignment_expression "local_4c = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "appiStack_60[0] = &local_34;" (assignment_expression "appiStack_60[0] = &local_34" (subscript_expression "appiStack_60[0]" identifier [ number_literal ]) = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "uStack_64 = 0;" (assignment_expression "uStack_64 = 0" identifier = number_literal) ;) (expression_statement "local_34 = param_5;" (assignment_expression "local_34 = param_5" identifier = identifier) ;) (expression_statement "local_30 = (int *)0x0;" (assignment_expression "local_30 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c[0] = 0;" (assignment_expression "local_2c[0] = 0" (subscript_expression "local_2c[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_54 = appiStack_60[0];" (assignment_expression "local_54 = appiStack_60[0]" identifier = (subscript_expression "appiStack_60[0]" identifier [ number_literal ])) ;) (expression_statement "FUN_001be200(&local_44,param_1 + 0x18);" (call_expression "FUN_001be200(&local_44,param_1 + 0x18)" identifier (argument_list "(&local_44,param_1 + 0x18)" ( (pointer_expression "&local_44" & identifier) , (binary_expression "param_1 + 0x18" identifier + number_literal) ))) ;) (expression_statement "ppuVar3 = local_4c;" (assignment_expression "ppuVar3 = local_4c" identifier = identifier) ;) (expression_statement "pppiVar9 = appiStack_60;" (assignment_expression "pppiVar9 = appiStack_60" identifier = identifier) ;) (expression_statement "local_50 = local_44;" (assignment_expression "local_50 = local_44" identifier = identifier) ;) (if_statement "if (local_40 != '\0') {\n    if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    \n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }\n    if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    \n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }\n    if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }\n    ppuVar3 = local_4c;\n    local_34 = (int *)0x0;\n    *(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;\n    local_30 = (int *)0x0;\n    local_2c[0] = 0;\n                    \n    *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;\n    piVar5 = (int *)FUN_001fd480();\n    piVar5[1] = -1;\n    piVar5[3] = 0;\n    *piVar5 = (int)(ppuVar3 + -0x26f0);\n    piVar5[4] = 0;\n    piVar5[2] = param_4;\n    local_48 = (int *)((int)local_30 - (int)local_34);\n    piVar5[5] = 0;\n    uVar6 = ((int)local_48 >> 3) * -0x55555555;\n    if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }\n    piVar10 = local_30;\n    piVar5[3] = (int)local_58;\n    piVar5[4] = (int)local_58;\n    piVar5[5] = (int)local_48 + (int)local_58;\n    local_38 = piVar5;\n    if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }\n    if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }\n    puVar2 = *(undefined4 **)(param_1 + 4);\n    if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }\n    *(int **)(local_50 + 0xc) = local_38;\n    return;\n  }" if (parenthesized_expression "(local_40 != '\0')" ( (binary_expression "local_40 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    \n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }\n    if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    \n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }\n    if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }\n    ppuVar3 = local_4c;\n    local_34 = (int *)0x0;\n    *(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;\n    local_30 = (int *)0x0;\n    local_2c[0] = 0;\n                    \n    *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;\n    piVar5 = (int *)FUN_001fd480();\n    piVar5[1] = -1;\n    piVar5[3] = 0;\n    *piVar5 = (int)(ppuVar3 + -0x26f0);\n    piVar5[4] = 0;\n    piVar5[2] = param_4;\n    local_48 = (int *)((int)local_30 - (int)local_34);\n    piVar5[5] = 0;\n    uVar6 = ((int)local_48 >> 3) * -0x55555555;\n    if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }\n    piVar10 = local_30;\n    piVar5[3] = (int)local_58;\n    piVar5[4] = (int)local_58;\n    piVar5[5] = (int)local_48 + (int)local_58;\n    local_38 = piVar5;\n    if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }\n    if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }\n    puVar2 = *(undefined4 **)(param_1 + 4);\n    if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }\n    *(int **)(local_50 + 0xc) = local_38;\n    return;\n  }" { (if_statement "if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    \n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }" if (parenthesized_expression "(*(int *)(local_4c[0x102] + 8) == 0)" ( (binary_expression "*(int *)(local_4c[0x102] + 8) == 0" (pointer_expression "*(int *)(local_4c[0x102] + 8)" * (cast_expression "(int *)(local_4c[0x102] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_4c[0x102] + 8)" ( (binary_expression "local_4c[0x102] + 8" (subscript_expression "local_4c[0x102]" identifier [ number_literal ]) + number_literal) )))) == number_literal) )) (compound_statement "{\n      uStack_64 = extraout_EDX;\n                    \n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }" { (expression_statement "uStack_64 = extraout_EDX;" (assignment_expression "uStack_64 = extraout_EDX" identifier = identifier) ;) (expression_statement "FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);" (call_expression "FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a)" identifier (argument_list "((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a)" ( (binary_expression "(int)local_4c + -0x116d93" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal , (binary_expression "local_4c + -0x3d24a" identifier + number_literal) ))) ;) })) (if_statement "if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    \n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }" if (parenthesized_expression "(*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0')" ( (binary_expression "*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0'" (pointer_expression "*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25)" * (cast_expression "(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_4c[0x102] + 8) + 0x1a25)" ( (binary_expression "*(int *)(local_4c[0x102] + 8) + 0x1a25" (pointer_expression "*(int *)(local_4c[0x102] + 8)" * (cast_expression "(int *)(local_4c[0x102] + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_4c[0x102] + 8)" ( (binary_expression "local_4c[0x102] + 8" (subscript_expression "local_4c[0x102]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    \n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }" { (expression_statement "FUN_0018bcf0(local_54,param_3);" (call_expression "FUN_0018bcf0(local_54,param_3)" identifier (argument_list "(local_54,param_3)" ( identifier , identifier ))) ;) (expression_statement "piVar5 = local_34;" (assignment_expression "piVar5 = local_34" identifier = identifier) ;) (expression_statement "uVar7 = gettext(ppuVar3 + -0x3d35b);" (assignment_expression "uVar7 = gettext(ppuVar3 + -0x3d35b)" identifier = (call_expression "gettext(ppuVar3 + -0x3d35b)" identifier (argument_list "(ppuVar3 + -0x3d35b)" ( (binary_expression "ppuVar3 + -0x3d35b" identifier + number_literal) )))) ;) (expression_statement "FUN_00073e20(uVar7,piVar5,param_4);" (call_expression "FUN_00073e20(uVar7,piVar5,param_4)" identifier (argument_list "(uVar7,piVar5,param_4)" ( identifier , identifier , identifier ))) ;) (expression_statement "pppiVar9 = (int ***)&uStack_64;" (assignment_expression "pppiVar9 = (int ***)&uStack_64" identifier = (cast_expression "(int ***)&uStack_64" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&uStack_64" & identifier))) ;) (if_statement "if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }" if (parenthesized_expression "(local_34 != local_2c)" ( (binary_expression "local_34 != local_2c" identifier != identifier) )) (compound_statement "{\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }" { (expression_statement "FUN_001ff030(local_34);" (call_expression "FUN_001ff030(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) (expression_statement "pppiVar9 = (int ***)&uStack_64;" (assignment_expression "pppiVar9 = (int ***)&uStack_64" identifier = (cast_expression "(int ***)&uStack_64" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "&uStack_64" & identifier))) ;) })) })) (if_statement "if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x3c) != '\0')" ( (binary_expression "*(char *)(param_1 + 0x3c) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3c)" * (cast_expression "(char *)(param_1 + 0x3c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }" { (expression_statement "*(undefined4 *)((int)pppiVar9 + -0xc) = param_2;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0xc) = param_2" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0xc)" ( (binary_expression "(int)pppiVar9 + -0xc" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)pppiVar9 + -0x10) = param_1;" (assignment_expression "*(int *)((int)pppiVar9 + -0x10) = param_1" (pointer_expression "*(int *)((int)pppiVar9 + -0x10)" * (cast_expression "(int *)((int)pppiVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x10)" ( (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x14)" ( (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001b1540();" (call_expression "FUN_001b1540()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar3 = local_4c;" (assignment_expression "ppuVar3 = local_4c" identifier = identifier) ;) (expression_statement "local_34 = (int *)0x0;" (assignment_expression "local_34 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x10)" ( (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_30 = (int *)0x0;" (assignment_expression "local_30 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c[0] = 0;" (assignment_expression "local_2c[0] = 0" (subscript_expression "local_2c[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x14)" ( (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = (int *)FUN_001fd480();" (assignment_expression "piVar5 = (int *)FUN_001fd480()" identifier = (cast_expression "(int *)FUN_001fd480()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001fd480()" identifier (argument_list "()" ( ))))) ;) (expression_statement "piVar5[1] = -1;" (assignment_expression "piVar5[1] = -1" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[3] = 0;" (assignment_expression "piVar5[3] = 0" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar5 = (int)(ppuVar3 + -0x26f0);" (assignment_expression "*piVar5 = (int)(ppuVar3 + -0x26f0)" (pointer_expression "*piVar5" * identifier) = (cast_expression "(int)(ppuVar3 + -0x26f0)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppuVar3 + -0x26f0)" ( (binary_expression "ppuVar3 + -0x26f0" identifier + number_literal) )))) ;) (expression_statement "piVar5[4] = 0;" (assignment_expression "piVar5[4] = 0" (subscript_expression "piVar5[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[2] = param_4;" (assignment_expression "piVar5[2] = param_4" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_48 = (int *)((int)local_30 - (int)local_34);" (assignment_expression "local_48 = (int *)((int)local_30 - (int)local_34)" identifier = (cast_expression "(int *)((int)local_30 - (int)local_34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_30 - (int)local_34)" ( (binary_expression "(int)local_30 - (int)local_34" (cast_expression "(int)local_30" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar5[5] = 0;" (assignment_expression "piVar5[5] = 0" (subscript_expression "piVar5[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = ((int)local_48 >> 3) * -0x55555555;" (assignment_expression "uVar6 = ((int)local_48 >> 3) * -0x55555555" identifier = (binary_expression "((int)local_48 >> 3) * -0x55555555" (parenthesized_expression "((int)local_48 >> 3)" ( (binary_expression "(int)local_48 >> 3" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) * number_literal)) ;) (if_statement "if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      local_58 = (int *)0x0;\n    }" { (expression_statement "local_58 = (int *)0x0;" (assignment_expression "local_58 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }" else (compound_statement "{\n      if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }" { (if_statement "if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }" if (parenthesized_expression "(0xaaaaaaa < uVar6)" ( (binary_expression "0xaaaaaaa < uVar6" number_literal < identifier) )) (compound_statement "{\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }" { (expression_statement "*(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;" (assignment_expression "*(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c" (pointer_expression "*(undefined1 **)((int)pppiVar9 + -4)" * (cast_expression "(undefined1 **)((int)pppiVar9 + -4)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppiVar9 + -4)" ( (binary_expression "(int)pppiVar9 + -4" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&LAB_001b201c" & identifier)) ;) (expression_statement "FUN_00244870();" (call_expression "FUN_00244870()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(int **)((int)pppiVar9 + -0x10) = local_48;" (assignment_expression "*(int **)((int)pppiVar9 + -0x10) = local_48" (pointer_expression "*(int **)((int)pppiVar9 + -0x10)" * (cast_expression "(int **)((int)pppiVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppiVar9 + -0x10)" ( (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x14)" ( (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_58 = (int *)FUN_001fd480();" (assignment_expression "local_58 = (int *)FUN_001fd480()" identifier = (cast_expression "(int *)FUN_001fd480()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001fd480()" identifier (argument_list "()" ( ))))) ;) }))) (expression_statement "piVar10 = local_30;" (assignment_expression "piVar10 = local_30" identifier = identifier) ;) (expression_statement "piVar5[3] = (int)local_58;" (assignment_expression "piVar5[3] = (int)local_58" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar5[4] = (int)local_58;" (assignment_expression "piVar5[4] = (int)local_58" (subscript_expression "piVar5[4]" identifier [ number_literal ]) = (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar5[5] = (int)local_48 + (int)local_58;" (assignment_expression "piVar5[5] = (int)local_48 + (int)local_58" (subscript_expression "piVar5[5]" identifier [ number_literal ]) = (binary_expression "(int)local_48 + (int)local_58" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "local_38 = piVar5;" (assignment_expression "local_38 = piVar5" identifier = identifier) ;) (if_statement "if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }" if (parenthesized_expression "(local_34 == local_30)" ( (binary_expression "local_34 == local_30" identifier == identifier) )) (compound_statement "{\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }" { (expression_statement "piVar5[6] = 0;" (assignment_expression "piVar5[6] = 0" (subscript_expression "piVar5[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5 = local_30;" (assignment_expression "piVar5 = local_30" identifier = identifier) ;) }) (else_clause "else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }" else (compound_statement "{\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }" { (expression_statement "local_48 = local_58;" (assignment_expression "local_48 = local_58" identifier = identifier) ;) (expression_statement "piVar8 = local_34;" (assignment_expression "piVar8 = local_34" identifier = identifier) ;) (do_statement "do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);" do (compound_statement "{\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      }" { (expression_statement "*local_48 = (int)(local_48 + 2);" (assignment_expression "*local_48 = (int)(local_48 + 2)" (pointer_expression "*local_48" * identifier) = (cast_expression "(int)(local_48 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_48 + 2)" ( (binary_expression "local_48 + 2" identifier + number_literal) )))) ;) (expression_statement "iVar1 = *piVar8;" (assignment_expression "iVar1 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "*(undefined4 *)((int)pppiVar9 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -4) = 0" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -4)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -4)" ( (binary_expression "(int)pppiVar9 + -4" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;" (assignment_expression "*(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1" (pointer_expression "*(int *)((int)pppiVar9 + -8)" * (cast_expression "(int *)((int)pppiVar9 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -8)" ( (binary_expression "(int)pppiVar9 + -8" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "piVar8[1] + iVar1" (subscript_expression "piVar8[1]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(int *)((int)pppiVar9 + -0xc) = iVar1;" (assignment_expression "*(int *)((int)pppiVar9 + -0xc) = iVar1" (pointer_expression "*(int *)((int)pppiVar9 + -0xc)" * (cast_expression "(int *)((int)pppiVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0xc)" ( (binary_expression "(int)pppiVar9 + -0xc" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)pppiVar9 + -0x10) = local_48;" (assignment_expression "*(int **)((int)pppiVar9 + -0x10) = local_48" (pointer_expression "*(int **)((int)pppiVar9 + -0x10)" * (cast_expression "(int **)((int)pppiVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppiVar9 + -0x10)" ( (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x14)" ( (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00068b30();" (call_expression "FUN_00068b30()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar4 = local_30;" (assignment_expression "piVar4 = local_30" identifier = identifier) ;) (expression_statement "piVar8 = piVar8 + 6;" (assignment_expression "piVar8 = piVar8 + 6" identifier = (binary_expression "piVar8 + 6" identifier + number_literal)) ;) (expression_statement "local_48 = local_48 + 6;" (assignment_expression "local_48 = local_48 + 6" identifier = (binary_expression "local_48 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar10 != piVar8)" ( (binary_expression "piVar10 != piVar8" identifier != identifier) )) ;) (expression_statement "piVar5[6] = 0;" (assignment_expression "piVar5[6] = 0" (subscript_expression "piVar5[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar5[4] = (int)local_48;" (assignment_expression "piVar5[4] = (int)local_48" (subscript_expression "piVar5[4]" identifier [ number_literal ]) = (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar5 = local_30;" (assignment_expression "piVar5 = local_30" identifier = identifier) ;) (for_statement "for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }" for ( (assignment_expression "piVar10 = local_34" identifier = identifier) ; (binary_expression "piVar4 != piVar10" identifier != identifier) ; (assignment_expression "piVar10 = piVar10 + 6" identifier = (binary_expression "piVar10 + 6" identifier + number_literal)) ) (compound_statement "{\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }" { (if_statement "if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }" if (parenthesized_expression "((int *)*piVar10 != piVar10 + 2)" ( (binary_expression "(int *)*piVar10 != piVar10 + 2" (cast_expression "(int *)*piVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar10" * identifier)) != (binary_expression "piVar10 + 2" identifier + number_literal)) )) (compound_statement "{\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }" { (expression_statement "*(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;" (assignment_expression "*(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10" (pointer_expression "*(int **)((int)pppiVar9 + -0x10)" * (cast_expression "(int **)((int)pppiVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppiVar9 + -0x10)" ( (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(int *)*piVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar10" * identifier))) ;) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x14)" ( (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ff030();" (call_expression "FUN_001ff030()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar5 = local_34;" (assignment_expression "piVar5 = local_34" identifier = identifier) ;) })) }))) (if_statement "if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }" { (expression_statement "*(int **)((int)pppiVar9 + -0x10) = piVar5;" (assignment_expression "*(int **)((int)pppiVar9 + -0x10) = piVar5" (pointer_expression "*(int **)((int)pppiVar9 + -0x10)" * (cast_expression "(int **)((int)pppiVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppiVar9 + -0x10)" ( (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x14)" ( (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001ff030();" (call_expression "FUN_001ff030()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar2 = *(undefined4 **)(param_1 + 4);" (assignment_expression "puVar2 = *(undefined4 **)(param_1 + 4)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 4)" * (cast_expression "(undefined4 **)(param_1 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))) ;) (if_statement "if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }" if (parenthesized_expression "(puVar2 == *(undefined4 **)(param_1 + 8))" ( (binary_expression "puVar2 == *(undefined4 **)(param_1 + 8)" identifier == (pointer_expression "*(undefined4 **)(param_1 + 8)" * (cast_expression "(undefined4 **)(param_1 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) )) (compound_statement "{\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }" { (expression_statement "*(int ***)((int)pppiVar9 + -8) = &local_38;" (assignment_expression "*(int ***)((int)pppiVar9 + -8) = &local_38" (pointer_expression "*(int ***)((int)pppiVar9 + -8)" * (cast_expression "(int ***)((int)pppiVar9 + -8)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)pppiVar9 + -8)" ( (binary_expression "(int)pppiVar9 + -8" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "*(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;" (assignment_expression "*(undefined4 **)((int)pppiVar9 + -0xc) = puVar2" (pointer_expression "*(undefined4 **)((int)pppiVar9 + -0xc)" * (cast_expression "(undefined4 **)((int)pppiVar9 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)pppiVar9 + -0xc)" ( (binary_expression "(int)pppiVar9 + -0xc" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)pppiVar9 + -0x10) = param_1;" (assignment_expression "*(int *)((int)pppiVar9 + -0x10) = param_1" (pointer_expression "*(int *)((int)pppiVar9 + -0x10)" * (cast_expression "(int *)((int)pppiVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x10)" ( (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppiVar9 + -0x14)" ( (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001b6140();" (call_expression "FUN_001b6140()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }" else (compound_statement "{\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }" { (expression_statement "*puVar2 = local_38;" (assignment_expression "*puVar2 = local_38" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "*(undefined4 **)(param_1 + 4) = puVar2 + 1;" (assignment_expression "*(undefined4 **)(param_1 + 4) = puVar2 + 1" (pointer_expression "*(undefined4 **)(param_1 + 4)" * (cast_expression "(undefined4 **)(param_1 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = (binary_expression "puVar2 + 1" identifier + number_literal)) ;) }))) (expression_statement "*(int **)(local_50 + 0xc) = local_38;" (assignment_expression "*(int **)(local_50 + 0xc) = local_38" (pointer_expression "*(int **)(local_50 + 0xc)" * (cast_expression "(int **)(local_50 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_50 + 0xc)" ( (binary_expression "local_50 + 0xc" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "piVar5 = *(int **)(local_44 + 0xc);" (assignment_expression "piVar5 = *(int **)(local_44 + 0xc)" identifier = (pointer_expression "*(int **)(local_44 + 0xc)" * (cast_expression "(int **)(local_44 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_44 + 0xc)" ( (binary_expression "local_44 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (piVar5 != (int *)0x0) {\n    if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }\n    return;\n  }" if (parenthesized_expression "(piVar5 != (int *)0x0)" ( (binary_expression "piVar5 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }\n    return;\n  }" { (if_statement "if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }" if (parenthesized_expression "(*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354)" ( (binary_expression "*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354" (pointer_expression "*(undefined ***)(*piVar5 + 8)" * (cast_expression "(undefined ***)(*piVar5 + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar5 + 8)" ( (binary_expression "*piVar5 + 8" (pointer_expression "*piVar5" * identifier) + number_literal) )))) == (binary_expression "local_4c + -0x7f354" identifier + number_literal)) )) (compound_statement "{\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }" { (expression_statement "*(undefined1 *)((int)piVar5 + 0x19) = 0;" (assignment_expression "*(undefined1 *)((int)piVar5 + 0x19) = 0" (pointer_expression "*(undefined1 *)((int)piVar5 + 0x19)" * (cast_expression "(undefined1 *)((int)piVar5 + 0x19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + 0x19)" ( (binary_expression "(int)piVar5 + 0x19" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }" else (compound_statement "{\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }" { (expression_statement "(*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);" (call_expression "(*(code *)*(undefined ***)(*piVar5 + 8))(piVar5)" (parenthesized_expression "(*(code *)*(undefined ***)(*piVar5 + 8))" ( (pointer_expression "*(code *)*(undefined ***)(*piVar5 + 8)" * (cast_expression "(code *)*(undefined ***)(*piVar5 + 8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined ***)(*piVar5 + 8)" * (cast_expression "(undefined ***)(*piVar5 + 8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(*piVar5 + 8)" ( (binary_expression "*piVar5 + 8" (pointer_expression "*piVar5" * identifier) + number_literal) )))))) )) (argument_list "(piVar5)" ( identifier ))) ;) }))) (return_statement "return;" return ;) })) (expression_statement "FUN_0007d010((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295);" (call_expression "FUN_0007d010((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295)" identifier (argument_list "((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295)" ( (binary_expression "(int)local_4c + -0xf50ef" (cast_expression "(int)local_4c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal , (binary_expression "local_4c + -0x3d295" identifier + number_literal) ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ]))) ;) (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 * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (binary_expression IDENT + LIT) ))) ;) (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 != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (pointer_expression & IDENT))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (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) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) * LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = 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 (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (for_statement for ( (assignment_expression IDENT = IDENT) ; (binary_expression IDENT != IDENT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))))) )) (argument_list ( IDENT ))) ;) }))) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })))
(function_definition "void FUN_001b1d00(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int *param_5)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined **ppuVar3;\n  int *piVar4;\n  int *piVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  undefined4 extraout_EDX;\n  int *piVar8;\n  int ***pppiVar9;\n  int *piVar10;\n  undefined4 uStack_64;\n  int **appiStack_60 [2];\n  int *local_58;\n  int **local_54;\n  int local_50;\n  undefined **local_4c;\n  int *local_48;\n  int local_44;\n  char local_40;\n  int *local_38;\n  int *local_34;\n  int *local_30;\n  int local_2c [7];\n  \n  local_4c = &__DT_PLTGOT;\n  appiStack_60[0] = &local_34;\n  uStack_64 = 0;\n  local_34 = param_5;\n  local_30 = (int *)0x0;\n  local_2c[0] = 0;\n  local_54 = appiStack_60[0];\n  FUN_001be200(&local_44,param_1 + 0x18);\n  ppuVar3 = local_4c;\n  pppiVar9 = appiStack_60;\n  local_50 = local_44;\n  if (local_40 != '\0') {\n    if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    \n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }\n    if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    \n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }\n    if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }\n    ppuVar3 = local_4c;\n    local_34 = (int *)0x0;\n    *(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;\n    local_30 = (int *)0x0;\n    local_2c[0] = 0;\n                    \n    *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;\n    piVar5 = (int *)FUN_001fd480();\n    piVar5[1] = -1;\n    piVar5[3] = 0;\n    *piVar5 = (int)(ppuVar3 + -0x26f0);\n    piVar5[4] = 0;\n    piVar5[2] = param_4;\n    local_48 = (int *)((int)local_30 - (int)local_34);\n    piVar5[5] = 0;\n    uVar6 = ((int)local_48 >> 3) * -0x55555555;\n    if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }\n    piVar10 = local_30;\n    piVar5[3] = (int)local_58;\n    piVar5[4] = (int)local_58;\n    piVar5[5] = (int)local_48 + (int)local_58;\n    local_38 = piVar5;\n    if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }\n    if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }\n    puVar2 = *(undefined4 **)(param_1 + 4);\n    if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }\n    *(int **)(local_50 + 0xc) = local_38;\n    return;\n  }\n  piVar5 = *(int **)(local_44 + 0xc);\n  if (piVar5 != (int *)0x0) {\n    if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }\n    return;\n  }\n                    \n  FUN_0007d010((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295);\n}" (primitive_type "void") (function_declarator "FUN_001b1d00(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int *param_5)" (identifier "FUN_001b1d00") (parameter_list "(int param_1,undefined4 param_2,undefined4 param_3,int param_4,int *param_5)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "int *param_5" (primitive_type "int") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined **ppuVar3;\n  int *piVar4;\n  int *piVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  undefined4 extraout_EDX;\n  int *piVar8;\n  int ***pppiVar9;\n  int *piVar10;\n  undefined4 uStack_64;\n  int **appiStack_60 [2];\n  int *local_58;\n  int **local_54;\n  int local_50;\n  undefined **local_4c;\n  int *local_48;\n  int local_44;\n  char local_40;\n  int *local_38;\n  int *local_34;\n  int *local_30;\n  int local_2c [7];\n  \n  local_4c = &__DT_PLTGOT;\n  appiStack_60[0] = &local_34;\n  uStack_64 = 0;\n  local_34 = param_5;\n  local_30 = (int *)0x0;\n  local_2c[0] = 0;\n  local_54 = appiStack_60[0];\n  FUN_001be200(&local_44,param_1 + 0x18);\n  ppuVar3 = local_4c;\n  pppiVar9 = appiStack_60;\n  local_50 = local_44;\n  if (local_40 != '\0') {\n    if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    \n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }\n    if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    \n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }\n    if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }\n    ppuVar3 = local_4c;\n    local_34 = (int *)0x0;\n    *(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;\n    local_30 = (int *)0x0;\n    local_2c[0] = 0;\n                    \n    *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;\n    piVar5 = (int *)FUN_001fd480();\n    piVar5[1] = -1;\n    piVar5[3] = 0;\n    *piVar5 = (int)(ppuVar3 + -0x26f0);\n    piVar5[4] = 0;\n    piVar5[2] = param_4;\n    local_48 = (int *)((int)local_30 - (int)local_34);\n    piVar5[5] = 0;\n    uVar6 = ((int)local_48 >> 3) * -0x55555555;\n    if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }\n    piVar10 = local_30;\n    piVar5[3] = (int)local_58;\n    piVar5[4] = (int)local_58;\n    piVar5[5] = (int)local_48 + (int)local_58;\n    local_38 = piVar5;\n    if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }\n    if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }\n    puVar2 = *(undefined4 **)(param_1 + 4);\n    if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }\n    *(int **)(local_50 + 0xc) = local_38;\n    return;\n  }\n  piVar5 = *(int **)(local_44 + 0xc);\n  if (piVar5 != (int *)0x0) {\n    if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }\n    return;\n  }\n                    \n  FUN_0007d010((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295);\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined **ppuVar3;" (type_identifier "undefined") (pointer_declarator "**ppuVar3" (* "*") (pointer_declarator "*ppuVar3" (* "*") (identifier "ppuVar3"))) (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "undefined4 extraout_EDX;" (type_identifier "undefined4") (identifier "extraout_EDX") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int ***pppiVar9;" (primitive_type "int") (pointer_declarator "***pppiVar9" (* "*") (pointer_declarator "**pppiVar9" (* "*") (pointer_declarator "*pppiVar9" (* "*") (identifier "pppiVar9")))) (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "undefined4 uStack_64;" (type_identifier "undefined4") (identifier "uStack_64") (; ";")) (declaration "int **appiStack_60 [2];" (primitive_type "int") (pointer_declarator "**appiStack_60 [2]" (* "*") (pointer_declarator "*appiStack_60 [2]" (* "*") (array_declarator "appiStack_60 [2]" (identifier "appiStack_60") ([ "[") (number_literal "2") (] "]")))) (; ";")) (declaration "int *local_58;" (primitive_type "int") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "int **local_54;" (primitive_type "int") (pointer_declarator "**local_54" (* "*") (pointer_declarator "*local_54" (* "*") (identifier "local_54"))) (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "undefined **local_4c;" (type_identifier "undefined") (pointer_declarator "**local_4c" (* "*") (pointer_declarator "*local_4c" (* "*") (identifier "local_4c"))) (; ";")) (declaration "int *local_48;" (primitive_type "int") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "char local_40;" (primitive_type "char") (identifier "local_40") (; ";")) (declaration "int *local_38;" (primitive_type "int") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "int *local_34;" (primitive_type "int") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "int *local_30;" (primitive_type "int") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "int local_2c [7];" (primitive_type "int") (array_declarator "local_2c [7]" (identifier "local_2c") ([ "[") (number_literal "7") (] "]")) (; ";")) (expression_statement "local_4c = &__DT_PLTGOT;" (assignment_expression "local_4c = &__DT_PLTGOT" (identifier "local_4c") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "appiStack_60[0] = &local_34;" (assignment_expression "appiStack_60[0] = &local_34" (subscript_expression "appiStack_60[0]" (identifier "appiStack_60") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (; ";")) (expression_statement "uStack_64 = 0;" (assignment_expression "uStack_64 = 0" (identifier "uStack_64") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34 = param_5;" (assignment_expression "local_34 = param_5" (identifier "local_34") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_30 = (int *)0x0;" (assignment_expression "local_30 = (int *)0x0" (identifier "local_30") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_2c[0] = 0;" (assignment_expression "local_2c[0] = 0" (subscript_expression "local_2c[0]" (identifier "local_2c") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_54 = appiStack_60[0];" (assignment_expression "local_54 = appiStack_60[0]" (identifier "local_54") (= "=") (subscript_expression "appiStack_60[0]" (identifier "appiStack_60") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "FUN_001be200(&local_44,param_1 + 0x18);" (call_expression "FUN_001be200(&local_44,param_1 + 0x18)" (identifier "FUN_001be200") (argument_list "(&local_44,param_1 + 0x18)" (( "(") (pointer_expression "&local_44" (& "&") (identifier "local_44")) (, ",") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))) (; ";")) (expression_statement "ppuVar3 = local_4c;" (assignment_expression "ppuVar3 = local_4c" (identifier "ppuVar3") (= "=") (identifier "local_4c")) (; ";")) (expression_statement "pppiVar9 = appiStack_60;" (assignment_expression "pppiVar9 = appiStack_60" (identifier "pppiVar9") (= "=") (identifier "appiStack_60")) (; ";")) (expression_statement "local_50 = local_44;" (assignment_expression "local_50 = local_44" (identifier "local_50") (= "=") (identifier "local_44")) (; ";")) (if_statement "if (local_40 != '\0') {\n    if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    \n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }\n    if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    \n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }\n    if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }\n    ppuVar3 = local_4c;\n    local_34 = (int *)0x0;\n    *(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;\n    local_30 = (int *)0x0;\n    local_2c[0] = 0;\n                    \n    *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;\n    piVar5 = (int *)FUN_001fd480();\n    piVar5[1] = -1;\n    piVar5[3] = 0;\n    *piVar5 = (int)(ppuVar3 + -0x26f0);\n    piVar5[4] = 0;\n    piVar5[2] = param_4;\n    local_48 = (int *)((int)local_30 - (int)local_34);\n    piVar5[5] = 0;\n    uVar6 = ((int)local_48 >> 3) * -0x55555555;\n    if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }\n    piVar10 = local_30;\n    piVar5[3] = (int)local_58;\n    piVar5[4] = (int)local_58;\n    piVar5[5] = (int)local_48 + (int)local_58;\n    local_38 = piVar5;\n    if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }\n    if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }\n    puVar2 = *(undefined4 **)(param_1 + 4);\n    if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }\n    *(int **)(local_50 + 0xc) = local_38;\n    return;\n  }" (if "if") (parenthesized_expression "(local_40 != '\0')" (( "(") (binary_expression "local_40 != '\0'" (identifier "local_40") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    \n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }\n    if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    \n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }\n    if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }\n    ppuVar3 = local_4c;\n    local_34 = (int *)0x0;\n    *(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;\n    local_30 = (int *)0x0;\n    local_2c[0] = 0;\n                    \n    *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;\n    piVar5 = (int *)FUN_001fd480();\n    piVar5[1] = -1;\n    piVar5[3] = 0;\n    *piVar5 = (int)(ppuVar3 + -0x26f0);\n    piVar5[4] = 0;\n    piVar5[2] = param_4;\n    local_48 = (int *)((int)local_30 - (int)local_34);\n    piVar5[5] = 0;\n    uVar6 = ((int)local_48 >> 3) * -0x55555555;\n    if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }\n    piVar10 = local_30;\n    piVar5[3] = (int)local_58;\n    piVar5[4] = (int)local_58;\n    piVar5[5] = (int)local_48 + (int)local_58;\n    local_38 = piVar5;\n    if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }\n    if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }\n    puVar2 = *(undefined4 **)(param_1 + 4);\n    if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }\n    *(int **)(local_50 + 0xc) = local_38;\n    return;\n  }" ({ "{") (if_statement "if (*(int *)(local_4c[0x102] + 8) == 0) {\n      uStack_64 = extraout_EDX;\n                    \n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }" (if "if") (parenthesized_expression "(*(int *)(local_4c[0x102] + 8) == 0)" (( "(") (binary_expression "*(int *)(local_4c[0x102] + 8) == 0" (pointer_expression "*(int *)(local_4c[0x102] + 8)" (* "*") (cast_expression "(int *)(local_4c[0x102] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_4c[0x102] + 8)" (( "(") (binary_expression "local_4c[0x102] + 8" (subscript_expression "local_4c[0x102]" (identifier "local_4c") ([ "[") (number_literal "0x102") (] "]")) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uStack_64 = extraout_EDX;\n                    \n      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);\n    }" ({ "{") (expression_statement "uStack_64 = extraout_EDX;" (assignment_expression "uStack_64 = extraout_EDX" (identifier "uStack_64") (= "=") (identifier "extraout_EDX")) (; ";")) (expression_statement "FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);" (call_expression "FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a)" (identifier "FUN_0007d010") (argument_list "((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a)" (( "(") (binary_expression "(int)local_4c + -0x116d93" (cast_expression "(int)local_4c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_4c")) (+ "+") (number_literal "-0x116d93")) (, ",") (number_literal "0x5c") (, ",") (binary_expression "local_4c + -0x3d24a" (identifier "local_4c") (+ "+") (number_literal "-0x3d24a")) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    \n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0'" (pointer_expression "*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25)" (* "*") (cast_expression "(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(local_4c[0x102] + 8) + 0x1a25)" (( "(") (binary_expression "*(int *)(local_4c[0x102] + 8) + 0x1a25" (pointer_expression "*(int *)(local_4c[0x102] + 8)" (* "*") (cast_expression "(int *)(local_4c[0x102] + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_4c[0x102] + 8)" (( "(") (binary_expression "local_4c[0x102] + 8" (subscript_expression "local_4c[0x102]" (identifier "local_4c") ([ "[") (number_literal "0x102") (] "]")) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x1a25")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      FUN_0018bcf0(local_54,param_3);\n      piVar5 = local_34;\n      uVar7 = gettext(ppuVar3 + -0x3d35b);\n                    \n      FUN_00073e20(uVar7,piVar5,param_4);\n      pppiVar9 = (int ***)&uStack_64;\n      if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }\n    }" ({ "{") (expression_statement "FUN_0018bcf0(local_54,param_3);" (call_expression "FUN_0018bcf0(local_54,param_3)" (identifier "FUN_0018bcf0") (argument_list "(local_54,param_3)" (( "(") (identifier "local_54") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "piVar5 = local_34;" (assignment_expression "piVar5 = local_34" (identifier "piVar5") (= "=") (identifier "local_34")) (; ";")) (expression_statement "uVar7 = gettext(ppuVar3 + -0x3d35b);" (assignment_expression "uVar7 = gettext(ppuVar3 + -0x3d35b)" (identifier "uVar7") (= "=") (call_expression "gettext(ppuVar3 + -0x3d35b)" (identifier "gettext") (argument_list "(ppuVar3 + -0x3d35b)" (( "(") (binary_expression "ppuVar3 + -0x3d35b" (identifier "ppuVar3") (+ "+") (number_literal "-0x3d35b")) () ")")))) (; ";")) (expression_statement "FUN_00073e20(uVar7,piVar5,param_4);" (call_expression "FUN_00073e20(uVar7,piVar5,param_4)" (identifier "FUN_00073e20") (argument_list "(uVar7,piVar5,param_4)" (( "(") (identifier "uVar7") (, ",") (identifier "piVar5") (, ",") (identifier "param_4") () ")"))) (; ";")) (expression_statement "pppiVar9 = (int ***)&uStack_64;" (assignment_expression "pppiVar9 = (int ***)&uStack_64" (identifier "pppiVar9") (= "=") (cast_expression "(int ***)&uStack_64" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (pointer_expression "&uStack_64" (& "&") (identifier "uStack_64")))) (; ";")) (if_statement "if (local_34 != local_2c) {\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }" (if "if") (parenthesized_expression "(local_34 != local_2c)" (( "(") (binary_expression "local_34 != local_2c" (identifier "local_34") (!= "!=") (identifier "local_2c")) () ")")) (compound_statement "{\n        FUN_001ff030(local_34);\n        pppiVar9 = (int ***)&uStack_64;\n      }" ({ "{") (expression_statement "FUN_001ff030(local_34);" (call_expression "FUN_001ff030(local_34)" (identifier "FUN_001ff030") (argument_list "(local_34)" (( "(") (identifier "local_34") () ")"))) (; ";")) (expression_statement "pppiVar9 = (int ***)&uStack_64;" (assignment_expression "pppiVar9 = (int ***)&uStack_64" (identifier "pppiVar9") (= "=") (cast_expression "(int ***)&uStack_64" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (pointer_expression "&uStack_64" (& "&") (identifier "uStack_64")))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (*(char *)(param_1 + 0x3c) != '\0') {\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x3c) != '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x3c) != '\0'" (pointer_expression "*(char *)(param_1 + 0x3c)" (* "*") (cast_expression "(char *)(param_1 + 0x3c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;\n      FUN_001b1540();\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)pppiVar9 + -0xc) = param_2;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0xc) = param_2" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)pppiVar9 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppiVar9 + -0xc)" (( "(") (binary_expression "(int)pppiVar9 + -0xc" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(int *)((int)pppiVar9 + -0x10) = param_1;" (assignment_expression "*(int *)((int)pppiVar9 + -0x10) = param_1" (pointer_expression "*(int *)((int)pppiVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)pppiVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppiVar9 + -0x10)" (( "(") (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppiVar9 + -0x14)" (( "(") (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b1f7c")) (; ";")) (expression_statement "FUN_001b1540();" (call_expression "FUN_001b1540()" (identifier "FUN_001b1540") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppuVar3 = local_4c;" (assignment_expression "ppuVar3 = local_4c" (identifier "ppuVar3") (= "=") (identifier "local_4c")) (; ";")) (expression_statement "local_34 = (int *)0x0;" (assignment_expression "local_34 = (int *)0x0" (identifier "local_34") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)pppiVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppiVar9 + -0x10)" (( "(") (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0x1c")) (; ";")) (expression_statement "local_30 = (int *)0x0;" (assignment_expression "local_30 = (int *)0x0" (identifier "local_30") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_2c[0] = 0;" (assignment_expression "local_2c[0] = 0" (subscript_expression "local_2c[0]" (identifier "local_2c") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppiVar9 + -0x14)" (( "(") (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b1dd4")) (; ";")) (expression_statement "piVar5 = (int *)FUN_001fd480();" (assignment_expression "piVar5 = (int *)FUN_001fd480()" (identifier "piVar5") (= "=") (cast_expression "(int *)FUN_001fd480()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001fd480()" (identifier "FUN_001fd480") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "piVar5[1] = -1;" (assignment_expression "piVar5[1] = -1" (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar5[3] = 0;" (assignment_expression "piVar5[3] = 0" (subscript_expression "piVar5[3]" (identifier "piVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar5 = (int)(ppuVar3 + -0x26f0);" (assignment_expression "*piVar5 = (int)(ppuVar3 + -0x26f0)" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (cast_expression "(int)(ppuVar3 + -0x26f0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(ppuVar3 + -0x26f0)" (( "(") (binary_expression "ppuVar3 + -0x26f0" (identifier "ppuVar3") (+ "+") (number_literal "-0x26f0")) () ")")))) (; ";")) (expression_statement "piVar5[4] = 0;" (assignment_expression "piVar5[4] = 0" (subscript_expression "piVar5[4]" (identifier "piVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar5[2] = param_4;" (assignment_expression "piVar5[2] = param_4" (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_48 = (int *)((int)local_30 - (int)local_34);" (assignment_expression "local_48 = (int *)((int)local_30 - (int)local_34)" (identifier "local_48") (= "=") (cast_expression "(int *)((int)local_30 - (int)local_34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_30 - (int)local_34)" (( "(") (binary_expression "(int)local_30 - (int)local_34" (cast_expression "(int)local_30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30")) (- "-") (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34"))) () ")")))) (; ";")) (expression_statement "piVar5[5] = 0;" (assignment_expression "piVar5[5] = 0" (subscript_expression "piVar5[5]" (identifier "piVar5") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar6 = ((int)local_48 >> 3) * -0x55555555;" (assignment_expression "uVar6 = ((int)local_48 >> 3) * -0x55555555" (identifier "uVar6") (= "=") (binary_expression "((int)local_48 >> 3) * -0x55555555" (parenthesized_expression "((int)local_48 >> 3)" (( "(") (binary_expression "(int)local_48 >> 3" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (>> ">>") (number_literal "3")) () ")")) (* "*") (number_literal "-0x55555555"))) (; ";")) (if_statement "if (uVar6 == 0) {\n      local_58 = (int *)0x0;\n    }\n    else {\n      if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_58 = (int *)0x0;\n    }" ({ "{") (expression_statement "local_58 = (int *)0x0;" (assignment_expression "local_58 = (int *)0x0" (identifier "local_58") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n      if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }" (else "else") (compound_statement "{\n      if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }\n      *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;\n      local_58 = (int *)FUN_001fd480();\n    }" ({ "{") (if_statement "if (0xaaaaaaa < uVar6) {\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }" (if "if") (parenthesized_expression "(0xaaaaaaa < uVar6)" (( "(") (binary_expression "0xaaaaaaa < uVar6" (number_literal "0xaaaaaaa") (< "<") (identifier "uVar6")) () ")")) (compound_statement "{\n                    \n                    \n        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;\n        FUN_00244870();\n      }" ({ "{") (expression_statement "*(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;" (assignment_expression "*(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c" (pointer_expression "*(undefined1 **)((int)pppiVar9 + -4)" (* "*") (cast_expression "(undefined1 **)((int)pppiVar9 + -4)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppiVar9 + -4)" (( "(") (binary_expression "(int)pppiVar9 + -4" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&LAB_001b201c" (& "&") (identifier "LAB_001b201c"))) (; ";")) (expression_statement "FUN_00244870();" (call_expression "FUN_00244870()" (identifier "FUN_00244870") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(int **)((int)pppiVar9 + -0x10) = local_48;" (assignment_expression "*(int **)((int)pppiVar9 + -0x10) = local_48" (pointer_expression "*(int **)((int)pppiVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)pppiVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppiVar9 + -0x10)" (( "(") (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_48")) (; ";")) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppiVar9 + -0x14)" (( "(") (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b1e3a")) (; ";")) (expression_statement "local_58 = (int *)FUN_001fd480();" (assignment_expression "local_58 = (int *)FUN_001fd480()" (identifier "local_58") (= "=") (cast_expression "(int *)FUN_001fd480()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001fd480()" (identifier "FUN_001fd480") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")))) (expression_statement "piVar10 = local_30;" (assignment_expression "piVar10 = local_30" (identifier "piVar10") (= "=") (identifier "local_30")) (; ";")) (expression_statement "piVar5[3] = (int)local_58;" (assignment_expression "piVar5[3] = (int)local_58" (subscript_expression "piVar5[3]" (identifier "piVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58"))) (; ";")) (expression_statement "piVar5[4] = (int)local_58;" (assignment_expression "piVar5[4] = (int)local_58" (subscript_expression "piVar5[4]" (identifier "piVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58"))) (; ";")) (expression_statement "piVar5[5] = (int)local_48 + (int)local_58;" (assignment_expression "piVar5[5] = (int)local_48 + (int)local_58" (subscript_expression "piVar5[5]" (identifier "piVar5") ([ "[") (number_literal "5") (] "]")) (= "=") (binary_expression "(int)local_48 + (int)local_58" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58")))) (; ";")) (expression_statement "local_38 = piVar5;" (assignment_expression "local_38 = piVar5" (identifier "local_38") (= "=") (identifier "piVar5")) (; ";")) (if_statement "if (local_34 == local_30) {\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }\n    else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }" (if "if") (parenthesized_expression "(local_34 == local_30)" (( "(") (binary_expression "local_34 == local_30" (identifier "local_34") (== "==") (identifier "local_30")) () ")")) (compound_statement "{\n      piVar5[6] = 0;\n      piVar5 = local_30;\n    }" ({ "{") (expression_statement "piVar5[6] = 0;" (assignment_expression "piVar5[6] = 0" (subscript_expression "piVar5[6]" (identifier "piVar5") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar5 = local_30;" (assignment_expression "piVar5 = local_30" (identifier "piVar5") (= "=") (identifier "local_30")) (; ";")) (} "}")) (else_clause "else {\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }" (else "else") (compound_statement "{\n      local_48 = local_58;\n      piVar8 = local_34;\n      do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);\n      piVar5[6] = 0;\n      piVar5[4] = (int)local_48;\n      piVar5 = local_30;\n      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }\n    }" ({ "{") (expression_statement "local_48 = local_58;" (assignment_expression "local_48 = local_58" (identifier "local_48") (= "=") (identifier "local_58")) (; ";")) (expression_statement "piVar8 = local_34;" (assignment_expression "piVar8 = local_34" (identifier "piVar8") (= "=") (identifier "local_34")) (; ";")) (do_statement "do {\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      } while (piVar10 != piVar8);" (do "do") (compound_statement "{\n        *local_48 = (int)(local_48 + 2);\n        iVar1 = *piVar8;\n        *(undefined4 *)((int)pppiVar9 + -4) = 0;\n        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;\n        *(int *)((int)pppiVar9 + -0xc) = iVar1;\n        *(int **)((int)pppiVar9 + -0x10) = local_48;\n                    \n        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;\n        FUN_00068b30();\n        piVar4 = local_30;\n        piVar8 = piVar8 + 6;\n        local_48 = local_48 + 6;\n      }" ({ "{") (expression_statement "*local_48 = (int)(local_48 + 2);" (assignment_expression "*local_48 = (int)(local_48 + 2)" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (= "=") (cast_expression "(int)(local_48 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_48 + 2)" (( "(") (binary_expression "local_48 + 2" (identifier "local_48") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "iVar1 = *piVar8;" (assignment_expression "iVar1 = *piVar8" (identifier "iVar1") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (expression_statement "*(undefined4 *)((int)pppiVar9 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -4) = 0" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)pppiVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppiVar9 + -4)" (( "(") (binary_expression "(int)pppiVar9 + -4" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;" (assignment_expression "*(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1" (pointer_expression "*(int *)((int)pppiVar9 + -8)" (* "*") (cast_expression "(int *)((int)pppiVar9 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppiVar9 + -8)" (( "(") (binary_expression "(int)pppiVar9 + -8" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "piVar8[1] + iVar1" (subscript_expression "piVar8[1]" (identifier "piVar8") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "iVar1"))) (; ";")) (expression_statement "*(int *)((int)pppiVar9 + -0xc) = iVar1;" (assignment_expression "*(int *)((int)pppiVar9 + -0xc) = iVar1" (pointer_expression "*(int *)((int)pppiVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)pppiVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppiVar9 + -0xc)" (( "(") (binary_expression "(int)pppiVar9 + -0xc" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "*(int **)((int)pppiVar9 + -0x10) = local_48;" (assignment_expression "*(int **)((int)pppiVar9 + -0x10) = local_48" (pointer_expression "*(int **)((int)pppiVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)pppiVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppiVar9 + -0x10)" (( "(") (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_48")) (; ";")) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppiVar9 + -0x14)" (( "(") (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b1e81")) (; ";")) (expression_statement "FUN_00068b30();" (call_expression "FUN_00068b30()" (identifier "FUN_00068b30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar4 = local_30;" (assignment_expression "piVar4 = local_30" (identifier "piVar4") (= "=") (identifier "local_30")) (; ";")) (expression_statement "piVar8 = piVar8 + 6;" (assignment_expression "piVar8 = piVar8 + 6" (identifier "piVar8") (= "=") (binary_expression "piVar8 + 6" (identifier "piVar8") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "local_48 = local_48 + 6;" (assignment_expression "local_48 = local_48 + 6" (identifier "local_48") (= "=") (binary_expression "local_48 + 6" (identifier "local_48") (+ "+") (number_literal "6"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar10 != piVar8)" (( "(") (binary_expression "piVar10 != piVar8" (identifier "piVar10") (!= "!=") (identifier "piVar8")) () ")")) (; ";")) (expression_statement "piVar5[6] = 0;" (assignment_expression "piVar5[6] = 0" (subscript_expression "piVar5[6]" (identifier "piVar5") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar5[4] = (int)local_48;" (assignment_expression "piVar5[4] = (int)local_48" (subscript_expression "piVar5[4]" (identifier "piVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48"))) (; ";")) (expression_statement "piVar5 = local_30;" (assignment_expression "piVar5 = local_30" (identifier "piVar5") (= "=") (identifier "local_30")) (; ";")) (for_statement "for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }" (for "for") (( "(") (assignment_expression "piVar10 = local_34" (identifier "piVar10") (= "=") (identifier "local_34")) (; ";") (binary_expression "piVar4 != piVar10" (identifier "piVar4") (!= "!=") (identifier "piVar10")) (; ";") (assignment_expression "piVar10 = piVar10 + 6" (identifier "piVar10") (= "=") (binary_expression "piVar10 + 6" (identifier "piVar10") (+ "+") (number_literal "6"))) () ")") (compound_statement "{\n        if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }\n        piVar5 = local_34;\n      }" ({ "{") (if_statement "if ((int *)*piVar10 != piVar10 + 2) {\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }" (if "if") (parenthesized_expression "((int *)*piVar10 != piVar10 + 2)" (( "(") (binary_expression "(int *)*piVar10 != piVar10 + 2" (cast_expression "(int *)*piVar10" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar10" (* "*") (identifier "piVar10"))) (!= "!=") (binary_expression "piVar10 + 2" (identifier "piVar10") (+ "+") (number_literal "2"))) () ")")) (compound_statement "{\n          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;\n          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;\n          FUN_001ff030();\n        }" ({ "{") (expression_statement "*(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;" (assignment_expression "*(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10" (pointer_expression "*(int **)((int)pppiVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)pppiVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppiVar9 + -0x10)" (( "(") (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (cast_expression "(int *)*piVar10" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar10" (* "*") (identifier "piVar10")))) (; ";")) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppiVar9 + -0x14)" (( "(") (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b1ec5")) (; ";")) (expression_statement "FUN_001ff030();" (call_expression "FUN_001ff030()" (identifier "FUN_001ff030") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar5 = local_34;" (assignment_expression "piVar5 = local_34" (identifier "piVar5") (= "=") (identifier "local_34")) (; ";")) (} "}"))) (} "}")))) (if_statement "if (piVar5 != (int *)0x0) {\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }" (if "if") (parenthesized_expression "(piVar5 != (int *)0x0)" (( "(") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *(int **)((int)pppiVar9 + -0x10) = piVar5;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;\n      FUN_001ff030();\n    }" ({ "{") (expression_statement "*(int **)((int)pppiVar9 + -0x10) = piVar5;" (assignment_expression "*(int **)((int)pppiVar9 + -0x10) = piVar5" (pointer_expression "*(int **)((int)pppiVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)pppiVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppiVar9 + -0x10)" (( "(") (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar5")) (; ";")) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppiVar9 + -0x14)" (( "(") (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b1ee2")) (; ";")) (expression_statement "FUN_001ff030();" (call_expression "FUN_001ff030()" (identifier "FUN_001ff030") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar2 = *(undefined4 **)(param_1 + 4);" (assignment_expression "puVar2 = *(undefined4 **)(param_1 + 4)" (identifier "puVar2") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 4)" (* "*") (cast_expression "(undefined4 **)(param_1 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (puVar2 == *(undefined4 **)(param_1 + 8)) {\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }\n    else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }" (if "if") (parenthesized_expression "(puVar2 == *(undefined4 **)(param_1 + 8))" (( "(") (binary_expression "puVar2 == *(undefined4 **)(param_1 + 8)" (identifier "puVar2") (== "==") (pointer_expression "*(undefined4 **)(param_1 + 8)" (* "*") (cast_expression "(undefined4 **)(param_1 + 8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) () ")")) (compound_statement "{\n      *(int ***)((int)pppiVar9 + -8) = &local_38;\n      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;\n      *(int *)((int)pppiVar9 + -0x10) = param_1;\n      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;\n      FUN_001b6140();\n    }" ({ "{") (expression_statement "*(int ***)((int)pppiVar9 + -8) = &local_38;" (assignment_expression "*(int ***)((int)pppiVar9 + -8) = &local_38" (pointer_expression "*(int ***)((int)pppiVar9 + -8)" (* "*") (cast_expression "(int ***)((int)pppiVar9 + -8)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)pppiVar9 + -8)" (( "(") (binary_expression "(int)pppiVar9 + -8" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) (; ";")) (expression_statement "*(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;" (assignment_expression "*(undefined4 **)((int)pppiVar9 + -0xc) = puVar2" (pointer_expression "*(undefined4 **)((int)pppiVar9 + -0xc)" (* "*") (cast_expression "(undefined4 **)((int)pppiVar9 + -0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)pppiVar9 + -0xc)" (( "(") (binary_expression "(int)pppiVar9 + -0xc" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "puVar2")) (; ";")) (expression_statement "*(int *)((int)pppiVar9 + -0x10) = param_1;" (assignment_expression "*(int *)((int)pppiVar9 + -0x10) = param_1" (pointer_expression "*(int *)((int)pppiVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)pppiVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppiVar9 + -0x10)" (( "(") (binary_expression "(int)pppiVar9 + -0x10" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;" (assignment_expression "*(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0" (pointer_expression "*(undefined4 *)((int)pppiVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)pppiVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppiVar9 + -0x14)" (( "(") (binary_expression "(int)pppiVar9 + -0x14" (cast_expression "(int)pppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b1fc0")) (; ";")) (expression_statement "FUN_001b6140();" (call_expression "FUN_001b6140()" (identifier "FUN_001b6140") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }" (else "else") (compound_statement "{\n      *puVar2 = local_38;\n      *(undefined4 **)(param_1 + 4) = puVar2 + 1;\n    }" ({ "{") (expression_statement "*puVar2 = local_38;" (assignment_expression "*puVar2 = local_38" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (identifier "local_38")) (; ";")) (expression_statement "*(undefined4 **)(param_1 + 4) = puVar2 + 1;" (assignment_expression "*(undefined4 **)(param_1 + 4) = puVar2 + 1" (pointer_expression "*(undefined4 **)(param_1 + 4)" (* "*") (cast_expression "(undefined4 **)(param_1 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "puVar2 + 1" (identifier "puVar2") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "*(int **)(local_50 + 0xc) = local_38;" (assignment_expression "*(int **)(local_50 + 0xc) = local_38" (pointer_expression "*(int **)(local_50 + 0xc)" (* "*") (cast_expression "(int **)(local_50 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_50 + 0xc)" (( "(") (binary_expression "local_50 + 0xc" (identifier "local_50") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "local_38")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "piVar5 = *(int **)(local_44 + 0xc);" (assignment_expression "piVar5 = *(int **)(local_44 + 0xc)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(local_44 + 0xc)" (* "*") (cast_expression "(int **)(local_44 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_44 + 0xc)" (( "(") (binary_expression "local_44 + 0xc" (identifier "local_44") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (piVar5 != (int *)0x0) {\n    if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }\n    return;\n  }" (if "if") (parenthesized_expression "(piVar5 != (int *)0x0)" (( "(") (binary_expression "piVar5 != (int *)0x0" (identifier "piVar5") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }\n    return;\n  }" ({ "{") (if_statement "if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }\n    else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }" (if "if") (parenthesized_expression "(*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354)" (( "(") (binary_expression "*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354" (pointer_expression "*(undefined ***)(*piVar5 + 8)" (* "*") (cast_expression "(undefined ***)(*piVar5 + 8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*piVar5 + 8)" (( "(") (binary_expression "*piVar5 + 8" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (+ "+") (number_literal "8")) () ")")))) (== "==") (binary_expression "local_4c + -0x7f354" (identifier "local_4c") (+ "+") (number_literal "-0x7f354"))) () ")")) (compound_statement "{\n      *(undefined1 *)((int)piVar5 + 0x19) = 0;\n    }" ({ "{") (expression_statement "*(undefined1 *)((int)piVar5 + 0x19) = 0;" (assignment_expression "*(undefined1 *)((int)piVar5 + 0x19) = 0" (pointer_expression "*(undefined1 *)((int)piVar5 + 0x19)" (* "*") (cast_expression "(undefined1 *)((int)piVar5 + 0x19)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + 0x19)" (( "(") (binary_expression "(int)piVar5 + 0x19" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (number_literal "0x19")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }" (else "else") (compound_statement "{\n      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);\n    }" ({ "{") (expression_statement "(*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);" (call_expression "(*(code *)*(undefined ***)(*piVar5 + 8))(piVar5)" (parenthesized_expression "(*(code *)*(undefined ***)(*piVar5 + 8))" (( "(") (pointer_expression "*(code *)*(undefined ***)(*piVar5 + 8)" (* "*") (cast_expression "(code *)*(undefined ***)(*piVar5 + 8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*(undefined ***)(*piVar5 + 8)" (* "*") (cast_expression "(undefined ***)(*piVar5 + 8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(*piVar5 + 8)" (( "(") (binary_expression "*piVar5 + 8" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (+ "+") (number_literal "8")) () ")")))))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0007d010((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295);" (call_expression "FUN_0007d010((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295)" (identifier "FUN_0007d010") (argument_list "((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295)" (( "(") (binary_expression "(int)local_4c + -0xf50ef" (cast_expression "(int)local_4c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_4c")) (+ "+") (number_literal "-0xf50ef")) (, ",") (number_literal "0x61f") (, ",") (binary_expression "local_4c + -0x3d295" (identifier "local_4c") (+ "+") (number_literal "-0x3d295")) () ")"))) (; ";")) (} "}")))

/* 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 add_def(Versions * this, Stringpool * dynpool, Symbol * sym, char
   * version, Key version_key) */

void __thiscall
var_26::type_1::function_1
          (type_1 *this,type_2 *dynpool,type_3 *sym,char *version,type_4 version_key)

{
  type_5 var_29;
  type_6 *var_30;
  type_7 __position;
  type_8 *puVar3;
  int *var_25;
  type_9 *pVVar5;
  type_10 var_18;
  type_10 var_16;
  char *format;
  int *var_22;
  int *var_24;
  basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3> *local_58;
  basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3> *var_23;
  type_5 *local_44;
  char var_8;
  type_9 *vd;
  int *var_19;
  int *var_20;
  type_5 local_2c;
  
  var_19 = (int *)version_key;
  var_20 = (int *)0x0;
  local_2c = (type_5)0x0;
  std::
  _Hashtable<std::pair<unsigned_int,_unsigned_int>,var_27::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_4*>,var_27::var_1<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_4*>var_3>,var_27::__detail::_Select1st,_gold::type_1::Version_table_eq,_gold::type_1::Version_table_hash,var_27::__detail::_Mod_range_hashing,var_27::__detail::_Default_ranged_hash,var_27::__detail::_Prime_rehash_policy,var_27::__detail::var_5<true,_false,var_6>var_3>
  ::_M_emplace<std::pair<std::pair<unsigned_int,_unsigned_int>,_gold::var_4*>var_3>
            ((_Hashtable<std::pair<unsigned_int,_unsigned_int>,var_27::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_4*>,var_27::var_1<std::pair<const_std::pair<unsigned_int,_unsigned_int>,_gold::var_4*>var_3>,var_27::__detail::_Select1st,_gold::type_1::Version_table_eq,_gold::type_1::Version_table_hash,var_27::__detail::_Mod_range_hashing,var_27::__detail::_Default_ranged_hash,var_27::__detail::_Prime_rehash_policy,var_27::__detail::var_5<true,_false,var_6>var_3>
              *)&var_7,&this->version_table_,0,&stack0xffffffcc);
  if (var_8 != '\0') {
    if (parameters->options_ == (type_11 *)0x0) {
                    /* WARNING: Subroutine does not return */
      var_9("../../gold/parameters.h",0x5c,"options");
    }
    if ((parameters->options_->shared_).value != false) {
      Symbol::var_10(sym);
      puVar3 = (type_8 *)var_19;
      format = (char *)var_11("symbol %s has undefined version %s");
                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */
      var_12(format,puVar3,version);
      if ((type_5 *)var_19 != &stack0xffffffd4) {
        var_13(var_19);
      }
    }
    if (this->needs_base_version_ != false) {
      var_14(this,dynpool);
    }
    var_19 = (int *)0x0;
    var_20 = (int *)0x0;
    local_2c = (type_5)0x0;
                    /* try { // try from 001b1dcf to 001b1dd3 has its CatchHandler @ 001b202f */
    pVVar5 = (type_9 *)var_15(0x1c);
    (pVVar5->super_Version_base).index_ = 0xffffffff;
    (pVVar5->deps_).
    super__Vector_base<std::__cxx11::basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<std::__cxx11::basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
    ._M_impl._M_start = (type_12)0x0;
    (pVVar5->super_Version_base)._vptr_Version_base = (type_13 **)&PTR__Verdef_003a5440;
    (pVVar5->deps_).
    super__Vector_base<std::__cxx11::basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<std::__cxx11::basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
    ._M_impl._M_finish = (type_12)0x0;
    pVVar5->name_ = version;
    var_18 = (int)var_20 - (int)var_19;
    (pVVar5->deps_).
    super__Vector_base<std::__cxx11::basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<std::__cxx11::basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
    ._M_impl._M_end_of_storage = (type_12)0x0;
    var_16 = ((int)var_18 >> 3) * -0x55555555;
    if (var_16 == 0) {
      local_58 = (basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3> *)0x0;
    }
    else {
      if (0xaaaaaaa < var_16) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */
        std::var_17();
      }
                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */
      local_58 = (basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3> *)
                 var_15(var_18);
    }
    var_24 = var_20;
    (pVVar5->deps_).
    super__Vector_base<std::__cxx11::basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<std::__cxx11::basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
    ._M_impl._M_start = local_58;
    (pVVar5->deps_).
    super__Vector_base<std::__cxx11::basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<std::__cxx11::basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
    ._M_impl._M_finish = local_58;
    (pVVar5->deps_).
    super__Vector_base<std::__cxx11::basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<std::__cxx11::basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
    ._M_impl._M_end_of_storage = (type_12)(var_18 + (int)local_58);
    vd = pVVar5;
    if (var_19 == var_20) {
      pVVar5->is_base_ = false;
      pVVar5->is_weak_ = false;
      pVVar5->is_info_ = false;
      pVVar5->is_symbol_created_ = false;
    }
    else {
      var_23 = local_58;
      var_22 = var_19;
      do {
        (var_23->_M_dataplus)._M_p = (type_12)&var_23->field_2;
                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */
        std::__cxx11::basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3>::
        var_21<var_2*>(var_23,*var_22,var_22[1] + *var_22,0);
        var_25 = var_20;
        var_22 = var_22 + 6;
        var_23 = var_23 + 1;
      } while (var_24 != var_22);
      pVVar5->is_base_ = false;
      pVVar5->is_weak_ = false;
      pVVar5->is_info_ = false;
      pVVar5->is_symbol_created_ = false;
      (pVVar5->deps_).
      super__Vector_base<std::__cxx11::basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3>,var_27::var_1<std::__cxx11::basic_string<var_2,var_27::char_traits<var_2>,var_27::var_1<var_2>var_3>var_3>var_3>
      ._M_impl._M_finish = var_23;
      var_24 = var_20;
      for (var_22 = var_19; var_25 != var_22; var_22 = var_22 + 6) {
        if ((int *)*var_22 != var_22 + 2) {
          var_13((int *)*var_22);
        }
        var_24 = var_19;
      }
    }
    if (var_24 != (int *)0x0) {
      var_13(var_24);
    }
    __position._M_current =
         (this->defs_).super__Vector_base<var_26::type_9*,var_27::var_1<var_26::type_9*>var_3>._M_impl.
         _M_finish;
    if (__position._M_current ==
        (this->defs_).super__Vector_base<var_26::type_9*,var_27::var_1<var_26::type_9*>var_3>._M_impl.
        _M_end_of_storage) {
      std::vector<var_26::type_9*,var_27::var_1<var_26::type_9*>var_3>::
      _M_realloc_insert<var_26::type_9*var_28&>(&this->defs_,__position,&vd);
    }
    else {
      *__position._M_current = vd;
      (this->defs_).super__Vector_base<var_26::type_9*,var_27::var_1<var_26::type_9*>var_3>._M_impl.
      _M_finish = __position._M_current + 1;
    }
    local_44[3] = (type_5)vd;
    return;
  }
  var_29 = local_44[3];
  if (var_29 != (type_5)0x0) {
    var_30 = var_29->_M_nxt[2]._M_nxt;
    if (var_30 == (type_6 *)type_9::clear_weak) {
      *(type_8 *)((int)&var_29[6]._M_nxt + 1) = 0;
    }
    else {
      (*(type_14 *)var_30)(var_29);
    }
    return;
  }
                    /* WARNING: Subroutine does not return */
  var_9("../../gold/dynobj.cc",0x61f,"add_def");
}


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

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

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

{
  int iVar1;
  undefined4 *puVar2;
  undefined **ppuVar3;
  int *piVar4;
  int *piVar5;
  uint uVar6;
  undefined4 uVar7;
  undefined4 extraout_EDX;
  int *piVar8;
  int ***pppiVar9;
  int *piVar10;
  undefined4 uStack_64;
  int **appiStack_60 [2];
  int *local_58;
  int **local_54;
  int local_50;
  undefined **local_4c;
  int *local_48;
  int local_44;
  char local_40;
  int *local_38;
  int *local_34;
  int *local_30;
  int local_2c [7];
  
  local_4c = &__DT_PLTGOT;
  appiStack_60[0] = &local_34;
  uStack_64 = 0;
  local_34 = param_5;
  local_30 = (int *)0x0;
  local_2c[0] = 0;
  local_54 = appiStack_60[0];
  FUN_001be200(&local_44,param_1 + 0x18);
  ppuVar3 = local_4c;
  pppiVar9 = appiStack_60;
  local_50 = local_44;
  if (local_40 != '\0') {
    if (*(int *)(local_4c[0x102] + 8) == 0) {
      uStack_64 = extraout_EDX;
                    /* WARNING: Subroutine does not return */
      FUN_0007d010((int)local_4c + -0x116d93,0x5c,local_4c + -0x3d24a);
    }
    if (*(char *)(*(int *)(local_4c[0x102] + 8) + 0x1a25) != '\0') {
      FUN_0018bcf0(local_54,param_3);
      piVar5 = local_34;
      uVar7 = gettext(ppuVar3 + -0x3d35b);
                    /* try { // try from 001b1f42 to 001b1f46 has its CatchHandler @ 001b201c */
      FUN_00073e20(uVar7,piVar5,param_4);
      pppiVar9 = (int ***)&uStack_64;
      if (local_34 != local_2c) {
        FUN_001ff030(local_34);
        pppiVar9 = (int ***)&uStack_64;
      }
    }
    if (*(char *)(param_1 + 0x3c) != '\0') {
      *(undefined4 *)((int)pppiVar9 + -0xc) = param_2;
      *(int *)((int)pppiVar9 + -0x10) = param_1;
      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1f7c;
      FUN_001b1540();
    }
    ppuVar3 = local_4c;
    local_34 = (int *)0x0;
    *(undefined4 *)((int)pppiVar9 + -0x10) = 0x1c;
    local_30 = (int *)0x0;
    local_2c[0] = 0;
                    /* try { // try from 001b1dcf to 001b1dd3 has its CatchHandler @ 001b202f */
    *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1dd4;
    piVar5 = (int *)FUN_001fd480();
    piVar5[1] = -1;
    piVar5[3] = 0;
    *piVar5 = (int)(ppuVar3 + -0x26f0);
    piVar5[4] = 0;
    piVar5[2] = param_4;
    local_48 = (int *)((int)local_30 - (int)local_34);
    piVar5[5] = 0;
    uVar6 = ((int)local_48 >> 3) * -0x55555555;
    if (uVar6 == 0) {
      local_58 = (int *)0x0;
    }
    else {
      if (0xaaaaaaa < uVar6) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001b2017 to 001b201b has its CatchHandler @ 001b2028 */
        *(undefined1 **)((int)pppiVar9 + -4) = &LAB_001b201c;
        FUN_00244870();
      }
      *(int **)((int)pppiVar9 + -0x10) = local_48;
                    /* try { // try from 001b1e35 to 001b1e39 has its CatchHandler @ 001b2028 */
      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e3a;
      local_58 = (int *)FUN_001fd480();
    }
    piVar10 = local_30;
    piVar5[3] = (int)local_58;
    piVar5[4] = (int)local_58;
    piVar5[5] = (int)local_48 + (int)local_58;
    local_38 = piVar5;
    if (local_34 == local_30) {
      piVar5[6] = 0;
      piVar5 = local_30;
    }
    else {
      local_48 = local_58;
      piVar8 = local_34;
      do {
        *local_48 = (int)(local_48 + 2);
        iVar1 = *piVar8;
        *(undefined4 *)((int)pppiVar9 + -4) = 0;
        *(int *)((int)pppiVar9 + -8) = piVar8[1] + iVar1;
        *(int *)((int)pppiVar9 + -0xc) = iVar1;
        *(int **)((int)pppiVar9 + -0x10) = local_48;
                    /* try { // try from 001b1e7c to 001b1e80 has its CatchHandler @ 001b2023 */
        *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1e81;
        FUN_00068b30();
        piVar4 = local_30;
        piVar8 = piVar8 + 6;
        local_48 = local_48 + 6;
      } while (piVar10 != piVar8);
      piVar5[6] = 0;
      piVar5[4] = (int)local_48;
      piVar5 = local_30;
      for (piVar10 = local_34; piVar4 != piVar10; piVar10 = piVar10 + 6) {
        if ((int *)*piVar10 != piVar10 + 2) {
          *(int **)((int)pppiVar9 + -0x10) = (int *)*piVar10;
          *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ec5;
          FUN_001ff030();
        }
        piVar5 = local_34;
      }
    }
    if (piVar5 != (int *)0x0) {
      *(int **)((int)pppiVar9 + -0x10) = piVar5;
      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1ee2;
      FUN_001ff030();
    }
    puVar2 = *(undefined4 **)(param_1 + 4);
    if (puVar2 == *(undefined4 **)(param_1 + 8)) {
      *(int ***)((int)pppiVar9 + -8) = &local_38;
      *(undefined4 **)((int)pppiVar9 + -0xc) = puVar2;
      *(int *)((int)pppiVar9 + -0x10) = param_1;
      *(undefined4 *)((int)pppiVar9 + -0x14) = 0x1b1fc0;
      FUN_001b6140();
    }
    else {
      *puVar2 = local_38;
      *(undefined4 **)(param_1 + 4) = puVar2 + 1;
    }
    *(int **)(local_50 + 0xc) = local_38;
    return;
  }
  piVar5 = *(int **)(local_44 + 0xc);
  if (piVar5 != (int *)0x0) {
    if (*(undefined ***)(*piVar5 + 8) == local_4c + -0x7f354) {
      *(undefined1 *)((int)piVar5 + 0x19) = 0;
    }
    else {
      (*(code *)*(undefined ***)(*piVar5 + 8))(piVar5);
    }
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0007d010((int)local_4c + -0xf50ef,0x61f,local_4c + -0x3d295);
}

