
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */

Should_include
gold::Library_base::should_include_member
          (Symbol_table *symtab,Layout *layout,char *sym_name,Symbol **symp,string *why,
          char **tmpbufp,size_t *tmpbuflen)

{
  General_options *pGVar1;
  byte bVar2;
  bool bVar3;
  char *pcVar4;
  Symbol *pSVar5;
  char *name;
  int iVar6;
  char *__format;
  size_t sVar7;
  uint uVar8;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar9;
  int *piVar10;
  Script_options *local_48;
  int local_40 [3];
  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_34;
  undefined4 uStack_14;
  
  uStack_14 = 0x1953f9;
  pcVar4 = strchr(sym_name,0x40);
  name = sym_name;
  if (pcVar4 == (char *)0x0) {
LAB_00195455:
    pSVar5 = Symbol_table::lookup(symtab,name,pcVar4);
    *symp = pSVar5;
joined_r0x00195596:
    if (pSVar5 != (Symbol *)0x0) {
      bVar2 = pSVar5->field_0x2a & 7;
      if (bVar2 == 0) goto LAB_00195481;
LAB_00195500:
      if (bVar2 != 4) {
        return SHOULD_INCLUDE_NO;
      }
      goto LAB_00195504;
    }
  }
  else {
    sVar7 = (int)pcVar4 - (int)sym_name;
    name = *tmpbufp;
    uVar8 = sVar7 + 1;
    if (*tmpbuflen < uVar8) {
      name = (char *)xrealloc(name,uVar8);
      *tmpbufp = name;
      *tmpbuflen = uVar8;
    }
    memcpy(name,sym_name,sVar7);
    name[sVar7] = '\0';
    if (pcVar4[1] != '@') {
      pcVar4 = pcVar4 + 1;
      goto LAB_00195455;
    }
    pSVar5 = Symbol_table::lookup(symtab,name,pcVar4 + 2);
    if (pSVar5 == (Symbol *)0x0) {
LAB_00195578:
      pSVar5 = Symbol_table::lookup(symtab,name,(char *)0x0);
      *symp = pSVar5;
      goto joined_r0x00195596;
    }
    bVar2 = pSVar5->field_0x2a & 7;
    if ((pSVar5->field_0x2a & 7) != 0) {
      if (bVar2 == 4) goto LAB_001954e0;
      goto LAB_00195578;
    }
    if (((pSVar5->u2_).shndx != 0) || ((pSVar5->field_0x2b & 0x20) == 0)) goto LAB_00195578;
LAB_001954e0:
    if ((byte)pSVar5->field_0x28 >> 4 == 2) goto LAB_00195578;
    *symp = pSVar5;
    if (bVar2 != 0) goto LAB_00195500;
LAB_00195481:
    if ((pSVar5->u2_).shndx != 0) {
      return SHOULD_INCLUDE_NO;
    }
    if ((pSVar5->field_0x2b & 0x20) == 0) {
      return SHOULD_INCLUDE_NO;
    }
LAB_00195504:
    bVar3 = Script_options::is_pending_assignment(layout->script_options_,name);
    if (bVar3) {
      return SHOULD_INCLUDE_NO;
    }
    if ((byte)pSVar5->field_0x28 >> 4 != 2) {
      return SHOULD_INCLUDE_YES;
    }
  }
  pGVar1 = parameters->options_;
  if (pGVar1 != (General_options *)0x0) {
    if ((pGVar1->undefined_).value._M_h._M_element_count != 0) {
      paVar9 = &local_34.field_2;
      local_34._M_dataplus._M_p = (pointer)paVar9;
      sVar7 = strlen(name);
      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
      _M_construct<char_const*>(&local_34,name,name + sVar7,0);
      std::
      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
      ::find(&(pGVar1->undefined_).value._M_h,&local_34);
      if (local_40[0] != 0) {
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)local_34._M_dataplus._M_p != paVar9) {
          operator_delete(local_34._M_dataplus._M_p);
        }
        pcVar4 = "-u ";
        uVar8 = 3;
        goto LAB_0019576e;
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)local_34._M_dataplus._M_p != paVar9) {
        operator_delete(local_34._M_dataplus._M_p);
      }
    }
    pGVar1 = parameters->options_;
    if (pGVar1 == (General_options *)0x0) goto LAB_001958a7;
    if ((pGVar1->export_dynamic_symbol_).value._M_h._M_element_count == 0) {
      local_48 = layout->script_options_;
      piVar10 = local_40;
    }
    else {
      paVar9 = &local_34.field_2;
      local_34._M_dataplus._M_p = (pointer)paVar9;
      sVar7 = strlen(name);
      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
      _M_construct<char_const*>(&local_34,name,name + sVar7,0);
      piVar10 = local_40;
      std::
      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34);
      if (local_40[0] != 0) {
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)local_34._M_dataplus._M_p != paVar9) {
          operator_delete(local_34._M_dataplus._M_p);
        }
        pcVar4 = "--export-dynamic-symbol ";
        uVar8 = 0x18;
        goto LAB_0019576e;
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
           *)local_34._M_dataplus._M_p != paVar9) {
        operator_delete(local_34._M_dataplus._M_p);
      }
      local_48 = layout->script_options_;
    }
    local_34._M_dataplus._M_p = (pointer)&local_34.field_2;
    sVar7 = strlen(name);
    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
    _M_construct<char_const*>(&local_34,name,name + sVar7,0,piVar10);
    std::
    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>
    ::find(&(local_48->symbol_references_)._M_h,&local_34);
    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
         *)local_34._M_dataplus._M_p != &local_34.field_2) {
      operator_delete(local_34._M_dataplus._M_p);
    }
    if (local_40[0] != 0) {
      sVar7 = strlen(name);
      pcVar4 = (char *)operator_new__(sVar7 + 100);
      __format = (char *)gettext("script or expression reference to %s");
      snprintf(pcVar4,sVar7 + 100,__format,name);
      sVar7 = strlen(pcVar4);
      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,sVar7);
      operator_delete__(pcVar4);
      return SHOULD_INCLUDE_YES;
    }
    if (parameters->options_ != (General_options *)0x0) {
      if ((((parameters->options_->relocatable_).value != false) ||
          (pcVar4 = Parameters::entry(parameters), pcVar4 == (char *)0x0)) ||
         (iVar6 = strcmp(name,pcVar4), iVar6 != 0)) {
        return SHOULD_INCLUDE_UNKNOWN;
      }
      pcVar4 = "entry symbol ";
      uVar8 = 0xd;
LAB_0019576e:
      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,uVar8);
      sVar7 = strlen(name);
      if (sVar7 <= 0x7fffffff - why->_M_string_length) {
        std::string::_M_append((string *)why,name,sVar7);
        return SHOULD_INCLUDE_YES;
      }
                    /* WARNING: Subroutine does not return */
      std::__throw_length_error("basic_string::append");
    }
  }
LAB_001958a7:
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined4
FUN_001953f0(undefined4 param_1,undefined4 param_2,char *param_3,int *param_4,undefined4 param_5,
            undefined4 *param_6,uint *param_7)

{
  byte bVar1;
  char cVar2;
  char *pcVar3;
  int iVar4;
  char *__s;
  size_t sVar5;
  undefined4 uVar6;
  undefined4 uVar7;
  char *__n;
  int *piVar8;
  int *piVar9;
  size_t *psVar10;
  char **ppcVar11;
  size_t asStack_7c [8];
  int local_50;
  char *local_4c [2];
  int local_44;
  int local_40 [3];
  char *local_34;
  char local_2c [24];
  undefined4 uStack_14;
  
  uStack_14 = 0x1953f9;
  asStack_7c[7] = 0x19540e;
  pcVar3 = strchr(param_3,0x40);
  __s = param_3;
  if (pcVar3 == (char *)0x0) {
LAB_00195455:
    asStack_7c[7] = 0x195463;
    iVar4 = FUN_00179ab0();
    *param_4 = iVar4;
joined_r0x00195596:
    if (iVar4 != 0) {
      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;
      if (bVar1 == 0) goto LAB_00195481;
LAB_00195500:
      if (bVar1 != 4) {
        return 0;
      }
      goto LAB_00195504;
    }
  }
  else {
    __n = pcVar3 + -(int)param_3;
    __s = (char *)*param_6;
    local_4c[0] = __n + 1;
    if ((char *)*param_7 < local_4c[0]) {
      asStack_7c[7] = 0x19554a;
      local_4c[1] = __n;
      __s = (char *)FUN_001e4d50();
      *param_6 = __s;
      *param_7 = (uint)local_4c[0];
      __n = local_4c[1];
    }
    asStack_7c[7] = 0x19543f;
    local_4c[0] = __n;
    memcpy(__s,param_3,(size_t)__n);
    __s[(int)local_4c[0]] = '\0';
    if (pcVar3[1] != '@') goto LAB_00195455;
    asStack_7c[7] = 0x1954b1;
    iVar4 = FUN_00179ab0();
    if (iVar4 == 0) {
LAB_00195578:
      asStack_7c[7] = 0x195589;
      iVar4 = FUN_00179ab0();
      *param_4 = iVar4;
      goto joined_r0x00195596;
    }
    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;
    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {
      if (bVar1 == 4) goto LAB_001954e0;
      goto LAB_00195578;
    }
    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;
LAB_001954e0:
    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;
    *param_4 = iVar4;
    if (bVar1 != 0) goto LAB_00195500;
LAB_00195481:
    if (*(int *)(iVar4 + 0xc) != 0) {
      return 0;
    }
    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {
      return 0;
    }
LAB_00195504:
    asStack_7c[7] = 0x195514;
    cVar2 = FUN_00169d70();
    if (cVar2 != '\0') {
      return 0;
    }
    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {
      return 1;
    }
  }
  ppcVar11 = local_4c;
  pcVar3 = *(char **)(DAT_0038f378 + 8);
  if (pcVar3 != (char *)0x0) {
    ppcVar11 = local_4c;
    if (*(int *)(pcVar3 + 0x4294) != 0) {
      local_4c[0] = local_2c;
      asStack_7c[7] = 0x195715;
      local_4c[1] = pcVar3;
      local_34 = local_4c[0];
      strlen(__s);
      local_50 = 0;
      asStack_7c[7] = 0x195724;
      FUN_00050e40();
      asStack_7c[7] = 0x19573d;
      FUN_000ba920();
      ppcVar11 = (char **)&local_50;
      if (local_44 != 0) {
        if (local_40[2] != local_50) {
          asStack_7c[7] = local_40[2];
          FUN_001e6db0();
        }
        pcVar3 = "-u ";
        psVar10 = asStack_7c + 7;
        asStack_7c[7] = 3;
        goto LAB_0019576e;
      }
      if (local_40[2] != local_50) {
        asStack_7c[7] = local_40[2];
        FUN_001e6db0();
        ppcVar11 = (char **)&local_50;
      }
    }
    iVar4 = *(int *)(DAT_0038f378 + 8);
    if (iVar4 == 0) goto LAB_001958a7;
    if (*(int *)(iVar4 + 0x1344) == 0) {
      piVar8 = (int *)ppcVar11 + 8;
      ((int *)ppcVar11)[6] = (int)piVar8;
      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);
      *ppcVar11 = (char *)((int *)ppcVar11 + 3);
      piVar9 = (int *)ppcVar11;
    }
    else {
      ((int *)ppcVar11)[2] = iVar4;
      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);
      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);
      ((int *)ppcVar11)[-4] = (int)__s;
      ((int *)ppcVar11)[-5] = 0x1957dd;
      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);
      ((int *)ppcVar11)[-1] = 0;
      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);
      ((int *)ppcVar11)[-3] = (int)__s;
      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);
      ((int *)ppcVar11)[-5] = 0x1957ec;
      FUN_00050e40();
      *ppcVar11 = (char *)((int *)ppcVar11 + 3);
      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);
      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;
      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);
      ((int *)ppcVar11)[-5] = 0x195809;
      FUN_000ba920();
      iVar4 = ((int *)ppcVar11)[5];
      piVar8 = (int *)*ppcVar11;
      if (((int *)ppcVar11)[2] != 0) {
        if ((int *)iVar4 != piVar8) {
          ((int *)ppcVar11)[-5] = iVar4;
          ((int *)ppcVar11)[-6] = 0x195839;
          FUN_001e6db0();
        }
        pcVar3 = "--export-dynamic-symbol ";
        psVar10 = (size_t *)((int *)ppcVar11 + -5);
        ((int *)ppcVar11)[-5] = 0x18;
        goto LAB_0019576e;
      }
      if ((int *)iVar4 != piVar8) {
        *ppcVar11 = (char *)piVar8;
        ((int *)ppcVar11)[-5] = iVar4;
        ((int *)ppcVar11)[-6] = 0x195881;
        FUN_001e6db0();
        piVar8 = (int *)*ppcVar11;
      }
      piVar9 = (int *)ppcVar11 + -1;
      ((int *)ppcVar11)[5] = (int)piVar8;
      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);
    }
    piVar9[2] = (int)piVar8;
    piVar9[-4] = (int)__s;
    piVar9[-5] = 0x195601;
    sVar5 = strlen((char *)piVar9[-4]);
    piVar9[-1] = 0;
    piVar9[-2] = (int)(__s + sVar5);
    piVar9[-3] = (int)__s;
    piVar9[-4] = (int)((int *)ppcVar11 + 6);
    piVar9[-5] = 0x195610;
    FUN_00050e40();
    piVar9[-2] = (int)((int *)ppcVar11 + 6);
    piVar9[-3] = piVar9[1] + 0x40;
    piVar9[-4] = *piVar9;
    piVar9[-5] = 0x195625;
    FUN_000ba920();
    iVar4 = piVar9[2];
    if (piVar9[5] != piVar9[1]) {
      piVar9[-5] = piVar9[5];
      piVar9[-6] = 0x195641;
      FUN_001e6db0();
    }
    ppcVar11 = (char **)(piVar9 + -1);
    if (iVar4 != 0) {
      piVar9[-5] = (int)__s;
      piVar9[-6] = 0x195699;
      sVar5 = strlen((char *)piVar9[-5]);
      piVar9[-5] = sVar5 + 100;
      piVar9[-6] = 0x1956a4;
      uVar6 = FUN_001e5180();
      piVar9[-5] = (int)"script or expression reference to %s";
      piVar9[-6] = 0x1956b4;
      uVar7 = gettext();
      piVar9[-6] = (int)__s;
      piVar9[-7] = uVar7;
      piVar9[-8] = sVar5 + 100;
      piVar9[-9] = uVar6;
      piVar9[-10] = 0x1956bd;
      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);
      piVar9[-5] = uVar6;
      piVar9[-6] = 0x1956c6;
      sVar5 = strlen((char *)piVar9[-5]);
      piVar9[-5] = sVar5;
      piVar9[-6] = uVar6;
      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);
      piVar9[-8] = 0;
      piVar9[-9] = piVar9[0x17];
      piVar9[-10] = 0x1956dc;
      FUN_001ef9f0();
      piVar9[-5] = uVar6;
      piVar9[-6] = 0x1956e5;
      FUN_001e6d50();
      return 1;
    }
    if (*(int *)(DAT_0038f378 + 8) != 0) {
      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {
        psVar10 = (size_t *)(piVar9 + -5);
        piVar9[-5] = DAT_0038f378;
        piVar9[-6] = 0x195667;
        iVar4 = FUN_00139510();
        if (iVar4 != 0) {
          piVar9[-4] = iVar4;
          piVar9[-5] = (int)__s;
          piVar9[-6] = 0x195678;
          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);
          if (iVar4 == 0) {
            pcVar3 = "entry symbol ";
            piVar9[-5] = 0xd;
LAB_0019576e:
            psVar10[-1] = (size_t)pcVar3;
            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);
            psVar10[-3] = 0;
            psVar10[-4] = psVar10[0x1c];
            psVar10[-5] = 0x195781;
            FUN_001ef9f0();
            *psVar10 = (size_t)__s;
            psVar10[-1] = 0x19578a;
            sVar5 = strlen((char *)*psVar10);
            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {
              psVar10[2] = sVar5;
              psVar10[1] = (size_t)__s;
              *psVar10 = psVar10[0x1c];
              psVar10[-1] = 0x1957af;
              FUN_001f05c0();
              return 1;
            }
            *psVar10 = (size_t)"basic_string::append";
                    /* WARNING: Subroutine does not return */
            psVar10[-1] = (size_t)&UNK_001958cc;
            FUN_0022c7a0();
          }
        }
      }
      return 2;
    }
  }
LAB_001958a7:
  *(int **)((int)ppcVar11 + -4) = &DAT_0038f378;
  *(char **)((int)ppcVar11 + -8) = "options";
  *(undefined4 *)((int)ppcVar11 + -0xc) = 0x5c;
  *(char **)((int)ppcVar11 + -0x10) = "../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)((int)ppcVar11 + -0x14) = 0x1958bd;
  FUN_00069d00();
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00035840
ADD EBX,0x1f9c07
SUB ESP,0x44
MOV EBP,dword ptr [ESP + 0x60]
PUSH 0x40
PUSH EBP
CALL 0x000291d0
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x00195455
MOV EAX,dword ptr [ESP + 0x64]
MOV EDX,ESI
SUB EDX,EBP
MOV EDI,dword ptr [EAX]
MOV EAX,dword ptr [ESP + 0x68]
LEA ECX,[EDX + 0x1]
CMP ECX,dword ptr [EAX]
JA 0x00195538
SUB ESP,0x4
PUSH EDX
MOV dword ptr [ESP + 0x8],EDX
PUSH EBP
PUSH EDI
CALL 0x000295c0
MOV EDX,dword ptr [ESP + 0x10]
ADD ESP,0x10
MOV byte ptr [EDI + EDX*0x1],0x0
CMP byte ptr [ESI + 0x1],0x40
JZ 0x001954a0
ADD ESI,0x1
MOV EBP,EDI
SUB ESP,0x4
PUSH ESI
PUSH EBP
PUSH dword ptr [ESP + 0x5c]
CALL 0x00179ab0
ADD ESP,0x10
MOV ESI,EAX
MOV EAX,dword ptr [ESP + 0x5c]
MOV dword ptr [EAX],ESI
TEST ESI,ESI
JZ 0x0019559c
MOVZX EAX,byte ptr [ESI + 0x2a]
AND EAX,0x7
TEST AL,AL
JNZ 0x00195500
MOV EAX,dword ptr [ESI + 0xc]
TEST EAX,EAX
JNZ 0x0019548e
TEST byte ptr [ESI + 0x2b],0x20
JNZ 0x00195504
XOR EAX,EAX
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
ADD ESI,0x2
PUSH ESI
PUSH EDI
PUSH dword ptr [ESP + 0x5c]
CALL 0x00179ab0
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x00195578
MOVZX EAX,byte ptr [EAX + 0x2a]
AND EAX,0x7
JNZ 0x00195570
MOV EDX,dword ptr [ESI + 0xc]
TEST EDX,EDX
JNZ 0x00195578
TEST byte ptr [ESI + 0x2b],0x20
JZ 0x00195578
MOVZX EDX,byte ptr [ESI + 0x28]
SHR DL,0x4
CMP DL,0x2
JZ 0x00195578
MOV ECX,dword ptr [ESP + 0x5c]
MOV EBP,EDI
MOV dword ptr [ECX],ESI
TEST AL,AL
JZ 0x00195481
LEA ESI,[ESI]
CMP AL,0x4
JNZ 0x0019548e
SUB ESP,0x8
PUSH EBP
MOV EAX,dword ptr [ESP + 0x60]
PUSH dword ptr [EAX + 0x4]
CALL 0x00169d70
ADD ESP,0x10
TEST AL,AL
JNZ 0x0019548e
MOVZX EAX,byte ptr [ESI + 0x28]
SHR AL,0x4
CMP AL,0x2
JZ 0x0019559c
MOV EAX,0x1
JMP 0x00195490
MOV dword ptr [ESP + 0x4],EDX
SUB ESP,0x8
PUSH ECX
MOV dword ptr [ESP + 0xc],ECX
PUSH EDI
CALL 0x001e4d50
MOV ECX,dword ptr [ESP + 0x10]
MOV EDI,EAX
MOV EAX,dword ptr [ESP + 0x74]
MOV dword ptr [EAX],EDI
MOV EAX,dword ptr [ESP + 0x78]
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x4]
MOV dword ptr [EAX],ECX
JMP 0x00195430
CMP AL,0x4
JZ 0x001954e0
SUB ESP,0x4
MOV EBP,EDI
PUSH 0x0
PUSH EDI
PUSH dword ptr [ESP + 0x5c]
CALL 0x00179ab0
ADD ESP,0x10
MOV ESI,EAX
MOV EAX,dword ptr [ESP + 0x5c]
MOV dword ptr [EAX],ESI
TEST ESI,ESI
JNZ 0x00195476
LEA EDI,[EBX + 0x378]
MOV EAX,dword ptr [EDI]
MOV ECX,dword ptr [EAX + 0x8]
TEST ECX,ECX
JZ 0x001958a7
MOV ESI,dword ptr [ECX + 0x4294]
TEST ESI,ESI
JNZ 0x001956f8
MOV ECX,dword ptr [EAX + 0x8]
TEST ECX,ECX
JZ 0x001958a7
MOV ESI,dword ptr [ECX + 0x1344]
TEST ESI,ESI
JNZ 0x001957c0
MOV EAX,dword ptr [ESP + 0x54]
LEA EDX,[ESP + 0x20]
LEA ESI,[ESP + 0x18]
MOV dword ptr [ESP + 0x18],EDX
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x4],EAX
LEA EAX,[ESP + 0xc]
MOV dword ptr [ESP],EAX
MOV dword ptr [ESP + 0x8],EDX
SUB ESP,0xc
PUSH EBP
CALL 0x000295f0
ADD ESP,0x10
ADD EAX,EBP
PUSH 0x0
PUSH EAX
PUSH EBP
PUSH ESI
CALL 0x00050e40
ADD ESP,0xc
PUSH ESI
MOV EAX,dword ptr [ESP + 0xc]
ADD EAX,0x40
PUSH EAX
PUSH dword ptr [ESP + 0xc]
CALL 0x000ba920
MOV ESI,dword ptr [ESP + 0x18]
MOV EAX,dword ptr [ESP + 0x24]
ADD ESP,0xc
MOV EDX,dword ptr [ESP + 0x8]
CMP EAX,EDX
JZ 0x00195644
SUB ESP,0xc
PUSH EAX
CALL 0x001e6db0
ADD ESP,0x10
TEST ESI,ESI
JNZ 0x00195690
MOV EDX,dword ptr [EDI]
MOV EAX,dword ptr [EDX + 0x8]
TEST EAX,EAX
JZ 0x001958a7
CMP byte ptr [EAX + 0x318d],0x0
JNZ 0x00195683
SUB ESP,0xc
PUSH EDX
CALL 0x00139510
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00195683
SUB ESP,0x8
PUSH EAX
PUSH EBP
CALL 0x00029b10
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00195840
ADD ESP,0x3c
MOV EAX,0x2
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH EBP
CALL 0x000295f0
LEA EDI,[EAX + 0x64]
MOV dword ptr [ESP],EDI
CALL 0x001e5180
MOV ESI,EAX
LEA EAX,[EBX + 0xfff0e728]
MOV dword ptr [ESP],EAX
CALL 0x000293b0
PUSH EBP
PUSH EAX
PUSH EDI
PUSH ESI
CALL 0x00029a40
ADD ESP,0x14
PUSH ESI
CALL 0x000295f0
MOV dword ptr [ESP],EAX
PUSH ESI
MOV EAX,dword ptr [ESP + 0x74]
PUSH dword ptr [EAX + 0x4]
PUSH 0x0
PUSH dword ptr [ESP + 0x7c]
CALL 0x001ef9f0
ADD ESP,0x14
PUSH ESI
CALL 0x001e6d50
ADD ESP,0x10
MOV EAX,0x1
JMP 0x00195490
LEA EDX,[ESP + 0x20]
MOV dword ptr [ESP + 0x4],ECX
LEA ESI,[ESP + 0x18]
SUB ESP,0xc
MOV dword ptr [ESP + 0x24],EDX
MOV dword ptr [ESP + 0xc],EDX
PUSH EBP
CALL 0x000295f0
ADD ESP,0x10
ADD EAX,EBP
PUSH 0x0
PUSH EAX
PUSH EBP
PUSH ESI
CALL 0x00050e40
LEA EDX,[ESP + 0x1c]
ADD ESP,0xc
PUSH ESI
MOV ECX,dword ptr [ESP + 0xc]
LEA EAX,[ECX + 0x4288]
PUSH EAX
PUSH EDX
CALL 0x000ba920
ADD ESP,0xc
MOV EDX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [ESP + 0x18]
TEST EDX,EDX
MOV EDX,dword ptr [ESP]
JZ 0x00195850
CMP EAX,EDX
JZ 0x00195763
SUB ESP,0xc
PUSH EAX
CALL 0x001e6db0
ADD ESP,0x10
SUB ESP,0xc
LEA EAX,[EBX + 0xfff0e577]
PUSH 0x3
PUSH EAX
MOV EAX,dword ptr [ESP + 0x74]
PUSH dword ptr [EAX + 0x4]
PUSH 0x0
PUSH dword ptr [ESP + 0x7c]
CALL 0x001ef9f0
ADD ESP,0x14
PUSH EBP
CALL 0x000295f0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x60]
MOV EDX,0x7fffffff
SUB EDX,dword ptr [ECX + 0x4]
CMP EAX,EDX
JA 0x001958bd
SUB ESP,0x4
PUSH EAX
PUSH EBP
PUSH dword ptr [ESP + 0x6c]
CALL 0x001f05c0
ADD ESP,0x10
MOV EAX,0x1
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EDX,[ESP + 0x20]
MOV dword ptr [ESP + 0x8],ECX
LEA ESI,[ESP + 0x18]
SUB ESP,0xc
MOV dword ptr [ESP + 0x24],EDX
MOV dword ptr [ESP + 0x10],EDX
PUSH EBP
CALL 0x000295f0
ADD ESP,0x10
ADD EAX,EBP
PUSH 0x0
PUSH EAX
PUSH EBP
PUSH ESI
CALL 0x00050e40
LEA EDX,[ESP + 0x1c]
MOV dword ptr [ESP + 0x10],EDX
ADD ESP,0xc
PUSH ESI
MOV ECX,dword ptr [ESP + 0x10]
LEA EAX,[ECX + 0x1338]
PUSH EAX
PUSH EDX
CALL 0x000ba920
ADD ESP,0xc
MOV EDX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [ESP + 0x18]
TEST EDX,EDX
MOV EDX,dword ptr [ESP + 0x4]
JZ 0x00195870
CMP EAX,EDX
JNZ 0x00195830
SUB ESP,0xc
LEA EAX,[EBX + 0xfff0e57b]
PUSH 0x18
JMP 0x0019576e
SUB ESP,0xc
PUSH EAX
CALL 0x001e6db0
ADD ESP,0x10
JMP 0x00195820
SUB ESP,0xc
LEA EAX,[EBX + 0xfff0e594]
PUSH 0xd
JMP 0x0019576e
CMP EAX,EDX
JZ 0x001958a0
SUB ESP,0xc
PUSH EAX
CALL 0x001e6db0
MOV EAX,dword ptr [EDI]
ADD ESP,0x10
JMP 0x001955bd
CMP EAX,EDX
JZ 0x00195888
MOV dword ptr [ESP + 0x4],EDX
SUB ESP,0xc
PUSH EAX
CALL 0x001e6db0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x4]
MOV EAX,dword ptr [ESP + 0x54]
MOV dword ptr [ESP + 0x18],EDX
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x4],EAX
JMP 0x001955f4
MOV EAX,dword ptr [EDI]
JMP 0x001955bd
LEA EAX,[EBX + 0xfff0e890]
PUSH EDI
PUSH EAX
LEA EAX,[EBX + 0xffef8210]
PUSH 0x5c
PUSH EAX
CALL 0x00069d00
SUB ESP,0xc
LEA EAX,[EBX + 0xffef7be2]
PUSH EAX
CALL 0x0022c7a0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4\nFUN_001953f0(undefined4 param_1,undefined4 param_2,char *param_3,int *param_4,undefined4 param_5,\n            undefined4 *param_6,uint *param_7)\n\n{\n  byte bVar1;\n  char cVar2;\n  char *pcVar3;\n  int iVar4;\n  char *__s;\n  size_t sVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  char *__n;\n  int *piVar8;\n  int *piVar9;\n  size_t *psVar10;\n  char **ppcVar11;\n  size_t asStack_7c [8];\n  int local_50;\n  char *local_4c [2];\n  int local_44;\n  int local_40 [3];\n  char *local_34;\n  char local_2c [24];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1953f9;\n  asStack_7c[7] = 0x19540e;\n  pcVar3 = strchr(param_3,0x40);\n  __s = param_3;\n  if (pcVar3 == (char *)0x0) {\nLAB_00195455:\n    asStack_7c[7] = 0x195463;\n    iVar4 = FUN_00179ab0();\n    *param_4 = iVar4;\njoined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }\n  }\n  else {\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }\n  ppcVar11 = local_4c;\n  pcVar3 = *(char **)(DAT_0038f378 + 8);\n  if (pcVar3 != (char *)0x0) {\n    ppcVar11 = local_4c;\n    if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }\n    iVar4 = *(int *)(DAT_0038f378 + 8);\n    if (iVar4 == 0) goto LAB_001958a7;\n    if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }\n    piVar9[2] = (int)piVar8;\n    piVar9[-4] = (int)__s;\n    piVar9[-5] = 0x195601;\n    sVar5 = strlen((char *)piVar9[-4]);\n    piVar9[-1] = 0;\n    piVar9[-2] = (int)(__s + sVar5);\n    piVar9[-3] = (int)__s;\n    piVar9[-4] = (int)((int *)ppcVar11 + 6);\n    piVar9[-5] = 0x195610;\n    FUN_00050e40();\n    piVar9[-2] = (int)((int *)ppcVar11 + 6);\n    piVar9[-3] = piVar9[1] + 0x40;\n    piVar9[-4] = *piVar9;\n    piVar9[-5] = 0x195625;\n    FUN_000ba920();\n    iVar4 = piVar9[2];\n    if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }\n    ppcVar11 = (char **)(piVar9 + -1);\n    if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }\n    if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    /* WARNING: Subroutine does not return */\n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }\n  }\nLAB_001958a7:\n  *(int **)((int)ppcVar11 + -4) = &DAT_0038f378;\n  *(char **)((int)ppcVar11 + -8) = "options";\n  *(undefined4 *)((int)ppcVar11 + -0xc) = 0x5c;\n  *(char **)((int)ppcVar11 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)ppcVar11 + -0x14) = 0x1958bd;\n  FUN_00069d00();\n}\n\n" comment (function_definition "undefined4\nFUN_001953f0(undefined4 param_1,undefined4 param_2,char *param_3,int *param_4,undefined4 param_5,\n            undefined4 *param_6,uint *param_7)\n\n{\n  byte bVar1;\n  char cVar2;\n  char *pcVar3;\n  int iVar4;\n  char *__s;\n  size_t sVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  char *__n;\n  int *piVar8;\n  int *piVar9;\n  size_t *psVar10;\n  char **ppcVar11;\n  size_t asStack_7c [8];\n  int local_50;\n  char *local_4c [2];\n  int local_44;\n  int local_40 [3];\n  char *local_34;\n  char local_2c [24];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1953f9;\n  asStack_7c[7] = 0x19540e;\n  pcVar3 = strchr(param_3,0x40);\n  __s = param_3;\n  if (pcVar3 == (char *)0x0) {\nLAB_00195455:\n    asStack_7c[7] = 0x195463;\n    iVar4 = FUN_00179ab0();\n    *param_4 = iVar4;\njoined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }\n  }\n  else {\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }\n  ppcVar11 = local_4c;\n  pcVar3 = *(char **)(DAT_0038f378 + 8);\n  if (pcVar3 != (char *)0x0) {\n    ppcVar11 = local_4c;\n    if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }\n    iVar4 = *(int *)(DAT_0038f378 + 8);\n    if (iVar4 == 0) goto LAB_001958a7;\n    if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }\n    piVar9[2] = (int)piVar8;\n    piVar9[-4] = (int)__s;\n    piVar9[-5] = 0x195601;\n    sVar5 = strlen((char *)piVar9[-4]);\n    piVar9[-1] = 0;\n    piVar9[-2] = (int)(__s + sVar5);\n    piVar9[-3] = (int)__s;\n    piVar9[-4] = (int)((int *)ppcVar11 + 6);\n    piVar9[-5] = 0x195610;\n    FUN_00050e40();\n    piVar9[-2] = (int)((int *)ppcVar11 + 6);\n    piVar9[-3] = piVar9[1] + 0x40;\n    piVar9[-4] = *piVar9;\n    piVar9[-5] = 0x195625;\n    FUN_000ba920();\n    iVar4 = piVar9[2];\n    if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }\n    ppcVar11 = (char **)(piVar9 + -1);\n    if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }\n    if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    /* WARNING: Subroutine does not return */\n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }\n  }\nLAB_001958a7:\n  *(int **)((int)ppcVar11 + -4) = &DAT_0038f378;\n  *(char **)((int)ppcVar11 + -8) = "options";\n  *(undefined4 *)((int)ppcVar11 + -0xc) = 0x5c;\n  *(char **)((int)ppcVar11 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)ppcVar11 + -0x14) = 0x1958bd;\n  FUN_00069d00();\n}" type_identifier (function_declarator "FUN_001953f0(undefined4 param_1,undefined4 param_2,char *param_3,int *param_4,undefined4 param_5,\n            undefined4 *param_6,uint *param_7)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,char *param_3,int *param_4,undefined4 param_5,\n            undefined4 *param_6,uint *param_7)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "char *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "uint *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  char *pcVar3;\n  int iVar4;\n  char *__s;\n  size_t sVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  char *__n;\n  int *piVar8;\n  int *piVar9;\n  size_t *psVar10;\n  char **ppcVar11;\n  size_t asStack_7c [8];\n  int local_50;\n  char *local_4c [2];\n  int local_44;\n  int local_40 [3];\n  char *local_34;\n  char local_2c [24];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1953f9;\n  asStack_7c[7] = 0x19540e;\n  pcVar3 = strchr(param_3,0x40);\n  __s = param_3;\n  if (pcVar3 == (char *)0x0) {\nLAB_00195455:\n    asStack_7c[7] = 0x195463;\n    iVar4 = FUN_00179ab0();\n    *param_4 = iVar4;\njoined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }\n  }\n  else {\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }\n  ppcVar11 = local_4c;\n  pcVar3 = *(char **)(DAT_0038f378 + 8);\n  if (pcVar3 != (char *)0x0) {\n    ppcVar11 = local_4c;\n    if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }\n    iVar4 = *(int *)(DAT_0038f378 + 8);\n    if (iVar4 == 0) goto LAB_001958a7;\n    if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }\n    piVar9[2] = (int)piVar8;\n    piVar9[-4] = (int)__s;\n    piVar9[-5] = 0x195601;\n    sVar5 = strlen((char *)piVar9[-4]);\n    piVar9[-1] = 0;\n    piVar9[-2] = (int)(__s + sVar5);\n    piVar9[-3] = (int)__s;\n    piVar9[-4] = (int)((int *)ppcVar11 + 6);\n    piVar9[-5] = 0x195610;\n    FUN_00050e40();\n    piVar9[-2] = (int)((int *)ppcVar11 + 6);\n    piVar9[-3] = piVar9[1] + 0x40;\n    piVar9[-4] = *piVar9;\n    piVar9[-5] = 0x195625;\n    FUN_000ba920();\n    iVar4 = piVar9[2];\n    if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }\n    ppcVar11 = (char **)(piVar9 + -1);\n    if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }\n    if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    /* WARNING: Subroutine does not return */\n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }\n  }\nLAB_001958a7:\n  *(int **)((int)ppcVar11 + -4) = &DAT_0038f378;\n  *(char **)((int)ppcVar11 + -8) = "options";\n  *(undefined4 *)((int)ppcVar11 + -0xc) = 0x5c;\n  *(char **)((int)ppcVar11 + -0x10) = "../../gold/parameters.h";\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)ppcVar11 + -0x14) = 0x1958bd;\n  FUN_00069d00();\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "char *__n;" primitive_type (pointer_declarator "*__n" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "size_t *psVar10;" primitive_type (pointer_declarator "*psVar10" * identifier) ;) (declaration "char **ppcVar11;" primitive_type (pointer_declarator "**ppcVar11" * (pointer_declarator "*ppcVar11" * identifier)) ;) (declaration "size_t asStack_7c [8];" primitive_type (array_declarator "asStack_7c [8]" identifier [ number_literal ]) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "char *local_4c [2];" primitive_type (pointer_declarator "*local_4c [2]" * (array_declarator "local_4c [2]" identifier [ number_literal ])) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40 [3];" primitive_type (array_declarator "local_40 [3]" identifier [ number_literal ]) ;) (declaration "char *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "char local_2c [24];" primitive_type (array_declarator "local_2c [24]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x1953f9;" (assignment_expression "uStack_14 = 0x1953f9" identifier = number_literal) ;) (expression_statement "asStack_7c[7] = 0x19540e;" (assignment_expression "asStack_7c[7] = 0x19540e" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar3 = strchr(param_3,0x40);" (assignment_expression "pcVar3 = strchr(param_3,0x40)" identifier = (call_expression "strchr(param_3,0x40)" identifier (argument_list "(param_3,0x40)" ( identifier , number_literal )))) ;) (expression_statement "__s = param_3;" (assignment_expression "__s = param_3" identifier = identifier) ;) (if_statement "if (pcVar3 == (char *)0x0) {\nLAB_00195455:\n    asStack_7c[7] = 0x195463;\n    iVar4 = FUN_00179ab0();\n    *param_4 = iVar4;\njoined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }\n  }\n  else {\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }" if (parenthesized_expression "(pcVar3 == (char *)0x0)" ( (binary_expression "pcVar3 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00195455:\n    asStack_7c[7] = 0x195463;\n    iVar4 = FUN_00179ab0();\n    *param_4 = iVar4;\njoined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }\n  }" { (labeled_statement "LAB_00195455:\n    asStack_7c[7] = 0x195463;" statement_identifier : (expression_statement "asStack_7c[7] = 0x195463;" (assignment_expression "asStack_7c[7] = 0x195463" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "iVar4 = FUN_00179ab0();" (assignment_expression "iVar4 = FUN_00179ab0()" identifier = (call_expression "FUN_00179ab0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*param_4 = iVar4;" (assignment_expression "*param_4 = iVar4" (pointer_expression "*param_4" * identifier) = identifier) ;) (labeled_statement "joined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }" statement_identifier : (if_statement "if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }" { (expression_statement "bVar1 = *(byte *)(iVar4 + 0x2a) & 7;" (assignment_expression "bVar1 = *(byte *)(iVar4 + 0x2a) & 7" identifier = (binary_expression "*(byte *)(iVar4 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar4 + 0x2a)" * (cast_expression "(byte *)(iVar4 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2a)" ( (binary_expression "iVar4 + 0x2a" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (bVar1 == 0) goto LAB_00195481;" if (parenthesized_expression "(bVar1 == 0)" ( (binary_expression "bVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00195481;" goto statement_identifier ;)) (labeled_statement "LAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }" statement_identifier : (if_statement "if (bVar1 != 4) {\n        return 0;\n      }" if (parenthesized_expression "(bVar1 != 4)" ( (binary_expression "bVar1 != 4" identifier != number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) }))) (goto_statement "goto LAB_00195504;" goto statement_identifier ;) }))) }) (else_clause "else {\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }" else (compound_statement "{\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }" { (expression_statement "__n = pcVar3 + -(int)param_3;" (assignment_expression "__n = pcVar3 + -(int)param_3" identifier = (binary_expression "pcVar3 + -(int)param_3" identifier + (unary_expression "-(int)param_3" - (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "__s = (char *)*param_6;" (assignment_expression "__s = (char *)*param_6" identifier = (cast_expression "(char *)*param_6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_6" * identifier))) ;) (expression_statement "local_4c[0] = __n + 1;" (assignment_expression "local_4c[0] = __n + 1" (subscript_expression "local_4c[0]" identifier [ number_literal ]) = (binary_expression "__n + 1" identifier + number_literal)) ;) (if_statement "if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }" if (parenthesized_expression "((char *)*param_7 < local_4c[0])" ( (binary_expression "(char *)*param_7 < local_4c[0]" (cast_expression "(char *)*param_7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_7" * identifier)) < (subscript_expression "local_4c[0]" identifier [ number_literal ])) )) (compound_statement "{\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }" { (expression_statement "asStack_7c[7] = 0x19554a;" (assignment_expression "asStack_7c[7] = 0x19554a" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_4c[1] = __n;" (assignment_expression "local_4c[1] = __n" (subscript_expression "local_4c[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__s = (char *)FUN_001e4d50();" (assignment_expression "__s = (char *)FUN_001e4d50()" identifier = (cast_expression "(char *)FUN_001e4d50()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e4d50()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*param_6 = __s;" (assignment_expression "*param_6 = __s" (pointer_expression "*param_6" * identifier) = identifier) ;) (expression_statement "*param_7 = (uint)local_4c[0];" (assignment_expression "*param_7 = (uint)local_4c[0]" (pointer_expression "*param_7" * identifier) = (cast_expression "(uint)local_4c[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_4c[0]" identifier [ number_literal ]))) ;) (expression_statement "__n = local_4c[1];" (assignment_expression "__n = local_4c[1]" identifier = (subscript_expression "local_4c[1]" identifier [ number_literal ])) ;) })) (expression_statement "asStack_7c[7] = 0x19543f;" (assignment_expression "asStack_7c[7] = 0x19543f" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_4c[0] = __n;" (assignment_expression "local_4c[0] = __n" (subscript_expression "local_4c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "memcpy(__s,param_3,(size_t)__n);" (call_expression "memcpy(__s,param_3,(size_t)__n)" identifier (argument_list "(__s,param_3,(size_t)__n)" ( identifier , identifier , (cast_expression "(size_t)__n" ( (type_descriptor "size_t" primitive_type) ) identifier) ))) ;) (expression_statement "__s[(int)local_4c[0]] = '\0';" (assignment_expression "__s[(int)local_4c[0]] = '\0'" (subscript_expression "__s[(int)local_4c[0]]" identifier [ (cast_expression "(int)local_4c[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_4c[0]" identifier [ number_literal ])) ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (pcVar3[1] != '@') goto LAB_00195455;" if (parenthesized_expression "(pcVar3[1] != '@')" ( (binary_expression "pcVar3[1] != '@'" (subscript_expression "pcVar3[1]" identifier [ number_literal ]) != (char_literal "'@'" ' character ')) )) (goto_statement "goto LAB_00195455;" goto statement_identifier ;)) (expression_statement "asStack_7c[7] = 0x1954b1;" (assignment_expression "asStack_7c[7] = 0x1954b1" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar4 = FUN_00179ab0();" (assignment_expression "iVar4 = FUN_00179ab0()" identifier = (call_expression "FUN_00179ab0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }" { (labeled_statement "LAB_00195578:\n      asStack_7c[7] = 0x195589;" statement_identifier : (expression_statement "asStack_7c[7] = 0x195589;" (assignment_expression "asStack_7c[7] = 0x195589" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "iVar4 = FUN_00179ab0();" (assignment_expression "iVar4 = FUN_00179ab0()" identifier = (call_expression "FUN_00179ab0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*param_4 = iVar4;" (assignment_expression "*param_4 = iVar4" (pointer_expression "*param_4" * identifier) = identifier) ;) (goto_statement "goto joined_r0x00195596;" goto statement_identifier ;) })) (expression_statement "bVar1 = *(byte *)(iVar4 + 0x2a) & 7;" (assignment_expression "bVar1 = *(byte *)(iVar4 + 0x2a) & 7" identifier = (binary_expression "*(byte *)(iVar4 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar4 + 0x2a)" * (cast_expression "(byte *)(iVar4 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2a)" ( (binary_expression "iVar4 + 0x2a" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }" if (parenthesized_expression "((*(byte *)(iVar4 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)(iVar4 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar4 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar4 + 0x2a)" * (cast_expression "(byte *)(iVar4 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2a)" ( (binary_expression "iVar4 + 0x2a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }" { (if_statement "if (bVar1 == 4) goto LAB_001954e0;" if (parenthesized_expression "(bVar1 == 4)" ( (binary_expression "bVar1 == 4" identifier == number_literal) )) (goto_statement "goto LAB_001954e0;" goto statement_identifier ;)) (goto_statement "goto LAB_00195578;" goto statement_identifier ;) })) (if_statement "if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;" if (parenthesized_expression "((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0))" ( (binary_expression "(*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)" (parenthesized_expression "(*(int *)(iVar4 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar4 + 0xc) != 0" (pointer_expression "*(int *)(iVar4 + 0xc)" * (cast_expression "(int *)(iVar4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)(iVar4 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)(iVar4 + 0x2b) & 0x20" (pointer_expression "*(byte *)(iVar4 + 0x2b)" * (cast_expression "(byte *)(iVar4 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2b)" ( (binary_expression "iVar4 + 0x2b" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_00195578;" goto statement_identifier ;)) (labeled_statement "LAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;" statement_identifier : (if_statement "if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;" if (parenthesized_expression "(*(byte *)(iVar4 + 0x28) >> 4 == 2)" ( (binary_expression "*(byte *)(iVar4 + 0x28) >> 4 == 2" (binary_expression "*(byte *)(iVar4 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar4 + 0x28)" * (cast_expression "(byte *)(iVar4 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) >> number_literal) == number_literal) )) (goto_statement "goto LAB_00195578;" goto statement_identifier ;))) (expression_statement "*param_4 = iVar4;" (assignment_expression "*param_4 = iVar4" (pointer_expression "*param_4" * identifier) = identifier) ;) (if_statement "if (bVar1 != 0) goto LAB_00195500;" if (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00195500;" goto statement_identifier ;)) (labeled_statement "LAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }" statement_identifier : (if_statement "if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar4 + 0xc) != 0" (pointer_expression "*(int *)(iVar4 + 0xc)" * (cast_expression "(int *)(iVar4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) }))) (if_statement "if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }" if (parenthesized_expression "((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)(iVar4 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)(iVar4 + 0x2b) & 0x20" (pointer_expression "*(byte *)(iVar4 + 0x2b)" * (cast_expression "(byte *)(iVar4 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2b)" ( (binary_expression "iVar4 + 0x2b" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (labeled_statement "LAB_00195504:\n    asStack_7c[7] = 0x195514;" statement_identifier : (expression_statement "asStack_7c[7] = 0x195514;" (assignment_expression "asStack_7c[7] = 0x195514" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "cVar2 = FUN_00169d70();" (assignment_expression "cVar2 = FUN_00169d70()" identifier = (call_expression "FUN_00169d70()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar2 != '\0') {\n      return 0;\n    }" if (parenthesized_expression "(cVar2 != '\0')" ( (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }" if (parenthesized_expression "(*(byte *)(iVar4 + 0x28) >> 4 != 2)" ( (binary_expression "*(byte *)(iVar4 + 0x28) >> 4 != 2" (binary_expression "*(byte *)(iVar4 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar4 + 0x28)" * (cast_expression "(byte *)(iVar4 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) >> number_literal) != number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) }))) (expression_statement "ppcVar11 = local_4c;" (assignment_expression "ppcVar11 = local_4c" identifier = identifier) ;) (expression_statement "pcVar3 = *(char **)(DAT_0038f378 + 8);" (assignment_expression "pcVar3 = *(char **)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(char **)(DAT_0038f378 + 8)" * (cast_expression "(char **)(DAT_0038f378 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (pcVar3 != (char *)0x0) {\n    ppcVar11 = local_4c;\n    if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }\n    iVar4 = *(int *)(DAT_0038f378 + 8);\n    if (iVar4 == 0) goto LAB_001958a7;\n    if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }\n    piVar9[2] = (int)piVar8;\n    piVar9[-4] = (int)__s;\n    piVar9[-5] = 0x195601;\n    sVar5 = strlen((char *)piVar9[-4]);\n    piVar9[-1] = 0;\n    piVar9[-2] = (int)(__s + sVar5);\n    piVar9[-3] = (int)__s;\n    piVar9[-4] = (int)((int *)ppcVar11 + 6);\n    piVar9[-5] = 0x195610;\n    FUN_00050e40();\n    piVar9[-2] = (int)((int *)ppcVar11 + 6);\n    piVar9[-3] = piVar9[1] + 0x40;\n    piVar9[-4] = *piVar9;\n    piVar9[-5] = 0x195625;\n    FUN_000ba920();\n    iVar4 = piVar9[2];\n    if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }\n    ppcVar11 = (char **)(piVar9 + -1);\n    if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }\n    if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    /* WARNING: Subroutine does not return */\n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }\n  }" if (parenthesized_expression "(pcVar3 != (char *)0x0)" ( (binary_expression "pcVar3 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    ppcVar11 = local_4c;\n    if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }\n    iVar4 = *(int *)(DAT_0038f378 + 8);\n    if (iVar4 == 0) goto LAB_001958a7;\n    if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }\n    piVar9[2] = (int)piVar8;\n    piVar9[-4] = (int)__s;\n    piVar9[-5] = 0x195601;\n    sVar5 = strlen((char *)piVar9[-4]);\n    piVar9[-1] = 0;\n    piVar9[-2] = (int)(__s + sVar5);\n    piVar9[-3] = (int)__s;\n    piVar9[-4] = (int)((int *)ppcVar11 + 6);\n    piVar9[-5] = 0x195610;\n    FUN_00050e40();\n    piVar9[-2] = (int)((int *)ppcVar11 + 6);\n    piVar9[-3] = piVar9[1] + 0x40;\n    piVar9[-4] = *piVar9;\n    piVar9[-5] = 0x195625;\n    FUN_000ba920();\n    iVar4 = piVar9[2];\n    if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }\n    ppcVar11 = (char **)(piVar9 + -1);\n    if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }\n    if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    /* WARNING: Subroutine does not return */\n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }\n  }" { (expression_statement "ppcVar11 = local_4c;" (assignment_expression "ppcVar11 = local_4c" identifier = identifier) ;) (if_statement "if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }" if (parenthesized_expression "(*(int *)(pcVar3 + 0x4294) != 0)" ( (binary_expression "*(int *)(pcVar3 + 0x4294) != 0" (pointer_expression "*(int *)(pcVar3 + 0x4294)" * (cast_expression "(int *)(pcVar3 + 0x4294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar3 + 0x4294)" ( (binary_expression "pcVar3 + 0x4294" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }" { (expression_statement "local_4c[0] = local_2c;" (assignment_expression "local_4c[0] = local_2c" (subscript_expression "local_4c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "asStack_7c[7] = 0x195715;" (assignment_expression "asStack_7c[7] = 0x195715" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_4c[1] = pcVar3;" (assignment_expression "local_4c[1] = pcVar3" (subscript_expression "local_4c[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_34 = local_4c[0];" (assignment_expression "local_34 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "strlen(__s);" (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "asStack_7c[7] = 0x195724;" (assignment_expression "asStack_7c[7] = 0x195724" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00050e40();" (call_expression "FUN_00050e40()" identifier (argument_list "()" ( ))) ;) (expression_statement "asStack_7c[7] = 0x19573d;" (assignment_expression "asStack_7c[7] = 0x19573d" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_000ba920();" (call_expression "FUN_000ba920()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar11 = (char **)&local_50;" (assignment_expression "ppcVar11 = (char **)&local_50" identifier = (cast_expression "(char **)&local_50" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_50" & identifier))) ;) (if_statement "if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }" if (parenthesized_expression "(local_44 != 0)" ( (binary_expression "local_44 != 0" identifier != number_literal) )) (compound_statement "{\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }" { (if_statement "if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }" if (parenthesized_expression "(local_40[2] != local_50)" ( (binary_expression "local_40[2] != local_50" (subscript_expression "local_40[2]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }" { (expression_statement "asStack_7c[7] = local_40[2];" (assignment_expression "asStack_7c[7] = local_40[2]" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = (subscript_expression "local_40[2]" identifier [ number_literal ])) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pcVar3 = "-u ";" (assignment_expression "pcVar3 = "-u "" identifier = (string_literal ""-u "" " string_content ")) ;) (expression_statement "psVar10 = asStack_7c + 7;" (assignment_expression "psVar10 = asStack_7c + 7" identifier = (binary_expression "asStack_7c + 7" identifier + number_literal)) ;) (expression_statement "asStack_7c[7] = 3;" (assignment_expression "asStack_7c[7] = 3" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0019576e;" goto statement_identifier ;) })) (if_statement "if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }" if (parenthesized_expression "(local_40[2] != local_50)" ( (binary_expression "local_40[2] != local_50" (subscript_expression "local_40[2]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }" { (expression_statement "asStack_7c[7] = local_40[2];" (assignment_expression "asStack_7c[7] = local_40[2]" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = (subscript_expression "local_40[2]" identifier [ number_literal ])) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar11 = (char **)&local_50;" (assignment_expression "ppcVar11 = (char **)&local_50" identifier = (cast_expression "(char **)&local_50" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_50" & identifier))) ;) })) })) (expression_statement "iVar4 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar4 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) goto LAB_001958a7;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001958a7;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 0x1344) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x1344) == 0" (pointer_expression "*(int *)(iVar4 + 0x1344)" * (cast_expression "(int *)(iVar4 + 0x1344)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1344)" ( (binary_expression "iVar4 + 0x1344" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }" { (expression_statement "piVar8 = (int *)ppcVar11 + 8;" (assignment_expression "piVar8 = (int *)ppcVar11 + 8" identifier = (binary_expression "(int *)ppcVar11 + 8" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;) (expression_statement "((int *)ppcVar11)[6] = (int)piVar8;" (assignment_expression "((int *)ppcVar11)[6] = (int)piVar8" (subscript_expression "((int *)ppcVar11)[6]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);" (assignment_expression "((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4)" (subscript_expression "((int *)ppcVar11)[1]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (pointer_expression "*(int *)(((int *)ppcVar11)[0x15] + 4)" * (cast_expression "(int *)(((int *)ppcVar11)[0x15] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int *)ppcVar11)[0x15] + 4)" ( (binary_expression "((int *)ppcVar11)[0x15] + 4" (subscript_expression "((int *)ppcVar11)[0x15]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + number_literal) ))))) ;) (expression_statement "*ppcVar11 = (char *)((int *)ppcVar11 + 3);" (assignment_expression "*ppcVar11 = (char *)((int *)ppcVar11 + 3)" (pointer_expression "*ppcVar11" * identifier) = (cast_expression "(char *)((int *)ppcVar11 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int *)ppcVar11 + 3)" ( (binary_expression "(int *)ppcVar11 + 3" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "piVar9 = (int *)ppcVar11;" (assignment_expression "piVar9 = (int *)ppcVar11" identifier = (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }" else (compound_statement "{\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }" { (expression_statement "((int *)ppcVar11)[2] = iVar4;" (assignment_expression "((int *)ppcVar11)[2] = iVar4" (subscript_expression "((int *)ppcVar11)[2]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);" (assignment_expression "((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8)" (subscript_expression "((int *)ppcVar11)[6]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)((int *)ppcVar11 + 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int *)ppcVar11 + 8)" ( (binary_expression "(int *)ppcVar11 + 8" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);" (assignment_expression "((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8)" (subscript_expression "((int *)ppcVar11)[1]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)((int *)ppcVar11 + 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int *)ppcVar11 + 8)" ( (binary_expression "(int *)ppcVar11 + 8" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "((int *)ppcVar11)[-4] = (int)__s;" (assignment_expression "((int *)ppcVar11)[-4] = (int)__s" (subscript_expression "((int *)ppcVar11)[-4]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppcVar11)[-5] = 0x1957dd;" (assignment_expression "((int *)ppcVar11)[-5] = 0x1957dd" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "sVar5 = strlen((char *)((int *)ppcVar11)[-4]);" (assignment_expression "sVar5 = strlen((char *)((int *)ppcVar11)[-4])" identifier = (call_expression "strlen((char *)((int *)ppcVar11)[-4])" identifier (argument_list "((char *)((int *)ppcVar11)[-4])" ( (cast_expression "(char *)((int *)ppcVar11)[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppcVar11)[-4]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) )))) ;) (expression_statement "((int *)ppcVar11)[-1] = 0;" (assignment_expression "((int *)ppcVar11)[-1] = 0" (subscript_expression "((int *)ppcVar11)[-1]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "((int *)ppcVar11)[-2] = (int)(__s + sVar5);" (assignment_expression "((int *)ppcVar11)[-2] = (int)(__s + sVar5)" (subscript_expression "((int *)ppcVar11)[-2]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)(__s + sVar5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(__s + sVar5)" ( (binary_expression "__s + sVar5" identifier + identifier) )))) ;) (expression_statement "((int *)ppcVar11)[-3] = (int)__s;" (assignment_expression "((int *)ppcVar11)[-3] = (int)__s" (subscript_expression "((int *)ppcVar11)[-3]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);" (assignment_expression "((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6)" (subscript_expression "((int *)ppcVar11)[-4]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)((int *)ppcVar11 + 6)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int *)ppcVar11 + 6)" ( (binary_expression "(int *)ppcVar11 + 6" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "((int *)ppcVar11)[-5] = 0x1957ec;" (assignment_expression "((int *)ppcVar11)[-5] = 0x1957ec" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00050e40();" (call_expression "FUN_00050e40()" identifier (argument_list "()" ( ))) ;) (expression_statement "*ppcVar11 = (char *)((int *)ppcVar11 + 3);" (assignment_expression "*ppcVar11 = (char *)((int *)ppcVar11 + 3)" (pointer_expression "*ppcVar11" * identifier) = (cast_expression "(char *)((int *)ppcVar11 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int *)ppcVar11 + 3)" ( (binary_expression "(int *)ppcVar11 + 3" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);" (assignment_expression "((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6)" (subscript_expression "((int *)ppcVar11)[-2]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)((int *)ppcVar11 + 6)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int *)ppcVar11 + 6)" ( (binary_expression "(int *)ppcVar11 + 6" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;" (assignment_expression "((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338" (subscript_expression "((int *)ppcVar11)[-3]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (binary_expression "((int *)ppcVar11)[2] + 0x1338" (subscript_expression "((int *)ppcVar11)[2]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + number_literal)) ;) (expression_statement "((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);" (assignment_expression "((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3)" (subscript_expression "((int *)ppcVar11)[-4]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)((int *)ppcVar11 + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int *)ppcVar11 + 3)" ( (binary_expression "(int *)ppcVar11 + 3" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "((int *)ppcVar11)[-5] = 0x195809;" (assignment_expression "((int *)ppcVar11)[-5] = 0x195809" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "FUN_000ba920();" (call_expression "FUN_000ba920()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar4 = ((int *)ppcVar11)[5];" (assignment_expression "iVar4 = ((int *)ppcVar11)[5]" identifier = (subscript_expression "((int *)ppcVar11)[5]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "piVar8 = (int *)*ppcVar11;" (assignment_expression "piVar8 = (int *)*ppcVar11" identifier = (cast_expression "(int *)*ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppcVar11" * identifier))) ;) (if_statement "if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }" if (parenthesized_expression "(((int *)ppcVar11)[2] != 0)" ( (binary_expression "((int *)ppcVar11)[2] != 0" (subscript_expression "((int *)ppcVar11)[2]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) != number_literal) )) (compound_statement "{\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }" { (if_statement "if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }" if (parenthesized_expression "((int *)iVar4 != piVar8)" ( (binary_expression "(int *)iVar4 != piVar8" (cast_expression "(int *)iVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }" { (expression_statement "((int *)ppcVar11)[-5] = iVar4;" (assignment_expression "((int *)ppcVar11)[-5] = iVar4" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "((int *)ppcVar11)[-6] = 0x195839;" (assignment_expression "((int *)ppcVar11)[-6] = 0x195839" (subscript_expression "((int *)ppcVar11)[-6]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pcVar3 = "--export-dynamic-symbol ";" (assignment_expression "pcVar3 = "--export-dynamic-symbol "" identifier = (string_literal ""--export-dynamic-symbol "" " string_content ")) ;) (expression_statement "psVar10 = (size_t *)((int *)ppcVar11 + -5);" (assignment_expression "psVar10 = (size_t *)((int *)ppcVar11 + -5)" identifier = (cast_expression "(size_t *)((int *)ppcVar11 + -5)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int *)ppcVar11 + -5)" ( (binary_expression "(int *)ppcVar11 + -5" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "((int *)ppcVar11)[-5] = 0x18;" (assignment_expression "((int *)ppcVar11)[-5] = 0x18" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0019576e;" goto statement_identifier ;) })) (if_statement "if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }" if (parenthesized_expression "((int *)iVar4 != piVar8)" ( (binary_expression "(int *)iVar4 != piVar8" (cast_expression "(int *)iVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }" { (expression_statement "*ppcVar11 = (char *)piVar8;" (assignment_expression "*ppcVar11 = (char *)piVar8" (pointer_expression "*ppcVar11" * identifier) = (cast_expression "(char *)piVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "((int *)ppcVar11)[-5] = iVar4;" (assignment_expression "((int *)ppcVar11)[-5] = iVar4" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "((int *)ppcVar11)[-6] = 0x195881;" (assignment_expression "((int *)ppcVar11)[-6] = 0x195881" (subscript_expression "((int *)ppcVar11)[-6]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = (int *)*ppcVar11;" (assignment_expression "piVar8 = (int *)*ppcVar11" identifier = (cast_expression "(int *)*ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppcVar11" * identifier))) ;) })) (expression_statement "piVar9 = (int *)ppcVar11 + -1;" (assignment_expression "piVar9 = (int *)ppcVar11 + -1" identifier = (binary_expression "(int *)ppcVar11 + -1" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;) (expression_statement "((int *)ppcVar11)[5] = (int)piVar8;" (assignment_expression "((int *)ppcVar11)[5] = (int)piVar8" (subscript_expression "((int *)ppcVar11)[5]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);" (assignment_expression "*ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4)" (pointer_expression "*ppcVar11" * identifier) = (cast_expression "(char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined4 *)(((int *)ppcVar11)[0x14] + 4)" * (cast_expression "(undefined4 *)(((int *)ppcVar11)[0x14] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int *)ppcVar11)[0x14] + 4)" ( (binary_expression "((int *)ppcVar11)[0x14] + 4" (subscript_expression "((int *)ppcVar11)[0x14]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + number_literal) )))))) ;) }))) (expression_statement "piVar9[2] = (int)piVar8;" (assignment_expression "piVar9[2] = (int)piVar8" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[-4] = (int)__s;" (assignment_expression "piVar9[-4] = (int)__s" (subscript_expression "piVar9[-4]" identifier [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[-5] = 0x195601;" (assignment_expression "piVar9[-5] = 0x195601" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "sVar5 = strlen((char *)piVar9[-4]);" (assignment_expression "sVar5 = strlen((char *)piVar9[-4])" identifier = (call_expression "strlen((char *)piVar9[-4])" identifier (argument_list "((char *)piVar9[-4])" ( (cast_expression "(char *)piVar9[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[-4]" identifier [ number_literal ])) )))) ;) (expression_statement "piVar9[-1] = 0;" (assignment_expression "piVar9[-1] = 0" (subscript_expression "piVar9[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[-2] = (int)(__s + sVar5);" (assignment_expression "piVar9[-2] = (int)(__s + sVar5)" (subscript_expression "piVar9[-2]" identifier [ number_literal ]) = (cast_expression "(int)(__s + sVar5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(__s + sVar5)" ( (binary_expression "__s + sVar5" identifier + identifier) )))) ;) (expression_statement "piVar9[-3] = (int)__s;" (assignment_expression "piVar9[-3] = (int)__s" (subscript_expression "piVar9[-3]" identifier [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[-4] = (int)((int *)ppcVar11 + 6);" (assignment_expression "piVar9[-4] = (int)((int *)ppcVar11 + 6)" (subscript_expression "piVar9[-4]" identifier [ number_literal ]) = (cast_expression "(int)((int *)ppcVar11 + 6)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int *)ppcVar11 + 6)" ( (binary_expression "(int *)ppcVar11 + 6" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "piVar9[-5] = 0x195610;" (assignment_expression "piVar9[-5] = 0x195610" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00050e40();" (call_expression "FUN_00050e40()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar9[-2] = (int)((int *)ppcVar11 + 6);" (assignment_expression "piVar9[-2] = (int)((int *)ppcVar11 + 6)" (subscript_expression "piVar9[-2]" identifier [ number_literal ]) = (cast_expression "(int)((int *)ppcVar11 + 6)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int *)ppcVar11 + 6)" ( (binary_expression "(int *)ppcVar11 + 6" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "piVar9[-3] = piVar9[1] + 0x40;" (assignment_expression "piVar9[-3] = piVar9[1] + 0x40" (subscript_expression "piVar9[-3]" identifier [ number_literal ]) = (binary_expression "piVar9[1] + 0x40" (subscript_expression "piVar9[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar9[-4] = *piVar9;" (assignment_expression "piVar9[-4] = *piVar9" (subscript_expression "piVar9[-4]" identifier [ number_literal ]) = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "piVar9[-5] = 0x195625;" (assignment_expression "piVar9[-5] = 0x195625" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_000ba920();" (call_expression "FUN_000ba920()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar4 = piVar9[2];" (assignment_expression "iVar4 = piVar9[2]" identifier = (subscript_expression "piVar9[2]" identifier [ number_literal ])) ;) (if_statement "if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }" if (parenthesized_expression "(piVar9[5] != piVar9[1])" ( (binary_expression "piVar9[5] != piVar9[1]" (subscript_expression "piVar9[5]" identifier [ number_literal ]) != (subscript_expression "piVar9[1]" identifier [ number_literal ])) )) (compound_statement "{\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }" { (expression_statement "piVar9[-5] = piVar9[5];" (assignment_expression "piVar9[-5] = piVar9[5]" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = (subscript_expression "piVar9[5]" identifier [ number_literal ])) ;) (expression_statement "piVar9[-6] = 0x195641;" (assignment_expression "piVar9[-6] = 0x195641" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppcVar11 = (char **)(piVar9 + -1);" (assignment_expression "ppcVar11 = (char **)(piVar9 + -1)" identifier = (cast_expression "(char **)(piVar9 + -1)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar9 + -1)" ( (binary_expression "piVar9 + -1" identifier + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }" { (expression_statement "piVar9[-5] = (int)__s;" (assignment_expression "piVar9[-5] = (int)__s" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[-6] = 0x195699;" (assignment_expression "piVar9[-6] = 0x195699" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "sVar5 = strlen((char *)piVar9[-5]);" (assignment_expression "sVar5 = strlen((char *)piVar9[-5])" identifier = (call_expression "strlen((char *)piVar9[-5])" identifier (argument_list "((char *)piVar9[-5])" ( (cast_expression "(char *)piVar9[-5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[-5]" identifier [ number_literal ])) )))) ;) (expression_statement "piVar9[-5] = sVar5 + 100;" (assignment_expression "piVar9[-5] = sVar5 + 100" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = (binary_expression "sVar5 + 100" identifier + number_literal)) ;) (expression_statement "piVar9[-6] = 0x1956a4;" (assignment_expression "piVar9[-6] = 0x1956a4" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = FUN_001e5180();" (assignment_expression "uVar6 = FUN_001e5180()" identifier = (call_expression "FUN_001e5180()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar9[-5] = (int)"script or expression reference to %s";" (assignment_expression "piVar9[-5] = (int)"script or expression reference to %s"" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = (cast_expression "(int)"script or expression reference to %s"" ( (type_descriptor "int" primitive_type) ) (string_literal ""script or expression reference to %s"" " string_content "))) ;) (expression_statement "piVar9[-6] = 0x1956b4;" (assignment_expression "piVar9[-6] = 0x1956b4" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = gettext();" (assignment_expression "uVar7 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar9[-6] = (int)__s;" (assignment_expression "piVar9[-6] = (int)__s" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[-7] = uVar7;" (assignment_expression "piVar9[-7] = uVar7" (subscript_expression "piVar9[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[-8] = sVar5 + 100;" (assignment_expression "piVar9[-8] = sVar5 + 100" (subscript_expression "piVar9[-8]" identifier [ number_literal ]) = (binary_expression "sVar5 + 100" identifier + number_literal)) ;) (expression_statement "piVar9[-9] = uVar6;" (assignment_expression "piVar9[-9] = uVar6" (subscript_expression "piVar9[-9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[-10] = 0x1956bd;" (assignment_expression "piVar9[-10] = 0x1956bd" (subscript_expression "piVar9[-10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);" (call_expression "snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7])" identifier (argument_list "((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7])" ( (cast_expression "(char *)piVar9[-9]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[-9]" identifier [ number_literal ])) , (subscript_expression "piVar9[-8]" identifier [ number_literal ]) , (cast_expression "(char *)piVar9[-7]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[-7]" identifier [ number_literal ])) ))) ;) (expression_statement "piVar9[-5] = uVar6;" (assignment_expression "piVar9[-5] = uVar6" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[-6] = 0x1956c6;" (assignment_expression "piVar9[-6] = 0x1956c6" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "sVar5 = strlen((char *)piVar9[-5]);" (assignment_expression "sVar5 = strlen((char *)piVar9[-5])" identifier = (call_expression "strlen((char *)piVar9[-5])" identifier (argument_list "((char *)piVar9[-5])" ( (cast_expression "(char *)piVar9[-5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[-5]" identifier [ number_literal ])) )))) ;) (expression_statement "piVar9[-5] = sVar5;" (assignment_expression "piVar9[-5] = sVar5" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[-6] = uVar6;" (assignment_expression "piVar9[-6] = uVar6" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);" (assignment_expression "piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4)" (subscript_expression "piVar9[-7]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(piVar9[0x17] + 4)" * (cast_expression "(undefined4 *)(piVar9[0x17] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9[0x17] + 4)" ( (binary_expression "piVar9[0x17] + 4" (subscript_expression "piVar9[0x17]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "piVar9[-8] = 0;" (assignment_expression "piVar9[-8] = 0" (subscript_expression "piVar9[-8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[-9] = piVar9[0x17];" (assignment_expression "piVar9[-9] = piVar9[0x17]" (subscript_expression "piVar9[-9]" identifier [ number_literal ]) = (subscript_expression "piVar9[0x17]" identifier [ number_literal ])) ;) (expression_statement "piVar9[-10] = 0x1956dc;" (assignment_expression "piVar9[-10] = 0x1956dc" (subscript_expression "piVar9[-10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001ef9f0();" (call_expression "FUN_001ef9f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar9[-5] = uVar6;" (assignment_expression "piVar9[-5] = uVar6" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[-6] = 0x1956e5;" (assignment_expression "piVar9[-6] = 0x1956e5" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001e6d50();" (call_expression "FUN_001e6d50()" identifier (argument_list "()" ( ))) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    /* WARNING: Subroutine does not return */\n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }" if (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) != 0)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) != 0" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    /* WARNING: Subroutine does not return */\n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }" { (if_statement "if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    /* WARNING: Subroutine does not return */\n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }" if (parenthesized_expression "(*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0')" ( (binary_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0'" (pointer_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d)" * (cast_expression "(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) + 0x318d)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) + 0x318d" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    /* WARNING: Subroutine does not return */\n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }" { (expression_statement "psVar10 = (size_t *)(piVar9 + -5);" (assignment_expression "psVar10 = (size_t *)(piVar9 + -5)" identifier = (cast_expression "(size_t *)(piVar9 + -5)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + -5)" ( (binary_expression "piVar9 + -5" identifier + number_literal) )))) ;) (expression_statement "piVar9[-5] = DAT_0038f378;" (assignment_expression "piVar9[-5] = DAT_0038f378" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[-6] = 0x195667;" (assignment_expression "piVar9[-6] = 0x195667" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar4 = FUN_00139510();" (assignment_expression "iVar4 = FUN_00139510()" identifier = (call_expression "FUN_00139510()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    /* WARNING: Subroutine does not return */\n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    /* WARNING: Subroutine does not return */\n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }" { (expression_statement "piVar9[-4] = iVar4;" (assignment_expression "piVar9[-4] = iVar4" (subscript_expression "piVar9[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[-5] = (int)__s;" (assignment_expression "piVar9[-5] = (int)__s" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[-6] = 0x195678;" (assignment_expression "piVar9[-6] = 0x195678" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);" (assignment_expression "iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4])" identifier = (call_expression "strcmp((char *)piVar9[-5],(char *)piVar9[-4])" identifier (argument_list "((char *)piVar9[-5],(char *)piVar9[-4])" ( (cast_expression "(char *)piVar9[-5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[-5]" identifier [ number_literal ])) , (cast_expression "(char *)piVar9[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[-4]" identifier [ number_literal ])) )))) ;) (if_statement "if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    /* WARNING: Subroutine does not return */\n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    /* WARNING: Subroutine does not return */\n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }" { (expression_statement "pcVar3 = "entry symbol ";" (assignment_expression "pcVar3 = "entry symbol "" identifier = (string_literal ""entry symbol "" " string_content ")) ;) (expression_statement "piVar9[-5] = 0xd;" (assignment_expression "piVar9[-5] = 0xd" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;" statement_identifier : (expression_statement "psVar10[-1] = (size_t)pcVar3;" (assignment_expression "psVar10[-1] = (size_t)pcVar3" (subscript_expression "psVar10[-1]" identifier [ number_literal ]) = (cast_expression "(size_t)pcVar3" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;)) (expression_statement "psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);" (assignment_expression "psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4)" (subscript_expression "psVar10[-2]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(psVar10[0x1c] + 4)" * (cast_expression "(undefined4 *)(psVar10[0x1c] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar10[0x1c] + 4)" ( (binary_expression "psVar10[0x1c] + 4" (subscript_expression "psVar10[0x1c]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "psVar10[-3] = 0;" (assignment_expression "psVar10[-3] = 0" (subscript_expression "psVar10[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "psVar10[-4] = psVar10[0x1c];" (assignment_expression "psVar10[-4] = psVar10[0x1c]" (subscript_expression "psVar10[-4]" identifier [ number_literal ]) = (subscript_expression "psVar10[0x1c]" identifier [ number_literal ])) ;) (expression_statement "psVar10[-5] = 0x195781;" (assignment_expression "psVar10[-5] = 0x195781" (subscript_expression "psVar10[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001ef9f0();" (call_expression "FUN_001ef9f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*psVar10 = (size_t)__s;" (assignment_expression "*psVar10 = (size_t)__s" (pointer_expression "*psVar10" * identifier) = (cast_expression "(size_t)__s" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "psVar10[-1] = 0x19578a;" (assignment_expression "psVar10[-1] = 0x19578a" (subscript_expression "psVar10[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "sVar5 = strlen((char *)*psVar10);" (assignment_expression "sVar5 = strlen((char *)*psVar10)" identifier = (call_expression "strlen((char *)*psVar10)" identifier (argument_list "((char *)*psVar10)" ( (cast_expression "(char *)*psVar10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*psVar10" * identifier)) )))) ;) (if_statement "if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }" if (parenthesized_expression "(sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4))" ( (binary_expression "sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)" identifier <= (binary_expression "0x7fffffffU - *(int *)(psVar10[0x1c] + 4)" number_literal - (pointer_expression "*(int *)(psVar10[0x1c] + 4)" * (cast_expression "(int *)(psVar10[0x1c] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar10[0x1c] + 4)" ( (binary_expression "psVar10[0x1c] + 4" (subscript_expression "psVar10[0x1c]" identifier [ number_literal ]) + number_literal) )))))) )) (compound_statement "{\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }" { (expression_statement "psVar10[2] = sVar5;" (assignment_expression "psVar10[2] = sVar5" (subscript_expression "psVar10[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "psVar10[1] = (size_t)__s;" (assignment_expression "psVar10[1] = (size_t)__s" (subscript_expression "psVar10[1]" identifier [ number_literal ]) = (cast_expression "(size_t)__s" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "*psVar10 = psVar10[0x1c];" (assignment_expression "*psVar10 = psVar10[0x1c]" (pointer_expression "*psVar10" * identifier) = (subscript_expression "psVar10[0x1c]" identifier [ number_literal ])) ;) (expression_statement "psVar10[-1] = 0x1957af;" (assignment_expression "psVar10[-1] = 0x1957af" (subscript_expression "psVar10[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001f05c0();" (call_expression "FUN_001f05c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "*psVar10 = (size_t)"basic_string::append";" (assignment_expression "*psVar10 = (size_t)"basic_string::append"" (pointer_expression "*psVar10" * identifier) = (cast_expression "(size_t)"basic_string::append"" ( (type_descriptor "size_t" primitive_type) ) (string_literal ""basic_string::append"" " string_content "))) ;) comment (expression_statement "psVar10[-1] = (size_t)&UNK_001958cc;" (assignment_expression "psVar10[-1] = (size_t)&UNK_001958cc" (subscript_expression "psVar10[-1]" identifier [ number_literal ]) = (cast_expression "(size_t)&UNK_001958cc" ( (type_descriptor "size_t" primitive_type) ) (pointer_expression "&UNK_001958cc" & identifier))) ;) (expression_statement "FUN_0022c7a0();" (call_expression "FUN_0022c7a0()" identifier (argument_list "()" ( ))) ;) })) })) })) (return_statement "return 2;" return number_literal ;) })) })) (labeled_statement "LAB_001958a7:\n  *(int **)((int)ppcVar11 + -4) = &DAT_0038f378;" statement_identifier : (expression_statement "*(int **)((int)ppcVar11 + -4) = &DAT_0038f378;" (assignment_expression "*(int **)((int)ppcVar11 + -4) = &DAT_0038f378" (pointer_expression "*(int **)((int)ppcVar11 + -4)" * (cast_expression "(int **)((int)ppcVar11 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar11 + -4)" ( (binary_expression "(int)ppcVar11 + -4" (cast_expression "(int)ppcVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&DAT_0038f378" & identifier)) ;)) (expression_statement "*(char **)((int)ppcVar11 + -8) = "options";" (assignment_expression "*(char **)((int)ppcVar11 + -8) = "options"" (pointer_expression "*(char **)((int)ppcVar11 + -8)" * (cast_expression "(char **)((int)ppcVar11 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar11 + -8)" ( (binary_expression "(int)ppcVar11 + -8" (cast_expression "(int)ppcVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""options"" " string_content ")) ;) (expression_statement "*(undefined4 *)((int)ppcVar11 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)ppcVar11 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)ppcVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)ppcVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar11 + -0xc)" ( (binary_expression "(int)ppcVar11 + -0xc" (cast_expression "(int)ppcVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)ppcVar11 + -0x10) = "../../gold/parameters.h";" (assignment_expression "*(char **)((int)ppcVar11 + -0x10) = "../../gold/parameters.h"" (pointer_expression "*(char **)((int)ppcVar11 + -0x10)" * (cast_expression "(char **)((int)ppcVar11 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar11 + -0x10)" ( (binary_expression "(int)ppcVar11 + -0x10" (cast_expression "(int)ppcVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""../../gold/parameters.h"" " string_content ")) ;) comment (expression_statement "*(undefined4 *)((int)ppcVar11 + -0x14) = 0x1958bd;" (assignment_expression "*(undefined4 *)((int)ppcVar11 + -0x14) = 0x1958bd" (pointer_expression "*(undefined4 *)((int)ppcVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppcVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar11 + -0x14)" ( (binary_expression "(int)ppcVar11 + -0x14" (cast_expression "(int)ppcVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "DT": Some values do not have unique names */\n\nShould_include\ngold::Library_base::should_include_member\n          (Symbol_table *symtab,Layout *layout,char *sym_name,Symbol **symp,string *why,\n          char **tmpbufp,size_t *tmpbuflen)\n\n{\n  General_options *pGVar1;\n  byte bVar2;\n  bool bVar3;\n  char *pcVar4;\n  Symbol *pSVar5;\n  char *name;\n  int iVar6;\n  char *__format;\n  size_t sVar7;\n  uint uVar8;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar9;\n  int *piVar10;\n  Script_options *local_48;\n  int local_40 [3];\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_34;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1953f9;\n  pcVar4 = strchr(sym_name,0x40);\n  name = sym_name;\n  if (pcVar4 == (char *)0x0) {\nLAB_00195455:\n    pSVar5 = Symbol_table::lookup(symtab,name,pcVar4);\n    *symp = pSVar5;\njoined_r0x00195596:\n    if (pSVar5 != (Symbol *)0x0) {\n      bVar2 = pSVar5->field_0x2a & 7;\n      if (bVar2 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar2 != 4) {\n        return SHOULD_INCLUDE_NO;\n      }\n      goto LAB_00195504;\n    }\n  }\n  else {\n    sVar7 = (int)pcVar4 - (int)sym_name;\n    name = *tmpbufp;\n    uVar8 = sVar7 + 1;\n    if (*tmpbuflen < uVar8) {\n      name = (char *)xrealloc(name,uVar8);\n      *tmpbufp = name;\n      *tmpbuflen = uVar8;\n    }\n    memcpy(name,sym_name,sVar7);\n    name[sVar7] = '\0';\n    if (pcVar4[1] != '@') {\n      pcVar4 = pcVar4 + 1;\n      goto LAB_00195455;\n    }\n    pSVar5 = Symbol_table::lookup(symtab,name,pcVar4 + 2);\n    if (pSVar5 == (Symbol *)0x0) {\nLAB_00195578:\n      pSVar5 = Symbol_table::lookup(symtab,name,(char *)0x0);\n      *symp = pSVar5;\n      goto joined_r0x00195596;\n    }\n    bVar2 = pSVar5->field_0x2a & 7;\n    if ((pSVar5->field_0x2a & 7) != 0) {\n      if (bVar2 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if (((pSVar5->u2_).shndx != 0) || ((pSVar5->field_0x2b & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if ((byte)pSVar5->field_0x28 >> 4 == 2) goto LAB_00195578;\n    *symp = pSVar5;\n    if (bVar2 != 0) goto LAB_00195500;\nLAB_00195481:\n    if ((pSVar5->u2_).shndx != 0) {\n      return SHOULD_INCLUDE_NO;\n    }\n    if ((pSVar5->field_0x2b & 0x20) == 0) {\n      return SHOULD_INCLUDE_NO;\n    }\nLAB_00195504:\n    bVar3 = Script_options::is_pending_assignment(layout->script_options_,name);\n    if (bVar3) {\n      return SHOULD_INCLUDE_NO;\n    }\n    if ((byte)pSVar5->field_0x28 >> 4 != 2) {\n      return SHOULD_INCLUDE_YES;\n    }\n  }\n  pGVar1 = parameters->options_;\n  if (pGVar1 != (General_options *)0x0) {\n    if ((pGVar1->undefined_).value._M_h._M_element_count != 0) {\n      paVar9 = &local_34.field_2;\n      local_34._M_dataplus._M_p = (pointer)paVar9;\n      sVar7 = strlen(name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->undefined_).value._M_h,&local_34);\n      if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "-u ";\n        uVar8 = 3;\n        goto LAB_0019576e;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }\n    }\n    pGVar1 = parameters->options_;\n    if (pGVar1 == (General_options *)0x0) goto LAB_001958a7;\n    if ((pGVar1->export_dynamic_symbol_).value._M_h._M_element_count == 0) {\n      local_48 = layout->script_options_;\n      piVar10 = local_40;\n    }\n    else {\n      paVar9 = &local_34.field_2;\n      local_34._M_dataplus._M_p = (pointer)paVar9;\n      sVar7 = strlen(name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,0);\n      piVar10 = local_40;\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34);\n      if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "--export-dynamic-symbol ";\n        uVar8 = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }\n      local_48 = layout->script_options_;\n    }\n    local_34._M_dataplus._M_p = (pointer)&local_34.field_2;\n    sVar7 = strlen(name);\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&local_34,name,name + sVar7,0,piVar10);\n    std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n    ::find(&(local_48->symbol_references_)._M_h,&local_34);\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)local_34._M_dataplus._M_p != &local_34.field_2) {\n      operator_delete(local_34._M_dataplus._M_p);\n    }\n    if (local_40[0] != 0) {\n      sVar7 = strlen(name);\n      pcVar4 = (char *)operator_new__(sVar7 + 100);\n      __format = (char *)gettext("script or expression reference to %s");\n      snprintf(pcVar4,sVar7 + 100,__format,name);\n      sVar7 = strlen(pcVar4);\n      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,sVar7);\n      operator_delete__(pcVar4);\n      return SHOULD_INCLUDE_YES;\n    }\n    if (parameters->options_ != (General_options *)0x0) {\n      if ((((parameters->options_->relocatable_).value != false) ||\n          (pcVar4 = Parameters::entry(parameters), pcVar4 == (char *)0x0)) ||\n         (iVar6 = strcmp(name,pcVar4), iVar6 != 0)) {\n        return SHOULD_INCLUDE_UNKNOWN;\n      }\n      pcVar4 = "entry symbol ";\n      uVar8 = 0xd;\nLAB_0019576e:\n      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,uVar8);\n      sVar7 = strlen(name);\n      if (sVar7 <= 0x7fffffff - why->_M_string_length) {\n        std::string::_M_append((string *)why,name,sVar7);\n        return SHOULD_INCLUDE_YES;\n      }\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }\n  }\nLAB_001958a7:\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n}\n\n" comment comment comment (function_definition "Should_include\ngold::Library_base::should_include_member\n          (Symbol_table *symtab,Layout *layout,char *sym_name,Symbol **symp,string *why,\n          char **tmpbufp,size_t *tmpbuflen)\n\n{\n  General_options *pGVar1;\n  byte bVar2;\n  bool bVar3;\n  char *pcVar4;\n  Symbol *pSVar5;\n  char *name;\n  int iVar6;\n  char *__format;\n  size_t sVar7;\n  uint uVar8;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar9;\n  int *piVar10;\n  Script_options *local_48;\n  int local_40 [3];\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_34;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1953f9;\n  pcVar4 = strchr(sym_name,0x40);\n  name = sym_name;\n  if (pcVar4 == (char *)0x0) {\nLAB_00195455:\n    pSVar5 = Symbol_table::lookup(symtab,name,pcVar4);\n    *symp = pSVar5;\njoined_r0x00195596:\n    if (pSVar5 != (Symbol *)0x0) {\n      bVar2 = pSVar5->field_0x2a & 7;\n      if (bVar2 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar2 != 4) {\n        return SHOULD_INCLUDE_NO;\n      }\n      goto LAB_00195504;\n    }\n  }\n  else {\n    sVar7 = (int)pcVar4 - (int)sym_name;\n    name = *tmpbufp;\n    uVar8 = sVar7 + 1;\n    if (*tmpbuflen < uVar8) {\n      name = (char *)xrealloc(name,uVar8);\n      *tmpbufp = name;\n      *tmpbuflen = uVar8;\n    }\n    memcpy(name,sym_name,sVar7);\n    name[sVar7] = '\0';\n    if (pcVar4[1] != '@') {\n      pcVar4 = pcVar4 + 1;\n      goto LAB_00195455;\n    }\n    pSVar5 = Symbol_table::lookup(symtab,name,pcVar4 + 2);\n    if (pSVar5 == (Symbol *)0x0) {\nLAB_00195578:\n      pSVar5 = Symbol_table::lookup(symtab,name,(char *)0x0);\n      *symp = pSVar5;\n      goto joined_r0x00195596;\n    }\n    bVar2 = pSVar5->field_0x2a & 7;\n    if ((pSVar5->field_0x2a & 7) != 0) {\n      if (bVar2 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if (((pSVar5->u2_).shndx != 0) || ((pSVar5->field_0x2b & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if ((byte)pSVar5->field_0x28 >> 4 == 2) goto LAB_00195578;\n    *symp = pSVar5;\n    if (bVar2 != 0) goto LAB_00195500;\nLAB_00195481:\n    if ((pSVar5->u2_).shndx != 0) {\n      return SHOULD_INCLUDE_NO;\n    }\n    if ((pSVar5->field_0x2b & 0x20) == 0) {\n      return SHOULD_INCLUDE_NO;\n    }\nLAB_00195504:\n    bVar3 = Script_options::is_pending_assignment(layout->script_options_,name);\n    if (bVar3) {\n      return SHOULD_INCLUDE_NO;\n    }\n    if ((byte)pSVar5->field_0x28 >> 4 != 2) {\n      return SHOULD_INCLUDE_YES;\n    }\n  }\n  pGVar1 = parameters->options_;\n  if (pGVar1 != (General_options *)0x0) {\n    if ((pGVar1->undefined_).value._M_h._M_element_count != 0) {\n      paVar9 = &local_34.field_2;\n      local_34._M_dataplus._M_p = (pointer)paVar9;\n      sVar7 = strlen(name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->undefined_).value._M_h,&local_34);\n      if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "-u ";\n        uVar8 = 3;\n        goto LAB_0019576e;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }\n    }\n    pGVar1 = parameters->options_;\n    if (pGVar1 == (General_options *)0x0) goto LAB_001958a7;\n    if ((pGVar1->export_dynamic_symbol_).value._M_h._M_element_count == 0) {\n      local_48 = layout->script_options_;\n      piVar10 = local_40;\n    }\n    else {\n      paVar9 = &local_34.field_2;\n      local_34._M_dataplus._M_p = (pointer)paVar9;\n      sVar7 = strlen(name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,0);\n      piVar10 = local_40;\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34);\n      if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "--export-dynamic-symbol ";\n        uVar8 = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }\n      local_48 = layout->script_options_;\n    }\n    local_34._M_dataplus._M_p = (pointer)&local_34.field_2;\n    sVar7 = strlen(name);\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&local_34,name,name + sVar7,0,piVar10);\n    std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n    ::find(&(local_48->symbol_references_)._M_h,&local_34);\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)local_34._M_dataplus._M_p != &local_34.field_2) {\n      operator_delete(local_34._M_dataplus._M_p);\n    }\n    if (local_40[0] != 0) {\n      sVar7 = strlen(name);\n      pcVar4 = (char *)operator_new__(sVar7 + 100);\n      __format = (char *)gettext("script or expression reference to %s");\n      snprintf(pcVar4,sVar7 + 100,__format,name);\n      sVar7 = strlen(pcVar4);\n      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,sVar7);\n      operator_delete__(pcVar4);\n      return SHOULD_INCLUDE_YES;\n    }\n    if (parameters->options_ != (General_options *)0x0) {\n      if ((((parameters->options_->relocatable_).value != false) ||\n          (pcVar4 = Parameters::entry(parameters), pcVar4 == (char *)0x0)) ||\n         (iVar6 = strcmp(name,pcVar4), iVar6 != 0)) {\n        return SHOULD_INCLUDE_UNKNOWN;\n      }\n      pcVar4 = "entry symbol ";\n      uVar8 = 0xd;\nLAB_0019576e:\n      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,uVar8);\n      sVar7 = strlen(name);\n      if (sVar7 <= 0x7fffffff - why->_M_string_length) {\n        std::string::_M_append((string *)why,name,sVar7);\n        return SHOULD_INCLUDE_YES;\n      }\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }\n  }\nLAB_001958a7:\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n}" type_identifier (ERROR "gold::Library_base::" identifier : : identifier : :) (function_declarator "should_include_member\n          (Symbol_table *symtab,Layout *layout,char *sym_name,Symbol **symp,string *why,\n          char **tmpbufp,size_t *tmpbuflen)" identifier (parameter_list "(Symbol_table *symtab,Layout *layout,char *sym_name,Symbol **symp,string *why,\n          char **tmpbufp,size_t *tmpbuflen)" ( (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "char *sym_name" primitive_type (pointer_declarator "*sym_name" * identifier)) , (parameter_declaration "Symbol **symp" type_identifier (pointer_declarator "**symp" * (pointer_declarator "*symp" * identifier))) , (parameter_declaration "string *why" type_identifier (pointer_declarator "*why" * identifier)) , (parameter_declaration "char **tmpbufp" primitive_type (pointer_declarator "**tmpbufp" * (pointer_declarator "*tmpbufp" * identifier))) , (parameter_declaration "size_t *tmpbuflen" primitive_type (pointer_declarator "*tmpbuflen" * identifier)) ))) (compound_statement "{\n  General_options *pGVar1;\n  byte bVar2;\n  bool bVar3;\n  char *pcVar4;\n  Symbol *pSVar5;\n  char *name;\n  int iVar6;\n  char *__format;\n  size_t sVar7;\n  uint uVar8;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar9;\n  int *piVar10;\n  Script_options *local_48;\n  int local_40 [3];\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_34;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1953f9;\n  pcVar4 = strchr(sym_name,0x40);\n  name = sym_name;\n  if (pcVar4 == (char *)0x0) {\nLAB_00195455:\n    pSVar5 = Symbol_table::lookup(symtab,name,pcVar4);\n    *symp = pSVar5;\njoined_r0x00195596:\n    if (pSVar5 != (Symbol *)0x0) {\n      bVar2 = pSVar5->field_0x2a & 7;\n      if (bVar2 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar2 != 4) {\n        return SHOULD_INCLUDE_NO;\n      }\n      goto LAB_00195504;\n    }\n  }\n  else {\n    sVar7 = (int)pcVar4 - (int)sym_name;\n    name = *tmpbufp;\n    uVar8 = sVar7 + 1;\n    if (*tmpbuflen < uVar8) {\n      name = (char *)xrealloc(name,uVar8);\n      *tmpbufp = name;\n      *tmpbuflen = uVar8;\n    }\n    memcpy(name,sym_name,sVar7);\n    name[sVar7] = '\0';\n    if (pcVar4[1] != '@') {\n      pcVar4 = pcVar4 + 1;\n      goto LAB_00195455;\n    }\n    pSVar5 = Symbol_table::lookup(symtab,name,pcVar4 + 2);\n    if (pSVar5 == (Symbol *)0x0) {\nLAB_00195578:\n      pSVar5 = Symbol_table::lookup(symtab,name,(char *)0x0);\n      *symp = pSVar5;\n      goto joined_r0x00195596;\n    }\n    bVar2 = pSVar5->field_0x2a & 7;\n    if ((pSVar5->field_0x2a & 7) != 0) {\n      if (bVar2 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if (((pSVar5->u2_).shndx != 0) || ((pSVar5->field_0x2b & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if ((byte)pSVar5->field_0x28 >> 4 == 2) goto LAB_00195578;\n    *symp = pSVar5;\n    if (bVar2 != 0) goto LAB_00195500;\nLAB_00195481:\n    if ((pSVar5->u2_).shndx != 0) {\n      return SHOULD_INCLUDE_NO;\n    }\n    if ((pSVar5->field_0x2b & 0x20) == 0) {\n      return SHOULD_INCLUDE_NO;\n    }\nLAB_00195504:\n    bVar3 = Script_options::is_pending_assignment(layout->script_options_,name);\n    if (bVar3) {\n      return SHOULD_INCLUDE_NO;\n    }\n    if ((byte)pSVar5->field_0x28 >> 4 != 2) {\n      return SHOULD_INCLUDE_YES;\n    }\n  }\n  pGVar1 = parameters->options_;\n  if (pGVar1 != (General_options *)0x0) {\n    if ((pGVar1->undefined_).value._M_h._M_element_count != 0) {\n      paVar9 = &local_34.field_2;\n      local_34._M_dataplus._M_p = (pointer)paVar9;\n      sVar7 = strlen(name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->undefined_).value._M_h,&local_34);\n      if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "-u ";\n        uVar8 = 3;\n        goto LAB_0019576e;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }\n    }\n    pGVar1 = parameters->options_;\n    if (pGVar1 == (General_options *)0x0) goto LAB_001958a7;\n    if ((pGVar1->export_dynamic_symbol_).value._M_h._M_element_count == 0) {\n      local_48 = layout->script_options_;\n      piVar10 = local_40;\n    }\n    else {\n      paVar9 = &local_34.field_2;\n      local_34._M_dataplus._M_p = (pointer)paVar9;\n      sVar7 = strlen(name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,0);\n      piVar10 = local_40;\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34);\n      if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "--export-dynamic-symbol ";\n        uVar8 = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }\n      local_48 = layout->script_options_;\n    }\n    local_34._M_dataplus._M_p = (pointer)&local_34.field_2;\n    sVar7 = strlen(name);\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&local_34,name,name + sVar7,0,piVar10);\n    std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n    ::find(&(local_48->symbol_references_)._M_h,&local_34);\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)local_34._M_dataplus._M_p != &local_34.field_2) {\n      operator_delete(local_34._M_dataplus._M_p);\n    }\n    if (local_40[0] != 0) {\n      sVar7 = strlen(name);\n      pcVar4 = (char *)operator_new__(sVar7 + 100);\n      __format = (char *)gettext("script or expression reference to %s");\n      snprintf(pcVar4,sVar7 + 100,__format,name);\n      sVar7 = strlen(pcVar4);\n      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,sVar7);\n      operator_delete__(pcVar4);\n      return SHOULD_INCLUDE_YES;\n    }\n    if (parameters->options_ != (General_options *)0x0) {\n      if ((((parameters->options_->relocatable_).value != false) ||\n          (pcVar4 = Parameters::entry(parameters), pcVar4 == (char *)0x0)) ||\n         (iVar6 = strcmp(name,pcVar4), iVar6 != 0)) {\n        return SHOULD_INCLUDE_UNKNOWN;\n      }\n      pcVar4 = "entry symbol ";\n      uVar8 = 0xd;\nLAB_0019576e:\n      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,uVar8);\n      sVar7 = strlen(name);\n      if (sVar7 <= 0x7fffffff - why->_M_string_length) {\n        std::string::_M_append((string *)why,name,sVar7);\n        return SHOULD_INCLUDE_YES;\n      }\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }\n  }\nLAB_001958a7:\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n}" { (declaration "General_options *pGVar1;" type_identifier (pointer_declarator "*pGVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "Symbol *pSVar5;" type_identifier (pointer_declarator "*pSVar5" * identifier) ;) (declaration "char *name;" primitive_type (pointer_declarator "*name" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char *__format;" primitive_type (pointer_declarator "*__format" * identifier) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_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>_>_9\n  *paVar9;" (binary_expression "allocator<char>_>_9\n  *paVar9" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar9" identifier * identifier)) ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "Script_options *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "int local_40 [3];" primitive_type (array_declarator "local_40 [3]" identifier [ number_literal ]) ;) (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_34;" (binary_expression "allocator<char>_> local_34" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x1953f9;" (assignment_expression "uStack_14 = 0x1953f9" identifier = number_literal) ;) (expression_statement "pcVar4 = strchr(sym_name,0x40);" (assignment_expression "pcVar4 = strchr(sym_name,0x40)" identifier = (call_expression "strchr(sym_name,0x40)" identifier (argument_list "(sym_name,0x40)" ( identifier , number_literal )))) ;) (expression_statement "name = sym_name;" (assignment_expression "name = sym_name" identifier = identifier) ;) (if_statement "if (pcVar4 == (char *)0x0) {\nLAB_00195455:\n    pSVar5 = Symbol_table::lookup(symtab,name,pcVar4);\n    *symp = pSVar5;\njoined_r0x00195596:\n    if (pSVar5 != (Symbol *)0x0) {\n      bVar2 = pSVar5->field_0x2a & 7;\n      if (bVar2 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar2 != 4) {\n        return SHOULD_INCLUDE_NO;\n      }\n      goto LAB_00195504;\n    }\n  }\n  else {\n    sVar7 = (int)pcVar4 - (int)sym_name;\n    name = *tmpbufp;\n    uVar8 = sVar7 + 1;\n    if (*tmpbuflen < uVar8) {\n      name = (char *)xrealloc(name,uVar8);\n      *tmpbufp = name;\n      *tmpbuflen = uVar8;\n    }\n    memcpy(name,sym_name,sVar7);\n    name[sVar7] = '\0';\n    if (pcVar4[1] != '@') {\n      pcVar4 = pcVar4 + 1;\n      goto LAB_00195455;\n    }\n    pSVar5 = Symbol_table::lookup(symtab,name,pcVar4 + 2);\n    if (pSVar5 == (Symbol *)0x0) {\nLAB_00195578:\n      pSVar5 = Symbol_table::lookup(symtab,name,(char *)0x0);\n      *symp = pSVar5;\n      goto joined_r0x00195596;\n    }\n    bVar2 = pSVar5->field_0x2a & 7;\n    if ((pSVar5->field_0x2a & 7) != 0) {\n      if (bVar2 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if (((pSVar5->u2_).shndx != 0) || ((pSVar5->field_0x2b & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if ((byte)pSVar5->field_0x28 >> 4 == 2) goto LAB_00195578;\n    *symp = pSVar5;\n    if (bVar2 != 0) goto LAB_00195500;\nLAB_00195481:\n    if ((pSVar5->u2_).shndx != 0) {\n      return SHOULD_INCLUDE_NO;\n    }\n    if ((pSVar5->field_0x2b & 0x20) == 0) {\n      return SHOULD_INCLUDE_NO;\n    }\nLAB_00195504:\n    bVar3 = Script_options::is_pending_assignment(layout->script_options_,name);\n    if (bVar3) {\n      return SHOULD_INCLUDE_NO;\n    }\n    if ((byte)pSVar5->field_0x28 >> 4 != 2) {\n      return SHOULD_INCLUDE_YES;\n    }\n  }" if (parenthesized_expression "(pcVar4 == (char *)0x0)" ( (binary_expression "pcVar4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00195455:\n    pSVar5 = Symbol_table::lookup(symtab,name,pcVar4);\n    *symp = pSVar5;\njoined_r0x00195596:\n    if (pSVar5 != (Symbol *)0x0) {\n      bVar2 = pSVar5->field_0x2a & 7;\n      if (bVar2 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar2 != 4) {\n        return SHOULD_INCLUDE_NO;\n      }\n      goto LAB_00195504;\n    }\n  }" { (labeled_statement "LAB_00195455:\n    pSVar5 = Symbol_table::lookup(symtab,name,pcVar4);" statement_identifier : (ERROR "pSVar5 = Symbol_table::" (assignment_expression "pSVar5 = Symbol_table" identifier = identifier) : :) (expression_statement "lookup(symtab,name,pcVar4);" (call_expression "lookup(symtab,name,pcVar4)" identifier (argument_list "(symtab,name,pcVar4)" ( identifier , identifier , identifier ))) ;)) (expression_statement "*symp = pSVar5;" (assignment_expression "*symp = pSVar5" (pointer_expression "*symp" * identifier) = identifier) ;) (labeled_statement "joined_r0x00195596:\n    if (pSVar5 != (Symbol *)0x0) {\n      bVar2 = pSVar5->field_0x2a & 7;\n      if (bVar2 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar2 != 4) {\n        return SHOULD_INCLUDE_NO;\n      }\n      goto LAB_00195504;\n    }" statement_identifier : (if_statement "if (pSVar5 != (Symbol *)0x0) {\n      bVar2 = pSVar5->field_0x2a & 7;\n      if (bVar2 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar2 != 4) {\n        return SHOULD_INCLUDE_NO;\n      }\n      goto LAB_00195504;\n    }" if (parenthesized_expression "(pSVar5 != (Symbol *)0x0)" ( (binary_expression "pSVar5 != (Symbol *)0x0" identifier != (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      bVar2 = pSVar5->field_0x2a & 7;\n      if (bVar2 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar2 != 4) {\n        return SHOULD_INCLUDE_NO;\n      }\n      goto LAB_00195504;\n    }" { (expression_statement "bVar2 = pSVar5->field_0x2a & 7;" (assignment_expression "bVar2 = pSVar5->field_0x2a & 7" identifier = (binary_expression "pSVar5->field_0x2a & 7" (field_expression "pSVar5->field_0x2a" identifier -> field_identifier) & number_literal)) ;) (if_statement "if (bVar2 == 0) goto LAB_00195481;" if (parenthesized_expression "(bVar2 == 0)" ( (binary_expression "bVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00195481;" goto statement_identifier ;)) (labeled_statement "LAB_00195500:\n      if (bVar2 != 4) {\n        return SHOULD_INCLUDE_NO;\n      }" statement_identifier : (if_statement "if (bVar2 != 4) {\n        return SHOULD_INCLUDE_NO;\n      }" if (parenthesized_expression "(bVar2 != 4)" ( (binary_expression "bVar2 != 4" identifier != number_literal) )) (compound_statement "{\n        return SHOULD_INCLUDE_NO;\n      }" { (return_statement "return SHOULD_INCLUDE_NO;" return identifier ;) }))) (goto_statement "goto LAB_00195504;" goto statement_identifier ;) }))) }) (else_clause "else {\n    sVar7 = (int)pcVar4 - (int)sym_name;\n    name = *tmpbufp;\n    uVar8 = sVar7 + 1;\n    if (*tmpbuflen < uVar8) {\n      name = (char *)xrealloc(name,uVar8);\n      *tmpbufp = name;\n      *tmpbuflen = uVar8;\n    }\n    memcpy(name,sym_name,sVar7);\n    name[sVar7] = '\0';\n    if (pcVar4[1] != '@') {\n      pcVar4 = pcVar4 + 1;\n      goto LAB_00195455;\n    }\n    pSVar5 = Symbol_table::lookup(symtab,name,pcVar4 + 2);\n    if (pSVar5 == (Symbol *)0x0) {\nLAB_00195578:\n      pSVar5 = Symbol_table::lookup(symtab,name,(char *)0x0);\n      *symp = pSVar5;\n      goto joined_r0x00195596;\n    }\n    bVar2 = pSVar5->field_0x2a & 7;\n    if ((pSVar5->field_0x2a & 7) != 0) {\n      if (bVar2 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if (((pSVar5->u2_).shndx != 0) || ((pSVar5->field_0x2b & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if ((byte)pSVar5->field_0x28 >> 4 == 2) goto LAB_00195578;\n    *symp = pSVar5;\n    if (bVar2 != 0) goto LAB_00195500;\nLAB_00195481:\n    if ((pSVar5->u2_).shndx != 0) {\n      return SHOULD_INCLUDE_NO;\n    }\n    if ((pSVar5->field_0x2b & 0x20) == 0) {\n      return SHOULD_INCLUDE_NO;\n    }\nLAB_00195504:\n    bVar3 = Script_options::is_pending_assignment(layout->script_options_,name);\n    if (bVar3) {\n      return SHOULD_INCLUDE_NO;\n    }\n    if ((byte)pSVar5->field_0x28 >> 4 != 2) {\n      return SHOULD_INCLUDE_YES;\n    }\n  }" else (compound_statement "{\n    sVar7 = (int)pcVar4 - (int)sym_name;\n    name = *tmpbufp;\n    uVar8 = sVar7 + 1;\n    if (*tmpbuflen < uVar8) {\n      name = (char *)xrealloc(name,uVar8);\n      *tmpbufp = name;\n      *tmpbuflen = uVar8;\n    }\n    memcpy(name,sym_name,sVar7);\n    name[sVar7] = '\0';\n    if (pcVar4[1] != '@') {\n      pcVar4 = pcVar4 + 1;\n      goto LAB_00195455;\n    }\n    pSVar5 = Symbol_table::lookup(symtab,name,pcVar4 + 2);\n    if (pSVar5 == (Symbol *)0x0) {\nLAB_00195578:\n      pSVar5 = Symbol_table::lookup(symtab,name,(char *)0x0);\n      *symp = pSVar5;\n      goto joined_r0x00195596;\n    }\n    bVar2 = pSVar5->field_0x2a & 7;\n    if ((pSVar5->field_0x2a & 7) != 0) {\n      if (bVar2 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if (((pSVar5->u2_).shndx != 0) || ((pSVar5->field_0x2b & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if ((byte)pSVar5->field_0x28 >> 4 == 2) goto LAB_00195578;\n    *symp = pSVar5;\n    if (bVar2 != 0) goto LAB_00195500;\nLAB_00195481:\n    if ((pSVar5->u2_).shndx != 0) {\n      return SHOULD_INCLUDE_NO;\n    }\n    if ((pSVar5->field_0x2b & 0x20) == 0) {\n      return SHOULD_INCLUDE_NO;\n    }\nLAB_00195504:\n    bVar3 = Script_options::is_pending_assignment(layout->script_options_,name);\n    if (bVar3) {\n      return SHOULD_INCLUDE_NO;\n    }\n    if ((byte)pSVar5->field_0x28 >> 4 != 2) {\n      return SHOULD_INCLUDE_YES;\n    }\n  }" { (expression_statement "sVar7 = (int)pcVar4 - (int)sym_name;" (assignment_expression "sVar7 = (int)pcVar4 - (int)sym_name" identifier = (binary_expression "(int)pcVar4 - (int)sym_name" (cast_expression "(int)pcVar4" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)sym_name" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "name = *tmpbufp;" (assignment_expression "name = *tmpbufp" identifier = (pointer_expression "*tmpbufp" * identifier)) ;) (expression_statement "uVar8 = sVar7 + 1;" (assignment_expression "uVar8 = sVar7 + 1" identifier = (binary_expression "sVar7 + 1" identifier + number_literal)) ;) (if_statement "if (*tmpbuflen < uVar8) {\n      name = (char *)xrealloc(name,uVar8);\n      *tmpbufp = name;\n      *tmpbuflen = uVar8;\n    }" if (parenthesized_expression "(*tmpbuflen < uVar8)" ( (binary_expression "*tmpbuflen < uVar8" (pointer_expression "*tmpbuflen" * identifier) < identifier) )) (compound_statement "{\n      name = (char *)xrealloc(name,uVar8);\n      *tmpbufp = name;\n      *tmpbuflen = uVar8;\n    }" { (expression_statement "name = (char *)xrealloc(name,uVar8);" (assignment_expression "name = (char *)xrealloc(name,uVar8)" identifier = (cast_expression "(char *)xrealloc(name,uVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(name,uVar8)" identifier (argument_list "(name,uVar8)" ( identifier , identifier ))))) ;) (expression_statement "*tmpbufp = name;" (assignment_expression "*tmpbufp = name" (pointer_expression "*tmpbufp" * identifier) = identifier) ;) (expression_statement "*tmpbuflen = uVar8;" (assignment_expression "*tmpbuflen = uVar8" (pointer_expression "*tmpbuflen" * identifier) = identifier) ;) })) (expression_statement "memcpy(name,sym_name,sVar7);" (call_expression "memcpy(name,sym_name,sVar7)" identifier (argument_list "(name,sym_name,sVar7)" ( identifier , identifier , identifier ))) ;) (expression_statement "name[sVar7] = '\0';" (assignment_expression "name[sVar7] = '\0'" (subscript_expression "name[sVar7]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (pcVar4[1] != '@') {\n      pcVar4 = pcVar4 + 1;\n      goto LAB_00195455;\n    }" if (parenthesized_expression "(pcVar4[1] != '@')" ( (binary_expression "pcVar4[1] != '@'" (subscript_expression "pcVar4[1]" identifier [ number_literal ]) != (char_literal "'@'" ' character ')) )) (compound_statement "{\n      pcVar4 = pcVar4 + 1;\n      goto LAB_00195455;\n    }" { (expression_statement "pcVar4 = pcVar4 + 1;" (assignment_expression "pcVar4 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00195455;" goto statement_identifier ;) })) (ERROR "pSVar5 = Symbol_table::" (assignment_expression "pSVar5 = Symbol_table" identifier = identifier) : :) (expression_statement "lookup(symtab,name,pcVar4 + 2);" (call_expression "lookup(symtab,name,pcVar4 + 2)" identifier (argument_list "(symtab,name,pcVar4 + 2)" ( identifier , identifier , (binary_expression "pcVar4 + 2" identifier + number_literal) ))) ;) (if_statement "if (pSVar5 == (Symbol *)0x0) {\nLAB_00195578:\n      pSVar5 = Symbol_table::lookup(symtab,name,(char *)0x0);\n      *symp = pSVar5;\n      goto joined_r0x00195596;\n    }" if (parenthesized_expression "(pSVar5 == (Symbol *)0x0)" ( (binary_expression "pSVar5 == (Symbol *)0x0" identifier == (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00195578:\n      pSVar5 = Symbol_table::lookup(symtab,name,(char *)0x0);\n      *symp = pSVar5;\n      goto joined_r0x00195596;\n    }" { (labeled_statement "LAB_00195578:\n      pSVar5 = Symbol_table::lookup(symtab,name,(char *)0x0);" statement_identifier : (ERROR "pSVar5 = Symbol_table::" (assignment_expression "pSVar5 = Symbol_table" identifier = identifier) : :) (expression_statement "lookup(symtab,name,(char *)0x0);" (call_expression "lookup(symtab,name,(char *)0x0)" identifier (argument_list "(symtab,name,(char *)0x0)" ( identifier , identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) (expression_statement "*symp = pSVar5;" (assignment_expression "*symp = pSVar5" (pointer_expression "*symp" * identifier) = identifier) ;) (goto_statement "goto joined_r0x00195596;" goto statement_identifier ;) })) (expression_statement "bVar2 = pSVar5->field_0x2a & 7;" (assignment_expression "bVar2 = pSVar5->field_0x2a & 7" identifier = (binary_expression "pSVar5->field_0x2a & 7" (field_expression "pSVar5->field_0x2a" identifier -> field_identifier) & number_literal)) ;) (if_statement "if ((pSVar5->field_0x2a & 7) != 0) {\n      if (bVar2 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }" if (parenthesized_expression "((pSVar5->field_0x2a & 7) != 0)" ( (binary_expression "(pSVar5->field_0x2a & 7) != 0" (parenthesized_expression "(pSVar5->field_0x2a & 7)" ( (binary_expression "pSVar5->field_0x2a & 7" (field_expression "pSVar5->field_0x2a" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      if (bVar2 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }" { (if_statement "if (bVar2 == 4) goto LAB_001954e0;" if (parenthesized_expression "(bVar2 == 4)" ( (binary_expression "bVar2 == 4" identifier == number_literal) )) (goto_statement "goto LAB_001954e0;" goto statement_identifier ;)) (goto_statement "goto LAB_00195578;" goto statement_identifier ;) })) (if_statement "if (((pSVar5->u2_).shndx != 0) || ((pSVar5->field_0x2b & 0x20) == 0)) goto LAB_00195578;" if (parenthesized_expression "(((pSVar5->u2_).shndx != 0) || ((pSVar5->field_0x2b & 0x20) == 0))" ( (binary_expression "((pSVar5->u2_).shndx != 0) || ((pSVar5->field_0x2b & 0x20) == 0)" (parenthesized_expression "((pSVar5->u2_).shndx != 0)" ( (binary_expression "(pSVar5->u2_).shndx != 0" (field_expression "(pSVar5->u2_).shndx" (parenthesized_expression "(pSVar5->u2_)" ( (field_expression "pSVar5->u2_" identifier -> field_identifier) )) . field_identifier) != number_literal) )) || (parenthesized_expression "((pSVar5->field_0x2b & 0x20) == 0)" ( (binary_expression "(pSVar5->field_0x2b & 0x20) == 0" (parenthesized_expression "(pSVar5->field_0x2b & 0x20)" ( (binary_expression "pSVar5->field_0x2b & 0x20" (field_expression "pSVar5->field_0x2b" identifier -> field_identifier) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_00195578;" goto statement_identifier ;)) (labeled_statement "LAB_001954e0:\n    if ((byte)pSVar5->field_0x28 >> 4 == 2) goto LAB_00195578;" statement_identifier : (if_statement "if ((byte)pSVar5->field_0x28 >> 4 == 2) goto LAB_00195578;" if (parenthesized_expression "((byte)pSVar5->field_0x28 >> 4 == 2)" ( (binary_expression "(byte)pSVar5->field_0x28 >> 4 == 2" (binary_expression "(byte)pSVar5->field_0x28 >> 4" (cast_expression "(byte)pSVar5->field_0x28" ( (type_descriptor "byte" type_identifier) ) (field_expression "pSVar5->field_0x28" identifier -> field_identifier)) >> number_literal) == number_literal) )) (goto_statement "goto LAB_00195578;" goto statement_identifier ;))) (expression_statement "*symp = pSVar5;" (assignment_expression "*symp = pSVar5" (pointer_expression "*symp" * identifier) = identifier) ;) (if_statement "if (bVar2 != 0) goto LAB_00195500;" if (parenthesized_expression "(bVar2 != 0)" ( (binary_expression "bVar2 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00195500;" goto statement_identifier ;)) (labeled_statement "LAB_00195481:\n    if ((pSVar5->u2_).shndx != 0) {\n      return SHOULD_INCLUDE_NO;\n    }" statement_identifier : (if_statement "if ((pSVar5->u2_).shndx != 0) {\n      return SHOULD_INCLUDE_NO;\n    }" if (parenthesized_expression "((pSVar5->u2_).shndx != 0)" ( (binary_expression "(pSVar5->u2_).shndx != 0" (field_expression "(pSVar5->u2_).shndx" (parenthesized_expression "(pSVar5->u2_)" ( (field_expression "pSVar5->u2_" identifier -> field_identifier) )) . field_identifier) != number_literal) )) (compound_statement "{\n      return SHOULD_INCLUDE_NO;\n    }" { (return_statement "return SHOULD_INCLUDE_NO;" return identifier ;) }))) (if_statement "if ((pSVar5->field_0x2b & 0x20) == 0) {\n      return SHOULD_INCLUDE_NO;\n    }" if (parenthesized_expression "((pSVar5->field_0x2b & 0x20) == 0)" ( (binary_expression "(pSVar5->field_0x2b & 0x20) == 0" (parenthesized_expression "(pSVar5->field_0x2b & 0x20)" ( (binary_expression "pSVar5->field_0x2b & 0x20" (field_expression "pSVar5->field_0x2b" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      return SHOULD_INCLUDE_NO;\n    }" { (return_statement "return SHOULD_INCLUDE_NO;" return identifier ;) })) (labeled_statement "LAB_00195504:\n    bVar3 = Script_options::is_pending_assignment(layout->script_options_,name);" statement_identifier : (ERROR "bVar3 = Script_options::" (assignment_expression "bVar3 = Script_options" identifier = identifier) : :) (expression_statement "is_pending_assignment(layout->script_options_,name);" (call_expression "is_pending_assignment(layout->script_options_,name)" identifier (argument_list "(layout->script_options_,name)" ( (field_expression "layout->script_options_" identifier -> field_identifier) , identifier ))) ;)) (if_statement "if (bVar3) {\n      return SHOULD_INCLUDE_NO;\n    }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n      return SHOULD_INCLUDE_NO;\n    }" { (return_statement "return SHOULD_INCLUDE_NO;" return identifier ;) })) (if_statement "if ((byte)pSVar5->field_0x28 >> 4 != 2) {\n      return SHOULD_INCLUDE_YES;\n    }" if (parenthesized_expression "((byte)pSVar5->field_0x28 >> 4 != 2)" ( (binary_expression "(byte)pSVar5->field_0x28 >> 4 != 2" (binary_expression "(byte)pSVar5->field_0x28 >> 4" (cast_expression "(byte)pSVar5->field_0x28" ( (type_descriptor "byte" type_identifier) ) (field_expression "pSVar5->field_0x28" identifier -> field_identifier)) >> number_literal) != number_literal) )) (compound_statement "{\n      return SHOULD_INCLUDE_YES;\n    }" { (return_statement "return SHOULD_INCLUDE_YES;" return identifier ;) })) }))) (expression_statement "pGVar1 = parameters->options_;" (assignment_expression "pGVar1 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar1 != (General_options *)0x0) {\n    if ((pGVar1->undefined_).value._M_h._M_element_count != 0) {\n      paVar9 = &local_34.field_2;\n      local_34._M_dataplus._M_p = (pointer)paVar9;\n      sVar7 = strlen(name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->undefined_).value._M_h,&local_34);\n      if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "-u ";\n        uVar8 = 3;\n        goto LAB_0019576e;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }\n    }\n    pGVar1 = parameters->options_;\n    if (pGVar1 == (General_options *)0x0) goto LAB_001958a7;\n    if ((pGVar1->export_dynamic_symbol_).value._M_h._M_element_count == 0) {\n      local_48 = layout->script_options_;\n      piVar10 = local_40;\n    }\n    else {\n      paVar9 = &local_34.field_2;\n      local_34._M_dataplus._M_p = (pointer)paVar9;\n      sVar7 = strlen(name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,0);\n      piVar10 = local_40;\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34);\n      if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "--export-dynamic-symbol ";\n        uVar8 = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }\n      local_48 = layout->script_options_;\n    }\n    local_34._M_dataplus._M_p = (pointer)&local_34.field_2;\n    sVar7 = strlen(name);\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&local_34,name,name + sVar7,0,piVar10);\n    std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n    ::find(&(local_48->symbol_references_)._M_h,&local_34);\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)local_34._M_dataplus._M_p != &local_34.field_2) {\n      operator_delete(local_34._M_dataplus._M_p);\n    }\n    if (local_40[0] != 0) {\n      sVar7 = strlen(name);\n      pcVar4 = (char *)operator_new__(sVar7 + 100);\n      __format = (char *)gettext("script or expression reference to %s");\n      snprintf(pcVar4,sVar7 + 100,__format,name);\n      sVar7 = strlen(pcVar4);\n      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,sVar7);\n      operator_delete__(pcVar4);\n      return SHOULD_INCLUDE_YES;\n    }\n    if (parameters->options_ != (General_options *)0x0) {\n      if ((((parameters->options_->relocatable_).value != false) ||\n          (pcVar4 = Parameters::entry(parameters), pcVar4 == (char *)0x0)) ||\n         (iVar6 = strcmp(name,pcVar4), iVar6 != 0)) {\n        return SHOULD_INCLUDE_UNKNOWN;\n      }\n      pcVar4 = "entry symbol ";\n      uVar8 = 0xd;\nLAB_0019576e:\n      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,uVar8);\n      sVar7 = strlen(name);\n      if (sVar7 <= 0x7fffffff - why->_M_string_length) {\n        std::string::_M_append((string *)why,name,sVar7);\n        return SHOULD_INCLUDE_YES;\n      }\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }\n  }" if (parenthesized_expression "(pGVar1 != (General_options *)0x0)" ( (binary_expression "pGVar1 != (General_options *)0x0" identifier != (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((pGVar1->undefined_).value._M_h._M_element_count != 0) {\n      paVar9 = &local_34.field_2;\n      local_34._M_dataplus._M_p = (pointer)paVar9;\n      sVar7 = strlen(name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->undefined_).value._M_h,&local_34);\n      if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "-u ";\n        uVar8 = 3;\n        goto LAB_0019576e;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }\n    }\n    pGVar1 = parameters->options_;\n    if (pGVar1 == (General_options *)0x0) goto LAB_001958a7;\n    if ((pGVar1->export_dynamic_symbol_).value._M_h._M_element_count == 0) {\n      local_48 = layout->script_options_;\n      piVar10 = local_40;\n    }\n    else {\n      paVar9 = &local_34.field_2;\n      local_34._M_dataplus._M_p = (pointer)paVar9;\n      sVar7 = strlen(name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,0);\n      piVar10 = local_40;\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34);\n      if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "--export-dynamic-symbol ";\n        uVar8 = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }\n      local_48 = layout->script_options_;\n    }\n    local_34._M_dataplus._M_p = (pointer)&local_34.field_2;\n    sVar7 = strlen(name);\n    std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&local_34,name,name + sVar7,0,piVar10);\n    std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n    ::find(&(local_48->symbol_references_)._M_h,&local_34);\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)local_34._M_dataplus._M_p != &local_34.field_2) {\n      operator_delete(local_34._M_dataplus._M_p);\n    }\n    if (local_40[0] != 0) {\n      sVar7 = strlen(name);\n      pcVar4 = (char *)operator_new__(sVar7 + 100);\n      __format = (char *)gettext("script or expression reference to %s");\n      snprintf(pcVar4,sVar7 + 100,__format,name);\n      sVar7 = strlen(pcVar4);\n      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,sVar7);\n      operator_delete__(pcVar4);\n      return SHOULD_INCLUDE_YES;\n    }\n    if (parameters->options_ != (General_options *)0x0) {\n      if ((((parameters->options_->relocatable_).value != false) ||\n          (pcVar4 = Parameters::entry(parameters), pcVar4 == (char *)0x0)) ||\n         (iVar6 = strcmp(name,pcVar4), iVar6 != 0)) {\n        return SHOULD_INCLUDE_UNKNOWN;\n      }\n      pcVar4 = "entry symbol ";\n      uVar8 = 0xd;\nLAB_0019576e:\n      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,uVar8);\n      sVar7 = strlen(name);\n      if (sVar7 <= 0x7fffffff - why->_M_string_length) {\n        std::string::_M_append((string *)why,name,sVar7);\n        return SHOULD_INCLUDE_YES;\n      }\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }\n  }" { (if_statement "if ((pGVar1->undefined_).value._M_h._M_element_count != 0) {\n      paVar9 = &local_34.field_2;\n      local_34._M_dataplus._M_p = (pointer)paVar9;\n      sVar7 = strlen(name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->undefined_).value._M_h,&local_34);\n      if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "-u ";\n        uVar8 = 3;\n        goto LAB_0019576e;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }\n    }" if (parenthesized_expression "((pGVar1->undefined_).value._M_h._M_element_count != 0)" ( (binary_expression "(pGVar1->undefined_).value._M_h._M_element_count != 0" (field_expression "(pGVar1->undefined_).value._M_h._M_element_count" (field_expression "(pGVar1->undefined_).value._M_h" (field_expression "(pGVar1->undefined_).value" (parenthesized_expression "(pGVar1->undefined_)" ( (field_expression "pGVar1->undefined_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\n      paVar9 = &local_34.field_2;\n      local_34._M_dataplus._M_p = (pointer)paVar9;\n      sVar7 = strlen(name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,0);\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->undefined_).value._M_h,&local_34);\n      if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "-u ";\n        uVar8 = 3;\n        goto LAB_0019576e;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }\n    }" { (expression_statement "paVar9 = &local_34.field_2;" (assignment_expression "paVar9 = &local_34.field_2" identifier = (pointer_expression "&local_34.field_2" & (field_expression "local_34.field_2" identifier . field_identifier))) ;) (expression_statement "local_34._M_dataplus._M_p = (pointer)paVar9;" (assignment_expression "local_34._M_dataplus._M_p = (pointer)paVar9" (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar9" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "sVar7 = strlen(name);" (assignment_expression "sVar7 = strlen(name)" identifier = (call_expression "strlen(name)" identifier (argument_list "(name)" ( identifier )))) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,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_const*>(&local_34,name,name + sVar7,0);" (binary_expression "_M_construct<char_const*>(&local_34,name,name + sVar7,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&local_34,name,name + sVar7,0)" ( (comma_expression "&local_34,name,name + sVar7,0" (pointer_expression "&local_34" & identifier) , (comma_expression "name,name + sVar7,0" identifier , (comma_expression "name + sVar7,0" (binary_expression "name + sVar7" identifier + identifier) , number_literal))) ))) ;)) (ERROR "std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (comma_expression "std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Hashtable<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) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : identifier : : (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>_>,_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) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<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) : : (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<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) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->undefined_).value._M_h,&local_34);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->undefined_).value._M_h,&local_34);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->undefined_).value._M_h,&local_34);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->undefined_).value._M_h,&local_34);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->undefined_).value._M_h,&local_34);" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->undefined_).value._M_h,&local_34)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n      ::find(&(pGVar1->undefined_).value._M_h,&local_34)" identifier , (binary_expression "_true>_>\n      ::find(&(pGVar1->undefined_).value._M_h,&local_34)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "find(&(pGVar1->undefined_).value._M_h,&local_34)" identifier (argument_list "(&(pGVar1->undefined_).value._M_h,&local_34)" ( (pointer_expression "&(pGVar1->undefined_).value._M_h" & (field_expression "(pGVar1->undefined_).value._M_h" (field_expression "(pGVar1->undefined_).value" (parenthesized_expression "(pGVar1->undefined_)" ( (field_expression "pGVar1->undefined_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) , (pointer_expression "&local_34" & identifier) )))))) ;))))) (if_statement "if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "-u ";\n        uVar8 = 3;\n        goto LAB_0019576e;\n      }" if (parenthesized_expression "(local_40[0] != 0)" ( (binary_expression "local_40[0] != 0" (subscript_expression "local_40[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "-u ";\n        uVar8 = 3;\n        goto LAB_0019576e;\n      }" { (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_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>_>_9\n             *)local_34._M_dataplus._M_p != paVar9" (binary_expression "allocator<char>_>_9\n             *)local_34._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n             *)local_34._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n          operator_delete(local_34._M_dataplus._M_p);\n        }" { (expression_statement "operator_delete(local_34._M_dataplus._M_p);" (call_expression "operator_delete(local_34._M_dataplus._M_p)" identifier (argument_list "(local_34._M_dataplus._M_p)" ( (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (expression_statement "pcVar4 = "-u ";" (assignment_expression "pcVar4 = "-u "" identifier = (string_literal ""-u "" " string_content ")) ;) (expression_statement "uVar8 = 3;" (assignment_expression "uVar8 = 3" identifier = number_literal) ;) (goto_statement "goto LAB_0019576e;" goto statement_identifier ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_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>_>_9\n           *)local_34._M_dataplus._M_p != paVar9" (binary_expression "allocator<char>_>_9\n           *)local_34._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)local_34._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n        operator_delete(local_34._M_dataplus._M_p);\n      }" { (expression_statement "operator_delete(local_34._M_dataplus._M_p);" (call_expression "operator_delete(local_34._M_dataplus._M_p)" identifier (argument_list "(local_34._M_dataplus._M_p)" ( (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) })) (expression_statement "pGVar1 = parameters->options_;" (assignment_expression "pGVar1 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar1 == (General_options *)0x0) goto LAB_001958a7;" if (parenthesized_expression "(pGVar1 == (General_options *)0x0)" ( (binary_expression "pGVar1 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001958a7;" goto statement_identifier ;)) (if_statement "if ((pGVar1->export_dynamic_symbol_).value._M_h._M_element_count == 0) {\n      local_48 = layout->script_options_;\n      piVar10 = local_40;\n    }\n    else {\n      paVar9 = &local_34.field_2;\n      local_34._M_dataplus._M_p = (pointer)paVar9;\n      sVar7 = strlen(name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,0);\n      piVar10 = local_40;\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34);\n      if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "--export-dynamic-symbol ";\n        uVar8 = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }\n      local_48 = layout->script_options_;\n    }" if (parenthesized_expression "((pGVar1->export_dynamic_symbol_).value._M_h._M_element_count == 0)" ( (binary_expression "(pGVar1->export_dynamic_symbol_).value._M_h._M_element_count == 0" (field_expression "(pGVar1->export_dynamic_symbol_).value._M_h._M_element_count" (field_expression "(pGVar1->export_dynamic_symbol_).value._M_h" (field_expression "(pGVar1->export_dynamic_symbol_).value" (parenthesized_expression "(pGVar1->export_dynamic_symbol_)" ( (field_expression "pGVar1->export_dynamic_symbol_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n      local_48 = layout->script_options_;\n      piVar10 = local_40;\n    }" { (expression_statement "local_48 = layout->script_options_;" (assignment_expression "local_48 = layout->script_options_" identifier = (field_expression "layout->script_options_" identifier -> field_identifier)) ;) (expression_statement "piVar10 = local_40;" (assignment_expression "piVar10 = local_40" identifier = identifier) ;) }) (else_clause "else {\n      paVar9 = &local_34.field_2;\n      local_34._M_dataplus._M_p = (pointer)paVar9;\n      sVar7 = strlen(name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,0);\n      piVar10 = local_40;\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34);\n      if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "--export-dynamic-symbol ";\n        uVar8 = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }\n      local_48 = layout->script_options_;\n    }" else (compound_statement "{\n      paVar9 = &local_34.field_2;\n      local_34._M_dataplus._M_p = (pointer)paVar9;\n      sVar7 = strlen(name);\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,0);\n      piVar10 = local_40;\n      std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34);\n      if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "--export-dynamic-symbol ";\n        uVar8 = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }\n      local_48 = layout->script_options_;\n    }" { (expression_statement "paVar9 = &local_34.field_2;" (assignment_expression "paVar9 = &local_34.field_2" identifier = (pointer_expression "&local_34.field_2" & (field_expression "local_34.field_2" identifier . field_identifier))) ;) (expression_statement "local_34._M_dataplus._M_p = (pointer)paVar9;" (assignment_expression "local_34._M_dataplus._M_p = (pointer)paVar9" (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar9" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "sVar7 = strlen(name);" (assignment_expression "sVar7 = strlen(name)" identifier = (call_expression "strlen(name)" identifier (argument_list "(name)" ( identifier )))) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&local_34,name,name + sVar7,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_const*>(&local_34,name,name + sVar7,0);" (binary_expression "_M_construct<char_const*>(&local_34,name,name + sVar7,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&local_34,name,name + sVar7,0)" ( (comma_expression "&local_34,name,name + sVar7,0" (pointer_expression "&local_34" & identifier) , (comma_expression "name,name + sVar7,0" identifier , (comma_expression "name + sVar7,0" (binary_expression "name + sVar7" identifier + identifier) , number_literal))) ))) ;)) (expression_statement "piVar10 = local_40;" (assignment_expression "piVar10 = local_40" identifier = identifier) ;) (ERROR "std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (comma_expression "std::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n      _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Hashtable<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) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : identifier : : (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>_>,_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) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<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) : : (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<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) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34);" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34)" identifier , (binary_expression "_true>_>\n      ::find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "find(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34)" identifier (argument_list "(&(pGVar1->export_dynamic_symbol_).value._M_h,&local_34)" ( (pointer_expression "&(pGVar1->export_dynamic_symbol_).value._M_h" & (field_expression "(pGVar1->export_dynamic_symbol_).value._M_h" (field_expression "(pGVar1->export_dynamic_symbol_).value" (parenthesized_expression "(pGVar1->export_dynamic_symbol_)" ( (field_expression "pGVar1->export_dynamic_symbol_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) , (pointer_expression "&local_34" & identifier) )))))) ;))))) (if_statement "if (local_40[0] != 0) {\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "--export-dynamic-symbol ";\n        uVar8 = 0x18;\n        goto LAB_0019576e;\n      }" if (parenthesized_expression "(local_40[0] != 0)" ( (binary_expression "local_40[0] != 0" (subscript_expression "local_40[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }\n        pcVar4 = "--export-dynamic-symbol ";\n        uVar8 = 0x18;\n        goto LAB_0019576e;\n      }" { (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9) {\n          operator_delete(local_34._M_dataplus._M_p);\n        }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_34._M_dataplus._M_p != paVar9)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_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>_>_9\n             *)local_34._M_dataplus._M_p != paVar9" (binary_expression "allocator<char>_>_9\n             *)local_34._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n             *)local_34._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n          operator_delete(local_34._M_dataplus._M_p);\n        }" { (expression_statement "operator_delete(local_34._M_dataplus._M_p);" (call_expression "operator_delete(local_34._M_dataplus._M_p)" identifier (argument_list "(local_34._M_dataplus._M_p)" ( (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (expression_statement "pcVar4 = "--export-dynamic-symbol ";" (assignment_expression "pcVar4 = "--export-dynamic-symbol "" identifier = (string_literal ""--export-dynamic-symbol "" " string_content ")) ;) (expression_statement "uVar8 = 0x18;" (assignment_expression "uVar8 = 0x18" identifier = number_literal) ;) (goto_statement "goto LAB_0019576e;" goto statement_identifier ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9) {\n        operator_delete(local_34._M_dataplus._M_p);\n      }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n           *)local_34._M_dataplus._M_p != paVar9)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_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>_>_9\n           *)local_34._M_dataplus._M_p != paVar9" (binary_expression "allocator<char>_>_9\n           *)local_34._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n           *)local_34._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n        operator_delete(local_34._M_dataplus._M_p);\n      }" { (expression_statement "operator_delete(local_34._M_dataplus._M_p);" (call_expression "operator_delete(local_34._M_dataplus._M_p)" identifier (argument_list "(local_34._M_dataplus._M_p)" ( (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (expression_statement "local_48 = layout->script_options_;" (assignment_expression "local_48 = layout->script_options_" identifier = (field_expression "layout->script_options_" identifier -> field_identifier)) ;) }))) (expression_statement "local_34._M_dataplus._M_p = (pointer)&local_34.field_2;" (assignment_expression "local_34._M_dataplus._M_p = (pointer)&local_34.field_2" (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "(pointer)&local_34.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "local_34.field_2" identifier . field_identifier))) ;) (expression_statement "sVar7 = strlen(name);" (assignment_expression "sVar7 = strlen(name)" identifier = (call_expression "strlen(name)" identifier (argument_list "(name)" ( identifier )))) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n    _M_construct<char_const*>(&local_34,name,name + sVar7,0,piVar10);" 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_const*>(&local_34,name,name + sVar7,0,piVar10);" (binary_expression "_M_construct<char_const*>(&local_34,name,name + sVar7,0,piVar10)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&local_34,name,name + sVar7,0,piVar10)" ( (comma_expression "&local_34,name,name + sVar7,0,piVar10" (pointer_expression "&local_34" & identifier) , (comma_expression "name,name + sVar7,0,piVar10" identifier , (comma_expression "name + sVar7,0,piVar10" (binary_expression "name + sVar7" identifier + identifier) , (comma_expression "0,piVar10" number_literal , identifier)))) ))) ;)) (ERROR "std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_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>_>_>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::hash<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std::" (comma_expression "std::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n    _Hashtable<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "_Hashtable<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) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : identifier : : (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>_>,_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) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>,_std" identifier (ERROR "::_Identity,_std::equal_to<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>" : : (comma_expression "_Identity,_std" identifier , identifier) : : (binary_expression "equal_to<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) : : (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) >) , identifier) : : (binary_expression "hash<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) : : (binary_expression "allocator<char>_>_>,_std" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n    ::find(&(local_48->symbol_references_)._M_h,&local_34);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n    ::find(&(local_48->symbol_references_)._M_h,&local_34);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_true,_true>_>\n    ::find(&(local_48->symbol_references_)._M_h,&local_34);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_true,_true>_>\n    ::find(&(local_48->symbol_references_)._M_h,&local_34);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_true,_true>_>\n    ::find(&(local_48->symbol_references_)._M_h,&local_34);" (comma_expression "_Hashtable_traits<true,_true,_true>_>\n    ::find(&(local_48->symbol_references_)._M_h,&local_34)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_true,_true>_>\n    ::find(&(local_48->symbol_references_)._M_h,&local_34)" identifier , (binary_expression "_true>_>\n    ::find(&(local_48->symbol_references_)._M_h,&local_34)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "find(&(local_48->symbol_references_)._M_h,&local_34)" identifier (argument_list "(&(local_48->symbol_references_)._M_h,&local_34)" ( (pointer_expression "&(local_48->symbol_references_)._M_h" & (field_expression "(local_48->symbol_references_)._M_h" (parenthesized_expression "(local_48->symbol_references_)" ( (field_expression "local_48->symbol_references_" identifier -> field_identifier) )) . field_identifier)) , (pointer_expression "&local_34" & identifier) )))))) ;))))) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)local_34._M_dataplus._M_p != &local_34.field_2) {\n      operator_delete(local_34._M_dataplus._M_p);\n    }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)local_34._M_dataplus._M_p != &local_34.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)local_34._M_dataplus._M_p != &local_34.field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_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>_>_9\n         *)local_34._M_dataplus._M_p != &local_34.field_2" (binary_expression "allocator<char>_>_9\n         *)local_34._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n         *)local_34._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&local_34.field_2" & (field_expression "local_34.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n      operator_delete(local_34._M_dataplus._M_p);\n    }" { (expression_statement "operator_delete(local_34._M_dataplus._M_p);" (call_expression "operator_delete(local_34._M_dataplus._M_p)" identifier (argument_list "(local_34._M_dataplus._M_p)" ( (field_expression "local_34._M_dataplus._M_p" (field_expression "local_34._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (if_statement "if (local_40[0] != 0) {\n      sVar7 = strlen(name);\n      pcVar4 = (char *)operator_new__(sVar7 + 100);\n      __format = (char *)gettext("script or expression reference to %s");\n      snprintf(pcVar4,sVar7 + 100,__format,name);\n      sVar7 = strlen(pcVar4);\n      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,sVar7);\n      operator_delete__(pcVar4);\n      return SHOULD_INCLUDE_YES;\n    }" if (parenthesized_expression "(local_40[0] != 0)" ( (binary_expression "local_40[0] != 0" (subscript_expression "local_40[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      sVar7 = strlen(name);\n      pcVar4 = (char *)operator_new__(sVar7 + 100);\n      __format = (char *)gettext("script or expression reference to %s");\n      snprintf(pcVar4,sVar7 + 100,__format,name);\n      sVar7 = strlen(pcVar4);\n      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,sVar7);\n      operator_delete__(pcVar4);\n      return SHOULD_INCLUDE_YES;\n    }" { (expression_statement "sVar7 = strlen(name);" (assignment_expression "sVar7 = strlen(name)" identifier = (call_expression "strlen(name)" identifier (argument_list "(name)" ( identifier )))) ;) (expression_statement "pcVar4 = (char *)operator_new__(sVar7 + 100);" (assignment_expression "pcVar4 = (char *)operator_new__(sVar7 + 100)" identifier = (cast_expression "(char *)operator_new__(sVar7 + 100)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new__(sVar7 + 100)" identifier (argument_list "(sVar7 + 100)" ( (binary_expression "sVar7 + 100" identifier + number_literal) ))))) ;) (expression_statement "__format = (char *)gettext("script or expression reference to %s");" (assignment_expression "__format = (char *)gettext("script or expression reference to %s")" identifier = (cast_expression "(char *)gettext("script or expression reference to %s")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("script or expression reference to %s")" identifier (argument_list "("script or expression reference to %s")" ( (string_literal ""script or expression reference to %s"" " string_content ") ))))) ;) (expression_statement "snprintf(pcVar4,sVar7 + 100,__format,name);" (call_expression "snprintf(pcVar4,sVar7 + 100,__format,name)" identifier (argument_list "(pcVar4,sVar7 + 100,__format,name)" ( identifier , (binary_expression "sVar7 + 100" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "sVar7 = strlen(pcVar4);" (assignment_expression "sVar7 = strlen(pcVar4)" identifier = (call_expression "strlen(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier )))) ;) (labeled_statement "std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,sVar7);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,sVar7);" statement_identifier : (ERROR ":" :) (expression_statement "_M_replace((string *)why,0,why->_M_string_length,pcVar4,sVar7);" (call_expression "_M_replace((string *)why,0,why->_M_string_length,pcVar4,sVar7)" identifier (argument_list "((string *)why,0,why->_M_string_length,pcVar4,sVar7)" ( (cast_expression "(string *)why" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (field_expression "why->_M_string_length" identifier -> field_identifier) , identifier , identifier ))) ;))) (expression_statement "operator_delete__(pcVar4);" (call_expression "operator_delete__(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (return_statement "return SHOULD_INCLUDE_YES;" return identifier ;) })) (if_statement "if (parameters->options_ != (General_options *)0x0) {\n      if ((((parameters->options_->relocatable_).value != false) ||\n          (pcVar4 = Parameters::entry(parameters), pcVar4 == (char *)0x0)) ||\n         (iVar6 = strcmp(name,pcVar4), iVar6 != 0)) {\n        return SHOULD_INCLUDE_UNKNOWN;\n      }\n      pcVar4 = "entry symbol ";\n      uVar8 = 0xd;\nLAB_0019576e:\n      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,uVar8);\n      sVar7 = strlen(name);\n      if (sVar7 <= 0x7fffffff - why->_M_string_length) {\n        std::string::_M_append((string *)why,name,sVar7);\n        return SHOULD_INCLUDE_YES;\n      }\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\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      if ((((parameters->options_->relocatable_).value != false) ||\n          (pcVar4 = Parameters::entry(parameters), pcVar4 == (char *)0x0)) ||\n         (iVar6 = strcmp(name,pcVar4), iVar6 != 0)) {\n        return SHOULD_INCLUDE_UNKNOWN;\n      }\n      pcVar4 = "entry symbol ";\n      uVar8 = 0xd;\nLAB_0019576e:\n      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,uVar8);\n      sVar7 = strlen(name);\n      if (sVar7 <= 0x7fffffff - why->_M_string_length) {\n        std::string::_M_append((string *)why,name,sVar7);\n        return SHOULD_INCLUDE_YES;\n      }\n                    /* WARNING: Subroutine does not return */\n      std::__throw_length_error("basic_string::append");\n    }" { (if_statement "if ((((parameters->options_->relocatable_).value != false) ||\n          (pcVar4 = Parameters::entry(parameters), pcVar4 == (char *)0x0)) ||\n         (iVar6 = strcmp(name,pcVar4), iVar6 != 0)) {\n        return SHOULD_INCLUDE_UNKNOWN;\n      }" if (parenthesized_expression "((((parameters->options_->relocatable_).value != false) ||\n          (pcVar4 = Parameters::entry(parameters), pcVar4 == (char *)0x0)) ||\n         (iVar6 = strcmp(name,pcVar4), iVar6 != 0))" ( (binary_expression "(((parameters->options_->relocatable_).value != false) ||\n          (pcVar4 = Parameters::entry(parameters), pcVar4 == (char *)0x0)) ||\n         (iVar6 = strcmp(name,pcVar4), iVar6 != 0)" (parenthesized_expression "(((parameters->options_->relocatable_).value != false) ||\n          (pcVar4 = Parameters::entry(parameters), pcVar4 == (char *)0x0))" ( (binary_expression "((parameters->options_->relocatable_).value != false) ||\n          (pcVar4 = Parameters::entry(parameters), pcVar4 == (char *)0x0)" (parenthesized_expression "((parameters->options_->relocatable_).value != false)" ( (binary_expression "(parameters->options_->relocatable_).value != false" (field_expression "(parameters->options_->relocatable_).value" (parenthesized_expression "(parameters->options_->relocatable_)" ( (field_expression "parameters->options_->relocatable_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) != false) )) || (parenthesized_expression "(pcVar4 = Parameters::entry(parameters), pcVar4 == (char *)0x0)" ( (ERROR "pcVar4 = Parameters::" (assignment_expression "pcVar4 = Parameters" identifier = identifier) : :) (comma_expression "entry(parameters), pcVar4 == (char *)0x0" (call_expression "entry(parameters)" identifier (argument_list "(parameters)" ( identifier ))) , (binary_expression "pcVar4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) || (parenthesized_expression "(iVar6 = strcmp(name,pcVar4), iVar6 != 0)" ( (comma_expression "iVar6 = strcmp(name,pcVar4), iVar6 != 0" (assignment_expression "iVar6 = strcmp(name,pcVar4)" identifier = (call_expression "strcmp(name,pcVar4)" identifier (argument_list "(name,pcVar4)" ( identifier , identifier )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        return SHOULD_INCLUDE_UNKNOWN;\n      }" { (return_statement "return SHOULD_INCLUDE_UNKNOWN;" return identifier ;) })) (expression_statement "pcVar4 = "entry symbol ";" (assignment_expression "pcVar4 = "entry symbol "" identifier = (string_literal ""entry symbol "" " string_content ")) ;) (expression_statement "uVar8 = 0xd;" (assignment_expression "uVar8 = 0xd" identifier = number_literal) ;) (labeled_statement "LAB_0019576e:\n      std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,uVar8);" statement_identifier : (labeled_statement "std::string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,uVar8);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_replace((string *)why,0,why->_M_string_length,pcVar4,uVar8);" statement_identifier : (ERROR ":" :) (expression_statement "_M_replace((string *)why,0,why->_M_string_length,pcVar4,uVar8);" (call_expression "_M_replace((string *)why,0,why->_M_string_length,pcVar4,uVar8)" identifier (argument_list "((string *)why,0,why->_M_string_length,pcVar4,uVar8)" ( (cast_expression "(string *)why" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (field_expression "why->_M_string_length" identifier -> field_identifier) , identifier , identifier ))) ;)))) (expression_statement "sVar7 = strlen(name);" (assignment_expression "sVar7 = strlen(name)" identifier = (call_expression "strlen(name)" identifier (argument_list "(name)" ( identifier )))) ;) (if_statement "if (sVar7 <= 0x7fffffff - why->_M_string_length) {\n        std::string::_M_append((string *)why,name,sVar7);\n        return SHOULD_INCLUDE_YES;\n      }" if (parenthesized_expression "(sVar7 <= 0x7fffffff - why->_M_string_length)" ( (binary_expression "sVar7 <= 0x7fffffff - why->_M_string_length" identifier <= (binary_expression "0x7fffffff - why->_M_string_length" number_literal - (field_expression "why->_M_string_length" identifier -> field_identifier))) )) (compound_statement "{\n        std::string::_M_append((string *)why,name,sVar7);\n        return SHOULD_INCLUDE_YES;\n      }" { (labeled_statement "std::string::_M_append((string *)why,name,sVar7);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_append((string *)why,name,sVar7);" statement_identifier : (ERROR ":" :) (expression_statement "_M_append((string *)why,name,sVar7);" (call_expression "_M_append((string *)why,name,sVar7)" identifier (argument_list "((string *)why,name,sVar7)" ( (cast_expression "(string *)why" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier ))) ;))) (return_statement "return SHOULD_INCLUDE_YES;" return identifier ;) })) comment (labeled_statement "std::__throw_length_error("basic_string::append");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("basic_string::append");" (call_expression "__throw_length_error("basic_string::append")" identifier (argument_list "("basic_string::append")" ( (string_literal ""basic_string::append"" " string_content ") ))) ;)) })) })) (labeled_statement "LAB_001958a7:\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : 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 ") ))) ;)) })))
(translation_unit "undefined4\nFUN_001953f0(undefined4 param_1,undefined4 param_2,char *param_3,int *param_4,undefined4 param_5,\n            undefined4 *param_6,uint *param_7)\n\n{\n  byte bVar1;\n  char cVar2;\n  char *pcVar3;\n  int iVar4;\n  char *__s;\n  size_t sVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  char *__n;\n  int *piVar8;\n  int *piVar9;\n  size_t *psVar10;\n  char **ppcVar11;\n  size_t asStack_7c [8];\n  int local_50;\n  char *local_4c [2];\n  int local_44;\n  int local_40 [3];\n  char *local_34;\n  char local_2c [24];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1953f9;\n  asStack_7c[7] = 0x19540e;\n  pcVar3 = strchr(param_3,0x40);\n  __s = param_3;\n  if (pcVar3 == (char *)0x0) {\nLAB_00195455:\n    asStack_7c[7] = 0x195463;\n    iVar4 = FUN_00179ab0();\n    *param_4 = iVar4;\njoined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }\n  }\n  else {\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }\n  ppcVar11 = local_4c;\n  pcVar3 = *(char **)(DAT_0038f378 + 8);\n  if (pcVar3 != (char *)0x0) {\n    ppcVar11 = local_4c;\n    if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }\n    iVar4 = *(int *)(DAT_0038f378 + 8);\n    if (iVar4 == 0) goto LAB_001958a7;\n    if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }\n    piVar9[2] = (int)piVar8;\n    piVar9[-4] = (int)__s;\n    piVar9[-5] = 0x195601;\n    sVar5 = strlen((char *)piVar9[-4]);\n    piVar9[-1] = 0;\n    piVar9[-2] = (int)(__s + sVar5);\n    piVar9[-3] = (int)__s;\n    piVar9[-4] = (int)((int *)ppcVar11 + 6);\n    piVar9[-5] = 0x195610;\n    FUN_00050e40();\n    piVar9[-2] = (int)((int *)ppcVar11 + 6);\n    piVar9[-3] = piVar9[1] + 0x40;\n    piVar9[-4] = *piVar9;\n    piVar9[-5] = 0x195625;\n    FUN_000ba920();\n    iVar4 = piVar9[2];\n    if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }\n    ppcVar11 = (char **)(piVar9 + -1);\n    if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }\n    if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }\n  }\nLAB_001958a7:\n  *(int **)((int)ppcVar11 + -4) = &DAT_0038f378;\n  *(char **)((int)ppcVar11 + -8) = "options";\n  *(undefined4 *)((int)ppcVar11 + -0xc) = 0x5c;\n  *(char **)((int)ppcVar11 + -0x10) = "../../gold/parameters.h";\n                    \n  *(undefined4 *)((int)ppcVar11 + -0x14) = 0x1958bd;\n  FUN_00069d00();\n}\n\n" (function_definition "undefined4\nFUN_001953f0(undefined4 param_1,undefined4 param_2,char *param_3,int *param_4,undefined4 param_5,\n            undefined4 *param_6,uint *param_7)\n\n{\n  byte bVar1;\n  char cVar2;\n  char *pcVar3;\n  int iVar4;\n  char *__s;\n  size_t sVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  char *__n;\n  int *piVar8;\n  int *piVar9;\n  size_t *psVar10;\n  char **ppcVar11;\n  size_t asStack_7c [8];\n  int local_50;\n  char *local_4c [2];\n  int local_44;\n  int local_40 [3];\n  char *local_34;\n  char local_2c [24];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1953f9;\n  asStack_7c[7] = 0x19540e;\n  pcVar3 = strchr(param_3,0x40);\n  __s = param_3;\n  if (pcVar3 == (char *)0x0) {\nLAB_00195455:\n    asStack_7c[7] = 0x195463;\n    iVar4 = FUN_00179ab0();\n    *param_4 = iVar4;\njoined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }\n  }\n  else {\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }\n  ppcVar11 = local_4c;\n  pcVar3 = *(char **)(DAT_0038f378 + 8);\n  if (pcVar3 != (char *)0x0) {\n    ppcVar11 = local_4c;\n    if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }\n    iVar4 = *(int *)(DAT_0038f378 + 8);\n    if (iVar4 == 0) goto LAB_001958a7;\n    if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }\n    piVar9[2] = (int)piVar8;\n    piVar9[-4] = (int)__s;\n    piVar9[-5] = 0x195601;\n    sVar5 = strlen((char *)piVar9[-4]);\n    piVar9[-1] = 0;\n    piVar9[-2] = (int)(__s + sVar5);\n    piVar9[-3] = (int)__s;\n    piVar9[-4] = (int)((int *)ppcVar11 + 6);\n    piVar9[-5] = 0x195610;\n    FUN_00050e40();\n    piVar9[-2] = (int)((int *)ppcVar11 + 6);\n    piVar9[-3] = piVar9[1] + 0x40;\n    piVar9[-4] = *piVar9;\n    piVar9[-5] = 0x195625;\n    FUN_000ba920();\n    iVar4 = piVar9[2];\n    if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }\n    ppcVar11 = (char **)(piVar9 + -1);\n    if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }\n    if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }\n  }\nLAB_001958a7:\n  *(int **)((int)ppcVar11 + -4) = &DAT_0038f378;\n  *(char **)((int)ppcVar11 + -8) = "options";\n  *(undefined4 *)((int)ppcVar11 + -0xc) = 0x5c;\n  *(char **)((int)ppcVar11 + -0x10) = "../../gold/parameters.h";\n                    \n  *(undefined4 *)((int)ppcVar11 + -0x14) = 0x1958bd;\n  FUN_00069d00();\n}" type_identifier (function_declarator "FUN_001953f0(undefined4 param_1,undefined4 param_2,char *param_3,int *param_4,undefined4 param_5,\n            undefined4 *param_6,uint *param_7)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,char *param_3,int *param_4,undefined4 param_5,\n            undefined4 *param_6,uint *param_7)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "char *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "uint *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  char *pcVar3;\n  int iVar4;\n  char *__s;\n  size_t sVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  char *__n;\n  int *piVar8;\n  int *piVar9;\n  size_t *psVar10;\n  char **ppcVar11;\n  size_t asStack_7c [8];\n  int local_50;\n  char *local_4c [2];\n  int local_44;\n  int local_40 [3];\n  char *local_34;\n  char local_2c [24];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1953f9;\n  asStack_7c[7] = 0x19540e;\n  pcVar3 = strchr(param_3,0x40);\n  __s = param_3;\n  if (pcVar3 == (char *)0x0) {\nLAB_00195455:\n    asStack_7c[7] = 0x195463;\n    iVar4 = FUN_00179ab0();\n    *param_4 = iVar4;\njoined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }\n  }\n  else {\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }\n  ppcVar11 = local_4c;\n  pcVar3 = *(char **)(DAT_0038f378 + 8);\n  if (pcVar3 != (char *)0x0) {\n    ppcVar11 = local_4c;\n    if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }\n    iVar4 = *(int *)(DAT_0038f378 + 8);\n    if (iVar4 == 0) goto LAB_001958a7;\n    if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }\n    piVar9[2] = (int)piVar8;\n    piVar9[-4] = (int)__s;\n    piVar9[-5] = 0x195601;\n    sVar5 = strlen((char *)piVar9[-4]);\n    piVar9[-1] = 0;\n    piVar9[-2] = (int)(__s + sVar5);\n    piVar9[-3] = (int)__s;\n    piVar9[-4] = (int)((int *)ppcVar11 + 6);\n    piVar9[-5] = 0x195610;\n    FUN_00050e40();\n    piVar9[-2] = (int)((int *)ppcVar11 + 6);\n    piVar9[-3] = piVar9[1] + 0x40;\n    piVar9[-4] = *piVar9;\n    piVar9[-5] = 0x195625;\n    FUN_000ba920();\n    iVar4 = piVar9[2];\n    if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }\n    ppcVar11 = (char **)(piVar9 + -1);\n    if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }\n    if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }\n  }\nLAB_001958a7:\n  *(int **)((int)ppcVar11 + -4) = &DAT_0038f378;\n  *(char **)((int)ppcVar11 + -8) = "options";\n  *(undefined4 *)((int)ppcVar11 + -0xc) = 0x5c;\n  *(char **)((int)ppcVar11 + -0x10) = "../../gold/parameters.h";\n                    \n  *(undefined4 *)((int)ppcVar11 + -0x14) = 0x1958bd;\n  FUN_00069d00();\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "char *__n;" primitive_type (pointer_declarator "*__n" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "size_t *psVar10;" primitive_type (pointer_declarator "*psVar10" * identifier) ;) (declaration "char **ppcVar11;" primitive_type (pointer_declarator "**ppcVar11" * (pointer_declarator "*ppcVar11" * identifier)) ;) (declaration "size_t asStack_7c [8];" primitive_type (array_declarator "asStack_7c [8]" identifier [ number_literal ]) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "char *local_4c [2];" primitive_type (pointer_declarator "*local_4c [2]" * (array_declarator "local_4c [2]" identifier [ number_literal ])) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40 [3];" primitive_type (array_declarator "local_40 [3]" identifier [ number_literal ]) ;) (declaration "char *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "char local_2c [24];" primitive_type (array_declarator "local_2c [24]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x1953f9;" (assignment_expression "uStack_14 = 0x1953f9" identifier = number_literal) ;) (expression_statement "asStack_7c[7] = 0x19540e;" (assignment_expression "asStack_7c[7] = 0x19540e" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar3 = strchr(param_3,0x40);" (assignment_expression "pcVar3 = strchr(param_3,0x40)" identifier = (call_expression "strchr(param_3,0x40)" identifier (argument_list "(param_3,0x40)" ( identifier , number_literal )))) ;) (expression_statement "__s = param_3;" (assignment_expression "__s = param_3" identifier = identifier) ;) (if_statement "if (pcVar3 == (char *)0x0) {\nLAB_00195455:\n    asStack_7c[7] = 0x195463;\n    iVar4 = FUN_00179ab0();\n    *param_4 = iVar4;\njoined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }\n  }\n  else {\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }" if (parenthesized_expression "(pcVar3 == (char *)0x0)" ( (binary_expression "pcVar3 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00195455:\n    asStack_7c[7] = 0x195463;\n    iVar4 = FUN_00179ab0();\n    *param_4 = iVar4;\njoined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }\n  }" { (labeled_statement "LAB_00195455:\n    asStack_7c[7] = 0x195463;" statement_identifier : (expression_statement "asStack_7c[7] = 0x195463;" (assignment_expression "asStack_7c[7] = 0x195463" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "iVar4 = FUN_00179ab0();" (assignment_expression "iVar4 = FUN_00179ab0()" identifier = (call_expression "FUN_00179ab0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*param_4 = iVar4;" (assignment_expression "*param_4 = iVar4" (pointer_expression "*param_4" * identifier) = identifier) ;) (labeled_statement "joined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }" statement_identifier : (if_statement "if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }" { (expression_statement "bVar1 = *(byte *)(iVar4 + 0x2a) & 7;" (assignment_expression "bVar1 = *(byte *)(iVar4 + 0x2a) & 7" identifier = (binary_expression "*(byte *)(iVar4 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar4 + 0x2a)" * (cast_expression "(byte *)(iVar4 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2a)" ( (binary_expression "iVar4 + 0x2a" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (bVar1 == 0) goto LAB_00195481;" if (parenthesized_expression "(bVar1 == 0)" ( (binary_expression "bVar1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00195481;" goto statement_identifier ;)) (labeled_statement "LAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }" statement_identifier : (if_statement "if (bVar1 != 4) {\n        return 0;\n      }" if (parenthesized_expression "(bVar1 != 4)" ( (binary_expression "bVar1 != 4" identifier != number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) }))) (goto_statement "goto LAB_00195504;" goto statement_identifier ;) }))) }) (else_clause "else {\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }" else (compound_statement "{\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }" { (expression_statement "__n = pcVar3 + -(int)param_3;" (assignment_expression "__n = pcVar3 + -(int)param_3" identifier = (binary_expression "pcVar3 + -(int)param_3" identifier + (unary_expression "-(int)param_3" - (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "__s = (char *)*param_6;" (assignment_expression "__s = (char *)*param_6" identifier = (cast_expression "(char *)*param_6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_6" * identifier))) ;) (expression_statement "local_4c[0] = __n + 1;" (assignment_expression "local_4c[0] = __n + 1" (subscript_expression "local_4c[0]" identifier [ number_literal ]) = (binary_expression "__n + 1" identifier + number_literal)) ;) (if_statement "if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }" if (parenthesized_expression "((char *)*param_7 < local_4c[0])" ( (binary_expression "(char *)*param_7 < local_4c[0]" (cast_expression "(char *)*param_7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_7" * identifier)) < (subscript_expression "local_4c[0]" identifier [ number_literal ])) )) (compound_statement "{\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }" { (expression_statement "asStack_7c[7] = 0x19554a;" (assignment_expression "asStack_7c[7] = 0x19554a" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_4c[1] = __n;" (assignment_expression "local_4c[1] = __n" (subscript_expression "local_4c[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "__s = (char *)FUN_001e4d50();" (assignment_expression "__s = (char *)FUN_001e4d50()" identifier = (cast_expression "(char *)FUN_001e4d50()" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001e4d50()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*param_6 = __s;" (assignment_expression "*param_6 = __s" (pointer_expression "*param_6" * identifier) = identifier) ;) (expression_statement "*param_7 = (uint)local_4c[0];" (assignment_expression "*param_7 = (uint)local_4c[0]" (pointer_expression "*param_7" * identifier) = (cast_expression "(uint)local_4c[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_4c[0]" identifier [ number_literal ]))) ;) (expression_statement "__n = local_4c[1];" (assignment_expression "__n = local_4c[1]" identifier = (subscript_expression "local_4c[1]" identifier [ number_literal ])) ;) })) (expression_statement "asStack_7c[7] = 0x19543f;" (assignment_expression "asStack_7c[7] = 0x19543f" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_4c[0] = __n;" (assignment_expression "local_4c[0] = __n" (subscript_expression "local_4c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "memcpy(__s,param_3,(size_t)__n);" (call_expression "memcpy(__s,param_3,(size_t)__n)" identifier (argument_list "(__s,param_3,(size_t)__n)" ( identifier , identifier , (cast_expression "(size_t)__n" ( (type_descriptor "size_t" primitive_type) ) identifier) ))) ;) (expression_statement "__s[(int)local_4c[0]] = '\0';" (assignment_expression "__s[(int)local_4c[0]] = '\0'" (subscript_expression "__s[(int)local_4c[0]]" identifier [ (cast_expression "(int)local_4c[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_4c[0]" identifier [ number_literal ])) ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (pcVar3[1] != '@') goto LAB_00195455;" if (parenthesized_expression "(pcVar3[1] != '@')" ( (binary_expression "pcVar3[1] != '@'" (subscript_expression "pcVar3[1]" identifier [ number_literal ]) != (char_literal "'@'" ' character ')) )) (goto_statement "goto LAB_00195455;" goto statement_identifier ;)) (expression_statement "asStack_7c[7] = 0x1954b1;" (assignment_expression "asStack_7c[7] = 0x1954b1" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar4 = FUN_00179ab0();" (assignment_expression "iVar4 = FUN_00179ab0()" identifier = (call_expression "FUN_00179ab0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }" { (labeled_statement "LAB_00195578:\n      asStack_7c[7] = 0x195589;" statement_identifier : (expression_statement "asStack_7c[7] = 0x195589;" (assignment_expression "asStack_7c[7] = 0x195589" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "iVar4 = FUN_00179ab0();" (assignment_expression "iVar4 = FUN_00179ab0()" identifier = (call_expression "FUN_00179ab0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*param_4 = iVar4;" (assignment_expression "*param_4 = iVar4" (pointer_expression "*param_4" * identifier) = identifier) ;) (goto_statement "goto joined_r0x00195596;" goto statement_identifier ;) })) (expression_statement "bVar1 = *(byte *)(iVar4 + 0x2a) & 7;" (assignment_expression "bVar1 = *(byte *)(iVar4 + 0x2a) & 7" identifier = (binary_expression "*(byte *)(iVar4 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar4 + 0x2a)" * (cast_expression "(byte *)(iVar4 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2a)" ( (binary_expression "iVar4 + 0x2a" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }" if (parenthesized_expression "((*(byte *)(iVar4 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)(iVar4 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x2a) & 7)" ( (binary_expression "*(byte *)(iVar4 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar4 + 0x2a)" * (cast_expression "(byte *)(iVar4 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2a)" ( (binary_expression "iVar4 + 0x2a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }" { (if_statement "if (bVar1 == 4) goto LAB_001954e0;" if (parenthesized_expression "(bVar1 == 4)" ( (binary_expression "bVar1 == 4" identifier == number_literal) )) (goto_statement "goto LAB_001954e0;" goto statement_identifier ;)) (goto_statement "goto LAB_00195578;" goto statement_identifier ;) })) (if_statement "if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;" if (parenthesized_expression "((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0))" ( (binary_expression "(*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)" (parenthesized_expression "(*(int *)(iVar4 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar4 + 0xc) != 0" (pointer_expression "*(int *)(iVar4 + 0xc)" * (cast_expression "(int *)(iVar4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)(iVar4 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)(iVar4 + 0x2b) & 0x20" (pointer_expression "*(byte *)(iVar4 + 0x2b)" * (cast_expression "(byte *)(iVar4 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2b)" ( (binary_expression "iVar4 + 0x2b" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_00195578;" goto statement_identifier ;)) (labeled_statement "LAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;" statement_identifier : (if_statement "if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;" if (parenthesized_expression "(*(byte *)(iVar4 + 0x28) >> 4 == 2)" ( (binary_expression "*(byte *)(iVar4 + 0x28) >> 4 == 2" (binary_expression "*(byte *)(iVar4 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar4 + 0x28)" * (cast_expression "(byte *)(iVar4 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) >> number_literal) == number_literal) )) (goto_statement "goto LAB_00195578;" goto statement_identifier ;))) (expression_statement "*param_4 = iVar4;" (assignment_expression "*param_4 = iVar4" (pointer_expression "*param_4" * identifier) = identifier) ;) (if_statement "if (bVar1 != 0) goto LAB_00195500;" if (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00195500;" goto statement_identifier ;)) (labeled_statement "LAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }" statement_identifier : (if_statement "if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar4 + 0xc) != 0" (pointer_expression "*(int *)(iVar4 + 0xc)" * (cast_expression "(int *)(iVar4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc)" ( (binary_expression "iVar4 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) }))) (if_statement "if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }" if (parenthesized_expression "((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)" ( (binary_expression "(*(byte *)(iVar4 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x2b) & 0x20)" ( (binary_expression "*(byte *)(iVar4 + 0x2b) & 0x20" (pointer_expression "*(byte *)(iVar4 + 0x2b)" * (cast_expression "(byte *)(iVar4 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2b)" ( (binary_expression "iVar4 + 0x2b" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (labeled_statement "LAB_00195504:\n    asStack_7c[7] = 0x195514;" statement_identifier : (expression_statement "asStack_7c[7] = 0x195514;" (assignment_expression "asStack_7c[7] = 0x195514" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;)) (expression_statement "cVar2 = FUN_00169d70();" (assignment_expression "cVar2 = FUN_00169d70()" identifier = (call_expression "FUN_00169d70()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar2 != '\0') {\n      return 0;\n    }" if (parenthesized_expression "(cVar2 != '\0')" ( (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }" if (parenthesized_expression "(*(byte *)(iVar4 + 0x28) >> 4 != 2)" ( (binary_expression "*(byte *)(iVar4 + 0x28) >> 4 != 2" (binary_expression "*(byte *)(iVar4 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar4 + 0x28)" * (cast_expression "(byte *)(iVar4 + 0x28)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x28)" ( (binary_expression "iVar4 + 0x28" identifier + number_literal) )))) >> number_literal) != number_literal) )) (compound_statement "{\n      return 1;\n    }" { (return_statement "return 1;" return number_literal ;) })) }))) (expression_statement "ppcVar11 = local_4c;" (assignment_expression "ppcVar11 = local_4c" identifier = identifier) ;) (expression_statement "pcVar3 = *(char **)(DAT_0038f378 + 8);" (assignment_expression "pcVar3 = *(char **)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(char **)(DAT_0038f378 + 8)" * (cast_expression "(char **)(DAT_0038f378 + 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (pcVar3 != (char *)0x0) {\n    ppcVar11 = local_4c;\n    if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }\n    iVar4 = *(int *)(DAT_0038f378 + 8);\n    if (iVar4 == 0) goto LAB_001958a7;\n    if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }\n    piVar9[2] = (int)piVar8;\n    piVar9[-4] = (int)__s;\n    piVar9[-5] = 0x195601;\n    sVar5 = strlen((char *)piVar9[-4]);\n    piVar9[-1] = 0;\n    piVar9[-2] = (int)(__s + sVar5);\n    piVar9[-3] = (int)__s;\n    piVar9[-4] = (int)((int *)ppcVar11 + 6);\n    piVar9[-5] = 0x195610;\n    FUN_00050e40();\n    piVar9[-2] = (int)((int *)ppcVar11 + 6);\n    piVar9[-3] = piVar9[1] + 0x40;\n    piVar9[-4] = *piVar9;\n    piVar9[-5] = 0x195625;\n    FUN_000ba920();\n    iVar4 = piVar9[2];\n    if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }\n    ppcVar11 = (char **)(piVar9 + -1);\n    if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }\n    if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }\n  }" if (parenthesized_expression "(pcVar3 != (char *)0x0)" ( (binary_expression "pcVar3 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    ppcVar11 = local_4c;\n    if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }\n    iVar4 = *(int *)(DAT_0038f378 + 8);\n    if (iVar4 == 0) goto LAB_001958a7;\n    if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }\n    piVar9[2] = (int)piVar8;\n    piVar9[-4] = (int)__s;\n    piVar9[-5] = 0x195601;\n    sVar5 = strlen((char *)piVar9[-4]);\n    piVar9[-1] = 0;\n    piVar9[-2] = (int)(__s + sVar5);\n    piVar9[-3] = (int)__s;\n    piVar9[-4] = (int)((int *)ppcVar11 + 6);\n    piVar9[-5] = 0x195610;\n    FUN_00050e40();\n    piVar9[-2] = (int)((int *)ppcVar11 + 6);\n    piVar9[-3] = piVar9[1] + 0x40;\n    piVar9[-4] = *piVar9;\n    piVar9[-5] = 0x195625;\n    FUN_000ba920();\n    iVar4 = piVar9[2];\n    if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }\n    ppcVar11 = (char **)(piVar9 + -1);\n    if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }\n    if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }\n  }" { (expression_statement "ppcVar11 = local_4c;" (assignment_expression "ppcVar11 = local_4c" identifier = identifier) ;) (if_statement "if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }" if (parenthesized_expression "(*(int *)(pcVar3 + 0x4294) != 0)" ( (binary_expression "*(int *)(pcVar3 + 0x4294) != 0" (pointer_expression "*(int *)(pcVar3 + 0x4294)" * (cast_expression "(int *)(pcVar3 + 0x4294)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar3 + 0x4294)" ( (binary_expression "pcVar3 + 0x4294" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }" { (expression_statement "local_4c[0] = local_2c;" (assignment_expression "local_4c[0] = local_2c" (subscript_expression "local_4c[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "asStack_7c[7] = 0x195715;" (assignment_expression "asStack_7c[7] = 0x195715" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_4c[1] = pcVar3;" (assignment_expression "local_4c[1] = pcVar3" (subscript_expression "local_4c[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_34 = local_4c[0];" (assignment_expression "local_34 = local_4c[0]" identifier = (subscript_expression "local_4c[0]" identifier [ number_literal ])) ;) (expression_statement "strlen(__s);" (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "asStack_7c[7] = 0x195724;" (assignment_expression "asStack_7c[7] = 0x195724" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00050e40();" (call_expression "FUN_00050e40()" identifier (argument_list "()" ( ))) ;) (expression_statement "asStack_7c[7] = 0x19573d;" (assignment_expression "asStack_7c[7] = 0x19573d" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_000ba920();" (call_expression "FUN_000ba920()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar11 = (char **)&local_50;" (assignment_expression "ppcVar11 = (char **)&local_50" identifier = (cast_expression "(char **)&local_50" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_50" & identifier))) ;) (if_statement "if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }" if (parenthesized_expression "(local_44 != 0)" ( (binary_expression "local_44 != 0" identifier != number_literal) )) (compound_statement "{\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }" { (if_statement "if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }" if (parenthesized_expression "(local_40[2] != local_50)" ( (binary_expression "local_40[2] != local_50" (subscript_expression "local_40[2]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }" { (expression_statement "asStack_7c[7] = local_40[2];" (assignment_expression "asStack_7c[7] = local_40[2]" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = (subscript_expression "local_40[2]" identifier [ number_literal ])) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pcVar3 = "-u ";" (assignment_expression "pcVar3 = "-u "" identifier = (string_literal ""-u "" " string_content ")) ;) (expression_statement "psVar10 = asStack_7c + 7;" (assignment_expression "psVar10 = asStack_7c + 7" identifier = (binary_expression "asStack_7c + 7" identifier + number_literal)) ;) (expression_statement "asStack_7c[7] = 3;" (assignment_expression "asStack_7c[7] = 3" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0019576e;" goto statement_identifier ;) })) (if_statement "if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }" if (parenthesized_expression "(local_40[2] != local_50)" ( (binary_expression "local_40[2] != local_50" (subscript_expression "local_40[2]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }" { (expression_statement "asStack_7c[7] = local_40[2];" (assignment_expression "asStack_7c[7] = local_40[2]" (subscript_expression "asStack_7c[7]" identifier [ number_literal ]) = (subscript_expression "local_40[2]" identifier [ number_literal ])) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppcVar11 = (char **)&local_50;" (assignment_expression "ppcVar11 = (char **)&local_50" identifier = (cast_expression "(char **)&local_50" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_50" & identifier))) ;) })) })) (expression_statement "iVar4 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar4 = *(int *)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) goto LAB_001958a7;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001958a7;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 0x1344) == 0)" ( (binary_expression "*(int *)(iVar4 + 0x1344) == 0" (pointer_expression "*(int *)(iVar4 + 0x1344)" * (cast_expression "(int *)(iVar4 + 0x1344)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1344)" ( (binary_expression "iVar4 + 0x1344" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }" { (expression_statement "piVar8 = (int *)ppcVar11 + 8;" (assignment_expression "piVar8 = (int *)ppcVar11 + 8" identifier = (binary_expression "(int *)ppcVar11 + 8" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;) (expression_statement "((int *)ppcVar11)[6] = (int)piVar8;" (assignment_expression "((int *)ppcVar11)[6] = (int)piVar8" (subscript_expression "((int *)ppcVar11)[6]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);" (assignment_expression "((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4)" (subscript_expression "((int *)ppcVar11)[1]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (pointer_expression "*(int *)(((int *)ppcVar11)[0x15] + 4)" * (cast_expression "(int *)(((int *)ppcVar11)[0x15] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int *)ppcVar11)[0x15] + 4)" ( (binary_expression "((int *)ppcVar11)[0x15] + 4" (subscript_expression "((int *)ppcVar11)[0x15]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + number_literal) ))))) ;) (expression_statement "*ppcVar11 = (char *)((int *)ppcVar11 + 3);" (assignment_expression "*ppcVar11 = (char *)((int *)ppcVar11 + 3)" (pointer_expression "*ppcVar11" * identifier) = (cast_expression "(char *)((int *)ppcVar11 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int *)ppcVar11 + 3)" ( (binary_expression "(int *)ppcVar11 + 3" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "piVar9 = (int *)ppcVar11;" (assignment_expression "piVar9 = (int *)ppcVar11" identifier = (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }" else (compound_statement "{\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }" { (expression_statement "((int *)ppcVar11)[2] = iVar4;" (assignment_expression "((int *)ppcVar11)[2] = iVar4" (subscript_expression "((int *)ppcVar11)[2]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);" (assignment_expression "((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8)" (subscript_expression "((int *)ppcVar11)[6]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)((int *)ppcVar11 + 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int *)ppcVar11 + 8)" ( (binary_expression "(int *)ppcVar11 + 8" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);" (assignment_expression "((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8)" (subscript_expression "((int *)ppcVar11)[1]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)((int *)ppcVar11 + 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int *)ppcVar11 + 8)" ( (binary_expression "(int *)ppcVar11 + 8" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "((int *)ppcVar11)[-4] = (int)__s;" (assignment_expression "((int *)ppcVar11)[-4] = (int)__s" (subscript_expression "((int *)ppcVar11)[-4]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppcVar11)[-5] = 0x1957dd;" (assignment_expression "((int *)ppcVar11)[-5] = 0x1957dd" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "sVar5 = strlen((char *)((int *)ppcVar11)[-4]);" (assignment_expression "sVar5 = strlen((char *)((int *)ppcVar11)[-4])" identifier = (call_expression "strlen((char *)((int *)ppcVar11)[-4])" identifier (argument_list "((char *)((int *)ppcVar11)[-4])" ( (cast_expression "(char *)((int *)ppcVar11)[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "((int *)ppcVar11)[-4]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) )))) ;) (expression_statement "((int *)ppcVar11)[-1] = 0;" (assignment_expression "((int *)ppcVar11)[-1] = 0" (subscript_expression "((int *)ppcVar11)[-1]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "((int *)ppcVar11)[-2] = (int)(__s + sVar5);" (assignment_expression "((int *)ppcVar11)[-2] = (int)(__s + sVar5)" (subscript_expression "((int *)ppcVar11)[-2]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)(__s + sVar5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(__s + sVar5)" ( (binary_expression "__s + sVar5" identifier + identifier) )))) ;) (expression_statement "((int *)ppcVar11)[-3] = (int)__s;" (assignment_expression "((int *)ppcVar11)[-3] = (int)__s" (subscript_expression "((int *)ppcVar11)[-3]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);" (assignment_expression "((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6)" (subscript_expression "((int *)ppcVar11)[-4]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)((int *)ppcVar11 + 6)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int *)ppcVar11 + 6)" ( (binary_expression "(int *)ppcVar11 + 6" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "((int *)ppcVar11)[-5] = 0x1957ec;" (assignment_expression "((int *)ppcVar11)[-5] = 0x1957ec" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00050e40();" (call_expression "FUN_00050e40()" identifier (argument_list "()" ( ))) ;) (expression_statement "*ppcVar11 = (char *)((int *)ppcVar11 + 3);" (assignment_expression "*ppcVar11 = (char *)((int *)ppcVar11 + 3)" (pointer_expression "*ppcVar11" * identifier) = (cast_expression "(char *)((int *)ppcVar11 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int *)ppcVar11 + 3)" ( (binary_expression "(int *)ppcVar11 + 3" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);" (assignment_expression "((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6)" (subscript_expression "((int *)ppcVar11)[-2]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)((int *)ppcVar11 + 6)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int *)ppcVar11 + 6)" ( (binary_expression "(int *)ppcVar11 + 6" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;" (assignment_expression "((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338" (subscript_expression "((int *)ppcVar11)[-3]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (binary_expression "((int *)ppcVar11)[2] + 0x1338" (subscript_expression "((int *)ppcVar11)[2]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + number_literal)) ;) (expression_statement "((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);" (assignment_expression "((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3)" (subscript_expression "((int *)ppcVar11)[-4]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)((int *)ppcVar11 + 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int *)ppcVar11 + 3)" ( (binary_expression "(int *)ppcVar11 + 3" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "((int *)ppcVar11)[-5] = 0x195809;" (assignment_expression "((int *)ppcVar11)[-5] = 0x195809" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "FUN_000ba920();" (call_expression "FUN_000ba920()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar4 = ((int *)ppcVar11)[5];" (assignment_expression "iVar4 = ((int *)ppcVar11)[5]" identifier = (subscript_expression "((int *)ppcVar11)[5]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ])) ;) (expression_statement "piVar8 = (int *)*ppcVar11;" (assignment_expression "piVar8 = (int *)*ppcVar11" identifier = (cast_expression "(int *)*ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppcVar11" * identifier))) ;) (if_statement "if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }" if (parenthesized_expression "(((int *)ppcVar11)[2] != 0)" ( (binary_expression "((int *)ppcVar11)[2] != 0" (subscript_expression "((int *)ppcVar11)[2]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) != number_literal) )) (compound_statement "{\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }" { (if_statement "if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }" if (parenthesized_expression "((int *)iVar4 != piVar8)" ( (binary_expression "(int *)iVar4 != piVar8" (cast_expression "(int *)iVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }" { (expression_statement "((int *)ppcVar11)[-5] = iVar4;" (assignment_expression "((int *)ppcVar11)[-5] = iVar4" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "((int *)ppcVar11)[-6] = 0x195839;" (assignment_expression "((int *)ppcVar11)[-6] = 0x195839" (subscript_expression "((int *)ppcVar11)[-6]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pcVar3 = "--export-dynamic-symbol ";" (assignment_expression "pcVar3 = "--export-dynamic-symbol "" identifier = (string_literal ""--export-dynamic-symbol "" " string_content ")) ;) (expression_statement "psVar10 = (size_t *)((int *)ppcVar11 + -5);" (assignment_expression "psVar10 = (size_t *)((int *)ppcVar11 + -5)" identifier = (cast_expression "(size_t *)((int *)ppcVar11 + -5)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int *)ppcVar11 + -5)" ( (binary_expression "(int *)ppcVar11 + -5" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "((int *)ppcVar11)[-5] = 0x18;" (assignment_expression "((int *)ppcVar11)[-5] = 0x18" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0019576e;" goto statement_identifier ;) })) (if_statement "if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }" if (parenthesized_expression "((int *)iVar4 != piVar8)" ( (binary_expression "(int *)iVar4 != piVar8" (cast_expression "(int *)iVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }" { (expression_statement "*ppcVar11 = (char *)piVar8;" (assignment_expression "*ppcVar11 = (char *)piVar8" (pointer_expression "*ppcVar11" * identifier) = (cast_expression "(char *)piVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "((int *)ppcVar11)[-5] = iVar4;" (assignment_expression "((int *)ppcVar11)[-5] = iVar4" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = identifier) ;) (expression_statement "((int *)ppcVar11)[-6] = 0x195881;" (assignment_expression "((int *)ppcVar11)[-6] = 0x195881" (subscript_expression "((int *)ppcVar11)[-6]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar8 = (int *)*ppcVar11;" (assignment_expression "piVar8 = (int *)*ppcVar11" identifier = (cast_expression "(int *)*ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ppcVar11" * identifier))) ;) })) (expression_statement "piVar9 = (int *)ppcVar11 + -1;" (assignment_expression "piVar9 = (int *)ppcVar11 + -1" identifier = (binary_expression "(int *)ppcVar11 + -1" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal)) ;) (expression_statement "((int *)ppcVar11)[5] = (int)piVar8;" (assignment_expression "((int *)ppcVar11)[5] = (int)piVar8" (subscript_expression "((int *)ppcVar11)[5]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) = (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);" (assignment_expression "*ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4)" (pointer_expression "*ppcVar11" * identifier) = (cast_expression "(char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*(undefined4 *)(((int *)ppcVar11)[0x14] + 4)" * (cast_expression "(undefined4 *)(((int *)ppcVar11)[0x14] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int *)ppcVar11)[0x14] + 4)" ( (binary_expression "((int *)ppcVar11)[0x14] + 4" (subscript_expression "((int *)ppcVar11)[0x14]" (parenthesized_expression "((int *)ppcVar11)" ( (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )) [ number_literal ]) + number_literal) )))))) ;) }))) (expression_statement "piVar9[2] = (int)piVar8;" (assignment_expression "piVar9[2] = (int)piVar8" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[-4] = (int)__s;" (assignment_expression "piVar9[-4] = (int)__s" (subscript_expression "piVar9[-4]" identifier [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[-5] = 0x195601;" (assignment_expression "piVar9[-5] = 0x195601" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "sVar5 = strlen((char *)piVar9[-4]);" (assignment_expression "sVar5 = strlen((char *)piVar9[-4])" identifier = (call_expression "strlen((char *)piVar9[-4])" identifier (argument_list "((char *)piVar9[-4])" ( (cast_expression "(char *)piVar9[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[-4]" identifier [ number_literal ])) )))) ;) (expression_statement "piVar9[-1] = 0;" (assignment_expression "piVar9[-1] = 0" (subscript_expression "piVar9[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[-2] = (int)(__s + sVar5);" (assignment_expression "piVar9[-2] = (int)(__s + sVar5)" (subscript_expression "piVar9[-2]" identifier [ number_literal ]) = (cast_expression "(int)(__s + sVar5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(__s + sVar5)" ( (binary_expression "__s + sVar5" identifier + identifier) )))) ;) (expression_statement "piVar9[-3] = (int)__s;" (assignment_expression "piVar9[-3] = (int)__s" (subscript_expression "piVar9[-3]" identifier [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[-4] = (int)((int *)ppcVar11 + 6);" (assignment_expression "piVar9[-4] = (int)((int *)ppcVar11 + 6)" (subscript_expression "piVar9[-4]" identifier [ number_literal ]) = (cast_expression "(int)((int *)ppcVar11 + 6)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int *)ppcVar11 + 6)" ( (binary_expression "(int *)ppcVar11 + 6" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "piVar9[-5] = 0x195610;" (assignment_expression "piVar9[-5] = 0x195610" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00050e40();" (call_expression "FUN_00050e40()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar9[-2] = (int)((int *)ppcVar11 + 6);" (assignment_expression "piVar9[-2] = (int)((int *)ppcVar11 + 6)" (subscript_expression "piVar9[-2]" identifier [ number_literal ]) = (cast_expression "(int)((int *)ppcVar11 + 6)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int *)ppcVar11 + 6)" ( (binary_expression "(int *)ppcVar11 + 6" (cast_expression "(int *)ppcVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "piVar9[-3] = piVar9[1] + 0x40;" (assignment_expression "piVar9[-3] = piVar9[1] + 0x40" (subscript_expression "piVar9[-3]" identifier [ number_literal ]) = (binary_expression "piVar9[1] + 0x40" (subscript_expression "piVar9[1]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "piVar9[-4] = *piVar9;" (assignment_expression "piVar9[-4] = *piVar9" (subscript_expression "piVar9[-4]" identifier [ number_literal ]) = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "piVar9[-5] = 0x195625;" (assignment_expression "piVar9[-5] = 0x195625" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_000ba920();" (call_expression "FUN_000ba920()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar4 = piVar9[2];" (assignment_expression "iVar4 = piVar9[2]" identifier = (subscript_expression "piVar9[2]" identifier [ number_literal ])) ;) (if_statement "if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }" if (parenthesized_expression "(piVar9[5] != piVar9[1])" ( (binary_expression "piVar9[5] != piVar9[1]" (subscript_expression "piVar9[5]" identifier [ number_literal ]) != (subscript_expression "piVar9[1]" identifier [ number_literal ])) )) (compound_statement "{\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }" { (expression_statement "piVar9[-5] = piVar9[5];" (assignment_expression "piVar9[-5] = piVar9[5]" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = (subscript_expression "piVar9[5]" identifier [ number_literal ])) ;) (expression_statement "piVar9[-6] = 0x195641;" (assignment_expression "piVar9[-6] = 0x195641" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppcVar11 = (char **)(piVar9 + -1);" (assignment_expression "ppcVar11 = (char **)(piVar9 + -1)" identifier = (cast_expression "(char **)(piVar9 + -1)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar9 + -1)" ( (binary_expression "piVar9 + -1" identifier + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }" { (expression_statement "piVar9[-5] = (int)__s;" (assignment_expression "piVar9[-5] = (int)__s" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[-6] = 0x195699;" (assignment_expression "piVar9[-6] = 0x195699" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "sVar5 = strlen((char *)piVar9[-5]);" (assignment_expression "sVar5 = strlen((char *)piVar9[-5])" identifier = (call_expression "strlen((char *)piVar9[-5])" identifier (argument_list "((char *)piVar9[-5])" ( (cast_expression "(char *)piVar9[-5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[-5]" identifier [ number_literal ])) )))) ;) (expression_statement "piVar9[-5] = sVar5 + 100;" (assignment_expression "piVar9[-5] = sVar5 + 100" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = (binary_expression "sVar5 + 100" identifier + number_literal)) ;) (expression_statement "piVar9[-6] = 0x1956a4;" (assignment_expression "piVar9[-6] = 0x1956a4" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = FUN_001e5180();" (assignment_expression "uVar6 = FUN_001e5180()" identifier = (call_expression "FUN_001e5180()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar9[-5] = (int)"script or expression reference to %s";" (assignment_expression "piVar9[-5] = (int)"script or expression reference to %s"" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = (cast_expression "(int)"script or expression reference to %s"" ( (type_descriptor "int" primitive_type) ) (string_literal ""script or expression reference to %s"" " string_content "))) ;) (expression_statement "piVar9[-6] = 0x1956b4;" (assignment_expression "piVar9[-6] = 0x1956b4" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = gettext();" (assignment_expression "uVar7 = gettext()" identifier = (call_expression "gettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar9[-6] = (int)__s;" (assignment_expression "piVar9[-6] = (int)__s" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[-7] = uVar7;" (assignment_expression "piVar9[-7] = uVar7" (subscript_expression "piVar9[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[-8] = sVar5 + 100;" (assignment_expression "piVar9[-8] = sVar5 + 100" (subscript_expression "piVar9[-8]" identifier [ number_literal ]) = (binary_expression "sVar5 + 100" identifier + number_literal)) ;) (expression_statement "piVar9[-9] = uVar6;" (assignment_expression "piVar9[-9] = uVar6" (subscript_expression "piVar9[-9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[-10] = 0x1956bd;" (assignment_expression "piVar9[-10] = 0x1956bd" (subscript_expression "piVar9[-10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);" (call_expression "snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7])" identifier (argument_list "((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7])" ( (cast_expression "(char *)piVar9[-9]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[-9]" identifier [ number_literal ])) , (subscript_expression "piVar9[-8]" identifier [ number_literal ]) , (cast_expression "(char *)piVar9[-7]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[-7]" identifier [ number_literal ])) ))) ;) (expression_statement "piVar9[-5] = uVar6;" (assignment_expression "piVar9[-5] = uVar6" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[-6] = 0x1956c6;" (assignment_expression "piVar9[-6] = 0x1956c6" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "sVar5 = strlen((char *)piVar9[-5]);" (assignment_expression "sVar5 = strlen((char *)piVar9[-5])" identifier = (call_expression "strlen((char *)piVar9[-5])" identifier (argument_list "((char *)piVar9[-5])" ( (cast_expression "(char *)piVar9[-5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[-5]" identifier [ number_literal ])) )))) ;) (expression_statement "piVar9[-5] = sVar5;" (assignment_expression "piVar9[-5] = sVar5" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[-6] = uVar6;" (assignment_expression "piVar9[-6] = uVar6" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);" (assignment_expression "piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4)" (subscript_expression "piVar9[-7]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(piVar9[0x17] + 4)" * (cast_expression "(undefined4 *)(piVar9[0x17] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9[0x17] + 4)" ( (binary_expression "piVar9[0x17] + 4" (subscript_expression "piVar9[0x17]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "piVar9[-8] = 0;" (assignment_expression "piVar9[-8] = 0" (subscript_expression "piVar9[-8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar9[-9] = piVar9[0x17];" (assignment_expression "piVar9[-9] = piVar9[0x17]" (subscript_expression "piVar9[-9]" identifier [ number_literal ]) = (subscript_expression "piVar9[0x17]" identifier [ number_literal ])) ;) (expression_statement "piVar9[-10] = 0x1956dc;" (assignment_expression "piVar9[-10] = 0x1956dc" (subscript_expression "piVar9[-10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001ef9f0();" (call_expression "FUN_001ef9f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar9[-5] = uVar6;" (assignment_expression "piVar9[-5] = uVar6" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[-6] = 0x1956e5;" (assignment_expression "piVar9[-6] = 0x1956e5" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001e6d50();" (call_expression "FUN_001e6d50()" identifier (argument_list "()" ( ))) ;) (return_statement "return 1;" return number_literal ;) })) (if_statement "if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }" if (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) != 0)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) != 0" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }" { (if_statement "if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }" if (parenthesized_expression "(*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0')" ( (binary_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0'" (pointer_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d)" * (cast_expression "(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) + 0x318d)" ( (binary_expression "*(int *)(DAT_0038f378 + 8) + 0x318d" (pointer_expression "*(int *)(DAT_0038f378 + 8)" * (cast_expression "(int *)(DAT_0038f378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }" { (expression_statement "psVar10 = (size_t *)(piVar9 + -5);" (assignment_expression "psVar10 = (size_t *)(piVar9 + -5)" identifier = (cast_expression "(size_t *)(piVar9 + -5)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + -5)" ( (binary_expression "piVar9 + -5" identifier + number_literal) )))) ;) (expression_statement "piVar9[-5] = DAT_0038f378;" (assignment_expression "piVar9[-5] = DAT_0038f378" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[-6] = 0x195667;" (assignment_expression "piVar9[-6] = 0x195667" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar4 = FUN_00139510();" (assignment_expression "iVar4 = FUN_00139510()" identifier = (call_expression "FUN_00139510()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }" { (expression_statement "piVar9[-4] = iVar4;" (assignment_expression "piVar9[-4] = iVar4" (subscript_expression "piVar9[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[-5] = (int)__s;" (assignment_expression "piVar9[-5] = (int)__s" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[-6] = 0x195678;" (assignment_expression "piVar9[-6] = 0x195678" (subscript_expression "piVar9[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);" (assignment_expression "iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4])" identifier = (call_expression "strcmp((char *)piVar9[-5],(char *)piVar9[-4])" identifier (argument_list "((char *)piVar9[-5],(char *)piVar9[-4])" ( (cast_expression "(char *)piVar9[-5]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[-5]" identifier [ number_literal ])) , (cast_expression "(char *)piVar9[-4]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[-4]" identifier [ number_literal ])) )))) ;) (if_statement "if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }" { (expression_statement "pcVar3 = "entry symbol ";" (assignment_expression "pcVar3 = "entry symbol "" identifier = (string_literal ""entry symbol "" " string_content ")) ;) (expression_statement "piVar9[-5] = 0xd;" (assignment_expression "piVar9[-5] = 0xd" (subscript_expression "piVar9[-5]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;" statement_identifier : (expression_statement "psVar10[-1] = (size_t)pcVar3;" (assignment_expression "psVar10[-1] = (size_t)pcVar3" (subscript_expression "psVar10[-1]" identifier [ number_literal ]) = (cast_expression "(size_t)pcVar3" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;)) (expression_statement "psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);" (assignment_expression "psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4)" (subscript_expression "psVar10[-2]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(psVar10[0x1c] + 4)" * (cast_expression "(undefined4 *)(psVar10[0x1c] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar10[0x1c] + 4)" ( (binary_expression "psVar10[0x1c] + 4" (subscript_expression "psVar10[0x1c]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "psVar10[-3] = 0;" (assignment_expression "psVar10[-3] = 0" (subscript_expression "psVar10[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "psVar10[-4] = psVar10[0x1c];" (assignment_expression "psVar10[-4] = psVar10[0x1c]" (subscript_expression "psVar10[-4]" identifier [ number_literal ]) = (subscript_expression "psVar10[0x1c]" identifier [ number_literal ])) ;) (expression_statement "psVar10[-5] = 0x195781;" (assignment_expression "psVar10[-5] = 0x195781" (subscript_expression "psVar10[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001ef9f0();" (call_expression "FUN_001ef9f0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*psVar10 = (size_t)__s;" (assignment_expression "*psVar10 = (size_t)__s" (pointer_expression "*psVar10" * identifier) = (cast_expression "(size_t)__s" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "psVar10[-1] = 0x19578a;" (assignment_expression "psVar10[-1] = 0x19578a" (subscript_expression "psVar10[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "sVar5 = strlen((char *)*psVar10);" (assignment_expression "sVar5 = strlen((char *)*psVar10)" identifier = (call_expression "strlen((char *)*psVar10)" identifier (argument_list "((char *)*psVar10)" ( (cast_expression "(char *)*psVar10" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*psVar10" * identifier)) )))) ;) (if_statement "if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }" if (parenthesized_expression "(sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4))" ( (binary_expression "sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)" identifier <= (binary_expression "0x7fffffffU - *(int *)(psVar10[0x1c] + 4)" number_literal - (pointer_expression "*(int *)(psVar10[0x1c] + 4)" * (cast_expression "(int *)(psVar10[0x1c] + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar10[0x1c] + 4)" ( (binary_expression "psVar10[0x1c] + 4" (subscript_expression "psVar10[0x1c]" identifier [ number_literal ]) + number_literal) )))))) )) (compound_statement "{\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }" { (expression_statement "psVar10[2] = sVar5;" (assignment_expression "psVar10[2] = sVar5" (subscript_expression "psVar10[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "psVar10[1] = (size_t)__s;" (assignment_expression "psVar10[1] = (size_t)__s" (subscript_expression "psVar10[1]" identifier [ number_literal ]) = (cast_expression "(size_t)__s" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "*psVar10 = psVar10[0x1c];" (assignment_expression "*psVar10 = psVar10[0x1c]" (pointer_expression "*psVar10" * identifier) = (subscript_expression "psVar10[0x1c]" identifier [ number_literal ])) ;) (expression_statement "psVar10[-1] = 0x1957af;" (assignment_expression "psVar10[-1] = 0x1957af" (subscript_expression "psVar10[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_001f05c0();" (call_expression "FUN_001f05c0()" identifier (argument_list "()" ( ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "*psVar10 = (size_t)"basic_string::append";" (assignment_expression "*psVar10 = (size_t)"basic_string::append"" (pointer_expression "*psVar10" * identifier) = (cast_expression "(size_t)"basic_string::append"" ( (type_descriptor "size_t" primitive_type) ) (string_literal ""basic_string::append"" " string_content "))) ;) (expression_statement "psVar10[-1] = (size_t)&UNK_001958cc;" (assignment_expression "psVar10[-1] = (size_t)&UNK_001958cc" (subscript_expression "psVar10[-1]" identifier [ number_literal ]) = (cast_expression "(size_t)&UNK_001958cc" ( (type_descriptor "size_t" primitive_type) ) (pointer_expression "&UNK_001958cc" & identifier))) ;) (expression_statement "FUN_0022c7a0();" (call_expression "FUN_0022c7a0()" identifier (argument_list "()" ( ))) ;) })) })) })) (return_statement "return 2;" return number_literal ;) })) })) (labeled_statement "LAB_001958a7:\n  *(int **)((int)ppcVar11 + -4) = &DAT_0038f378;" statement_identifier : (expression_statement "*(int **)((int)ppcVar11 + -4) = &DAT_0038f378;" (assignment_expression "*(int **)((int)ppcVar11 + -4) = &DAT_0038f378" (pointer_expression "*(int **)((int)ppcVar11 + -4)" * (cast_expression "(int **)((int)ppcVar11 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar11 + -4)" ( (binary_expression "(int)ppcVar11 + -4" (cast_expression "(int)ppcVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&DAT_0038f378" & identifier)) ;)) (expression_statement "*(char **)((int)ppcVar11 + -8) = "options";" (assignment_expression "*(char **)((int)ppcVar11 + -8) = "options"" (pointer_expression "*(char **)((int)ppcVar11 + -8)" * (cast_expression "(char **)((int)ppcVar11 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar11 + -8)" ( (binary_expression "(int)ppcVar11 + -8" (cast_expression "(int)ppcVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""options"" " string_content ")) ;) (expression_statement "*(undefined4 *)((int)ppcVar11 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)ppcVar11 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)ppcVar11 + -0xc)" * (cast_expression "(undefined4 *)((int)ppcVar11 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar11 + -0xc)" ( (binary_expression "(int)ppcVar11 + -0xc" (cast_expression "(int)ppcVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)ppcVar11 + -0x10) = "../../gold/parameters.h";" (assignment_expression "*(char **)((int)ppcVar11 + -0x10) = "../../gold/parameters.h"" (pointer_expression "*(char **)((int)ppcVar11 + -0x10)" * (cast_expression "(char **)((int)ppcVar11 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar11 + -0x10)" ( (binary_expression "(int)ppcVar11 + -0x10" (cast_expression "(int)ppcVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""../../gold/parameters.h"" " string_content ")) ;) (expression_statement "*(undefined4 *)((int)ppcVar11 + -0x14) = 0x1958bd;" (assignment_expression "*(undefined4 *)((int)ppcVar11 + -0x14) = 0x1958bd" (pointer_expression "*(undefined4 *)((int)ppcVar11 + -0x14)" * (cast_expression "(undefined4 *)((int)ppcVar11 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar11 + -0x14)" ( (binary_expression "(int)ppcVar11 + -0x14" (cast_expression "(int)ppcVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) }))) (goto_statement goto statement_identifier ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) ]) = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (return_statement return LIT ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (return_statement return LIT ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) != LIT) )) (compound_statement { (return_statement return LIT ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT))) ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ])) )))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )) [ LIT ]) + LIT) )))))) ;) }))) (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 ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_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) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (subscript_expression IDENT [ LIT ]) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (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 IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression LIT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (string_literal " string_content "))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) })) (return_statement return LIT ;) })) })) (labeled_statement statement_identifier : (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 (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) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (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 ( ))) ;) })))
(function_definition "undefined4\nFUN_001953f0(undefined4 param_1,undefined4 param_2,char *param_3,int *param_4,undefined4 param_5,\n            undefined4 *param_6,uint *param_7)\n\n{\n  byte bVar1;\n  char cVar2;\n  char *pcVar3;\n  int iVar4;\n  char *__s;\n  size_t sVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  char *__n;\n  int *piVar8;\n  int *piVar9;\n  size_t *psVar10;\n  char **ppcVar11;\n  size_t asStack_7c [8];\n  int local_50;\n  char *local_4c [2];\n  int local_44;\n  int local_40 [3];\n  char *local_34;\n  char local_2c [24];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1953f9;\n  asStack_7c[7] = 0x19540e;\n  pcVar3 = strchr(param_3,0x40);\n  __s = param_3;\n  if (pcVar3 == (char *)0x0) {\nLAB_00195455:\n    asStack_7c[7] = 0x195463;\n    iVar4 = FUN_00179ab0();\n    *param_4 = iVar4;\njoined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }\n  }\n  else {\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }\n  ppcVar11 = local_4c;\n  pcVar3 = *(char **)(DAT_0038f378 + 8);\n  if (pcVar3 != (char *)0x0) {\n    ppcVar11 = local_4c;\n    if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }\n    iVar4 = *(int *)(DAT_0038f378 + 8);\n    if (iVar4 == 0) goto LAB_001958a7;\n    if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }\n    piVar9[2] = (int)piVar8;\n    piVar9[-4] = (int)__s;\n    piVar9[-5] = 0x195601;\n    sVar5 = strlen((char *)piVar9[-4]);\n    piVar9[-1] = 0;\n    piVar9[-2] = (int)(__s + sVar5);\n    piVar9[-3] = (int)__s;\n    piVar9[-4] = (int)((int *)ppcVar11 + 6);\n    piVar9[-5] = 0x195610;\n    FUN_00050e40();\n    piVar9[-2] = (int)((int *)ppcVar11 + 6);\n    piVar9[-3] = piVar9[1] + 0x40;\n    piVar9[-4] = *piVar9;\n    piVar9[-5] = 0x195625;\n    FUN_000ba920();\n    iVar4 = piVar9[2];\n    if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }\n    ppcVar11 = (char **)(piVar9 + -1);\n    if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }\n    if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }\n  }\nLAB_001958a7:\n  *(int **)((int)ppcVar11 + -4) = &DAT_0038f378;\n  *(char **)((int)ppcVar11 + -8) = "options";\n  *(undefined4 *)((int)ppcVar11 + -0xc) = 0x5c;\n  *(char **)((int)ppcVar11 + -0x10) = "../../gold/parameters.h";\n                    \n  *(undefined4 *)((int)ppcVar11 + -0x14) = 0x1958bd;\n  FUN_00069d00();\n}" (type_identifier "undefined4") (function_declarator "FUN_001953f0(undefined4 param_1,undefined4 param_2,char *param_3,int *param_4,undefined4 param_5,\n            undefined4 *param_6,uint *param_7)" (identifier "FUN_001953f0") (parameter_list "(undefined4 param_1,undefined4 param_2,char *param_3,int *param_4,undefined4 param_5,\n            undefined4 *param_6,uint *param_7)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "char *param_3" (primitive_type "char") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 *param_6" (type_identifier "undefined4") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) (, ",") (parameter_declaration "uint *param_7" (type_identifier "uint") (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) () ")"))) (compound_statement "{\n  byte bVar1;\n  char cVar2;\n  char *pcVar3;\n  int iVar4;\n  char *__s;\n  size_t sVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  char *__n;\n  int *piVar8;\n  int *piVar9;\n  size_t *psVar10;\n  char **ppcVar11;\n  size_t asStack_7c [8];\n  int local_50;\n  char *local_4c [2];\n  int local_44;\n  int local_40 [3];\n  char *local_34;\n  char local_2c [24];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1953f9;\n  asStack_7c[7] = 0x19540e;\n  pcVar3 = strchr(param_3,0x40);\n  __s = param_3;\n  if (pcVar3 == (char *)0x0) {\nLAB_00195455:\n    asStack_7c[7] = 0x195463;\n    iVar4 = FUN_00179ab0();\n    *param_4 = iVar4;\njoined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }\n  }\n  else {\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }\n  ppcVar11 = local_4c;\n  pcVar3 = *(char **)(DAT_0038f378 + 8);\n  if (pcVar3 != (char *)0x0) {\n    ppcVar11 = local_4c;\n    if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }\n    iVar4 = *(int *)(DAT_0038f378 + 8);\n    if (iVar4 == 0) goto LAB_001958a7;\n    if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }\n    piVar9[2] = (int)piVar8;\n    piVar9[-4] = (int)__s;\n    piVar9[-5] = 0x195601;\n    sVar5 = strlen((char *)piVar9[-4]);\n    piVar9[-1] = 0;\n    piVar9[-2] = (int)(__s + sVar5);\n    piVar9[-3] = (int)__s;\n    piVar9[-4] = (int)((int *)ppcVar11 + 6);\n    piVar9[-5] = 0x195610;\n    FUN_00050e40();\n    piVar9[-2] = (int)((int *)ppcVar11 + 6);\n    piVar9[-3] = piVar9[1] + 0x40;\n    piVar9[-4] = *piVar9;\n    piVar9[-5] = 0x195625;\n    FUN_000ba920();\n    iVar4 = piVar9[2];\n    if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }\n    ppcVar11 = (char **)(piVar9 + -1);\n    if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }\n    if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }\n  }\nLAB_001958a7:\n  *(int **)((int)ppcVar11 + -4) = &DAT_0038f378;\n  *(char **)((int)ppcVar11 + -8) = "options";\n  *(undefined4 *)((int)ppcVar11 + -0xc) = 0x5c;\n  *(char **)((int)ppcVar11 + -0x10) = "../../gold/parameters.h";\n                    \n  *(undefined4 *)((int)ppcVar11 + -0x14) = 0x1958bd;\n  FUN_00069d00();\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "char *pcVar3;" (primitive_type "char") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "size_t sVar5;" (primitive_type "size_t") (identifier "sVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "char *__n;" (primitive_type "char") (pointer_declarator "*__n" (* "*") (identifier "__n")) (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "size_t *psVar10;" (primitive_type "size_t") (pointer_declarator "*psVar10" (* "*") (identifier "psVar10")) (; ";")) (declaration "char **ppcVar11;" (primitive_type "char") (pointer_declarator "**ppcVar11" (* "*") (pointer_declarator "*ppcVar11" (* "*") (identifier "ppcVar11"))) (; ";")) (declaration "size_t asStack_7c [8];" (primitive_type "size_t") (array_declarator "asStack_7c [8]" (identifier "asStack_7c") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "char *local_4c [2];" (primitive_type "char") (pointer_declarator "*local_4c [2]" (* "*") (array_declarator "local_4c [2]" (identifier "local_4c") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "int local_40 [3];" (primitive_type "int") (array_declarator "local_40 [3]" (identifier "local_40") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "char *local_34;" (primitive_type "char") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "char local_2c [24];" (primitive_type "char") (array_declarator "local_2c [24]" (identifier "local_2c") ([ "[") (number_literal "24") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x1953f9;" (assignment_expression "uStack_14 = 0x1953f9" (identifier "uStack_14") (= "=") (number_literal "0x1953f9")) (; ";")) (expression_statement "asStack_7c[7] = 0x19540e;" (assignment_expression "asStack_7c[7] = 0x19540e" (subscript_expression "asStack_7c[7]" (identifier "asStack_7c") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x19540e")) (; ";")) (expression_statement "pcVar3 = strchr(param_3,0x40);" (assignment_expression "pcVar3 = strchr(param_3,0x40)" (identifier "pcVar3") (= "=") (call_expression "strchr(param_3,0x40)" (identifier "strchr") (argument_list "(param_3,0x40)" (( "(") (identifier "param_3") (, ",") (number_literal "0x40") () ")")))) (; ";")) (expression_statement "__s = param_3;" (assignment_expression "__s = param_3" (identifier "__s") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (pcVar3 == (char *)0x0) {\nLAB_00195455:\n    asStack_7c[7] = 0x195463;\n    iVar4 = FUN_00179ab0();\n    *param_4 = iVar4;\njoined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }\n  }\n  else {\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }" (if "if") (parenthesized_expression "(pcVar3 == (char *)0x0)" (( "(") (binary_expression "pcVar3 == (char *)0x0" (identifier "pcVar3") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00195455:\n    asStack_7c[7] = 0x195463;\n    iVar4 = FUN_00179ab0();\n    *param_4 = iVar4;\njoined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }\n  }" ({ "{") (labeled_statement "LAB_00195455:\n    asStack_7c[7] = 0x195463;" (statement_identifier "LAB_00195455") (: ":") (expression_statement "asStack_7c[7] = 0x195463;" (assignment_expression "asStack_7c[7] = 0x195463" (subscript_expression "asStack_7c[7]" (identifier "asStack_7c") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x195463")) (; ";"))) (expression_statement "iVar4 = FUN_00179ab0();" (assignment_expression "iVar4 = FUN_00179ab0()" (identifier "iVar4") (= "=") (call_expression "FUN_00179ab0()" (identifier "FUN_00179ab0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*param_4 = iVar4;" (assignment_expression "*param_4 = iVar4" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (identifier "iVar4")) (; ";")) (labeled_statement "joined_r0x00195596:\n    if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }" (statement_identifier "joined_r0x00195596") (: ":") (if_statement "if (iVar4 != 0) {\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n      if (bVar1 == 0) goto LAB_00195481;\nLAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }\n      goto LAB_00195504;\n    }" ({ "{") (expression_statement "bVar1 = *(byte *)(iVar4 + 0x2a) & 7;" (assignment_expression "bVar1 = *(byte *)(iVar4 + 0x2a) & 7" (identifier "bVar1") (= "=") (binary_expression "*(byte *)(iVar4 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar4 + 0x2a)" (* "*") (cast_expression "(byte *)(iVar4 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2a)" (( "(") (binary_expression "iVar4 + 0x2a" (identifier "iVar4") (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7"))) (; ";")) (if_statement "if (bVar1 == 0) goto LAB_00195481;" (if "if") (parenthesized_expression "(bVar1 == 0)" (( "(") (binary_expression "bVar1 == 0" (identifier "bVar1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00195481;" (goto "goto") (statement_identifier "LAB_00195481") (; ";"))) (labeled_statement "LAB_00195500:\n      if (bVar1 != 4) {\n        return 0;\n      }" (statement_identifier "LAB_00195500") (: ":") (if_statement "if (bVar1 != 4) {\n        return 0;\n      }" (if "if") (parenthesized_expression "(bVar1 != 4)" (( "(") (binary_expression "bVar1 != 4" (identifier "bVar1") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))) (goto_statement "goto LAB_00195504;" (goto "goto") (statement_identifier "LAB_00195504") (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }" (else "else") (compound_statement "{\n    __n = pcVar3 + -(int)param_3;\n    __s = (char *)*param_6;\n    local_4c[0] = __n + 1;\n    if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }\n    asStack_7c[7] = 0x19543f;\n    local_4c[0] = __n;\n    memcpy(__s,param_3,(size_t)__n);\n    __s[(int)local_4c[0]] = '\0';\n    if (pcVar3[1] != '@') goto LAB_00195455;\n    asStack_7c[7] = 0x1954b1;\n    iVar4 = FUN_00179ab0();\n    if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }\n    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;\n    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }\n    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;\nLAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;\n    *param_4 = iVar4;\n    if (bVar1 != 0) goto LAB_00195500;\nLAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }\n    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }\nLAB_00195504:\n    asStack_7c[7] = 0x195514;\n    cVar2 = FUN_00169d70();\n    if (cVar2 != '\0') {\n      return 0;\n    }\n    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }\n  }" ({ "{") (expression_statement "__n = pcVar3 + -(int)param_3;" (assignment_expression "__n = pcVar3 + -(int)param_3" (identifier "__n") (= "=") (binary_expression "pcVar3 + -(int)param_3" (identifier "pcVar3") (+ "+") (unary_expression "-(int)param_3" (- "-") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3"))))) (; ";")) (expression_statement "__s = (char *)*param_6;" (assignment_expression "__s = (char *)*param_6" (identifier "__s") (= "=") (cast_expression "(char *)*param_6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_6" (* "*") (identifier "param_6")))) (; ";")) (expression_statement "local_4c[0] = __n + 1;" (assignment_expression "local_4c[0] = __n + 1" (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "__n + 1" (identifier "__n") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((char *)*param_7 < local_4c[0]) {\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }" (if "if") (parenthesized_expression "((char *)*param_7 < local_4c[0])" (( "(") (binary_expression "(char *)*param_7 < local_4c[0]" (cast_expression "(char *)*param_7" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_7" (* "*") (identifier "param_7"))) (< "<") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) () ")")) (compound_statement "{\n      asStack_7c[7] = 0x19554a;\n      local_4c[1] = __n;\n      __s = (char *)FUN_001e4d50();\n      *param_6 = __s;\n      *param_7 = (uint)local_4c[0];\n      __n = local_4c[1];\n    }" ({ "{") (expression_statement "asStack_7c[7] = 0x19554a;" (assignment_expression "asStack_7c[7] = 0x19554a" (subscript_expression "asStack_7c[7]" (identifier "asStack_7c") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x19554a")) (; ";")) (expression_statement "local_4c[1] = __n;" (assignment_expression "local_4c[1] = __n" (subscript_expression "local_4c[1]" (identifier "local_4c") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "__n")) (; ";")) (expression_statement "__s = (char *)FUN_001e4d50();" (assignment_expression "__s = (char *)FUN_001e4d50()" (identifier "__s") (= "=") (cast_expression "(char *)FUN_001e4d50()" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001e4d50()" (identifier "FUN_001e4d50") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*param_6 = __s;" (assignment_expression "*param_6 = __s" (pointer_expression "*param_6" (* "*") (identifier "param_6")) (= "=") (identifier "__s")) (; ";")) (expression_statement "*param_7 = (uint)local_4c[0];" (assignment_expression "*param_7 = (uint)local_4c[0]" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (cast_expression "(uint)local_4c[0]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "__n = local_4c[1];" (assignment_expression "__n = local_4c[1]" (identifier "__n") (= "=") (subscript_expression "local_4c[1]" (identifier "local_4c") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}"))) (expression_statement "asStack_7c[7] = 0x19543f;" (assignment_expression "asStack_7c[7] = 0x19543f" (subscript_expression "asStack_7c[7]" (identifier "asStack_7c") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x19543f")) (; ";")) (expression_statement "local_4c[0] = __n;" (assignment_expression "local_4c[0] = __n" (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "__n")) (; ";")) (expression_statement "memcpy(__s,param_3,(size_t)__n);" (call_expression "memcpy(__s,param_3,(size_t)__n)" (identifier "memcpy") (argument_list "(__s,param_3,(size_t)__n)" (( "(") (identifier "__s") (, ",") (identifier "param_3") (, ",") (cast_expression "(size_t)__n" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (identifier "__n")) () ")"))) (; ";")) (expression_statement "__s[(int)local_4c[0]] = '\0';" (assignment_expression "__s[(int)local_4c[0]] = '\0'" (subscript_expression "__s[(int)local_4c[0]]" (identifier "__s") ([ "[") (cast_expression "(int)local_4c[0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (pcVar3[1] != '@') goto LAB_00195455;" (if "if") (parenthesized_expression "(pcVar3[1] != '@')" (( "(") (binary_expression "pcVar3[1] != '@'" (subscript_expression "pcVar3[1]" (identifier "pcVar3") ([ "[") (number_literal "1") (] "]")) (!= "!=") (char_literal "'@'" (' "'") (character "@") (' "'"))) () ")")) (goto_statement "goto LAB_00195455;" (goto "goto") (statement_identifier "LAB_00195455") (; ";"))) (expression_statement "asStack_7c[7] = 0x1954b1;" (assignment_expression "asStack_7c[7] = 0x1954b1" (subscript_expression "asStack_7c[7]" (identifier "asStack_7c") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x1954b1")) (; ";")) (expression_statement "iVar4 = FUN_00179ab0();" (assignment_expression "iVar4 = FUN_00179ab0()" (identifier "iVar4") (= "=") (call_expression "FUN_00179ab0()" (identifier "FUN_00179ab0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00195578:\n      asStack_7c[7] = 0x195589;\n      iVar4 = FUN_00179ab0();\n      *param_4 = iVar4;\n      goto joined_r0x00195596;\n    }" ({ "{") (labeled_statement "LAB_00195578:\n      asStack_7c[7] = 0x195589;" (statement_identifier "LAB_00195578") (: ":") (expression_statement "asStack_7c[7] = 0x195589;" (assignment_expression "asStack_7c[7] = 0x195589" (subscript_expression "asStack_7c[7]" (identifier "asStack_7c") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x195589")) (; ";"))) (expression_statement "iVar4 = FUN_00179ab0();" (assignment_expression "iVar4 = FUN_00179ab0()" (identifier "iVar4") (= "=") (call_expression "FUN_00179ab0()" (identifier "FUN_00179ab0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*param_4 = iVar4;" (assignment_expression "*param_4 = iVar4" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (identifier "iVar4")) (; ";")) (goto_statement "goto joined_r0x00195596;" (goto "goto") (statement_identifier "joined_r0x00195596") (; ";")) (} "}"))) (expression_statement "bVar1 = *(byte *)(iVar4 + 0x2a) & 7;" (assignment_expression "bVar1 = *(byte *)(iVar4 + 0x2a) & 7" (identifier "bVar1") (= "=") (binary_expression "*(byte *)(iVar4 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar4 + 0x2a)" (* "*") (cast_expression "(byte *)(iVar4 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2a)" (( "(") (binary_expression "iVar4 + 0x2a" (identifier "iVar4") (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7"))) (; ";")) (if_statement "if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }" (if "if") (parenthesized_expression "((*(byte *)(iVar4 + 0x2a) & 7) != 0)" (( "(") (binary_expression "(*(byte *)(iVar4 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)(iVar4 + 0x2a) & 7" (pointer_expression "*(byte *)(iVar4 + 0x2a)" (* "*") (cast_expression "(byte *)(iVar4 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2a)" (( "(") (binary_expression "iVar4 + 0x2a" (identifier "iVar4") (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (bVar1 == 4) goto LAB_001954e0;\n      goto LAB_00195578;\n    }" ({ "{") (if_statement "if (bVar1 == 4) goto LAB_001954e0;" (if "if") (parenthesized_expression "(bVar1 == 4)" (( "(") (binary_expression "bVar1 == 4" (identifier "bVar1") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_001954e0;" (goto "goto") (statement_identifier "LAB_001954e0") (; ";"))) (goto_statement "goto LAB_00195578;" (goto "goto") (statement_identifier "LAB_00195578") (; ";")) (} "}"))) (if_statement "if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;" (if "if") (parenthesized_expression "((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0))" (( "(") (binary_expression "(*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)" (parenthesized_expression "(*(int *)(iVar4 + 0xc) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0xc) != 0" (pointer_expression "*(int *)(iVar4 + 0xc)" (* "*") (cast_expression "(int *)(iVar4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(iVar4 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)(iVar4 + 0x2b) & 0x20" (pointer_expression "*(byte *)(iVar4 + 0x2b)" (* "*") (cast_expression "(byte *)(iVar4 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2b)" (( "(") (binary_expression "iVar4 + 0x2b" (identifier "iVar4") (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_00195578;" (goto "goto") (statement_identifier "LAB_00195578") (; ";"))) (labeled_statement "LAB_001954e0:\n    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;" (statement_identifier "LAB_001954e0") (: ":") (if_statement "if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;" (if "if") (parenthesized_expression "(*(byte *)(iVar4 + 0x28) >> 4 == 2)" (( "(") (binary_expression "*(byte *)(iVar4 + 0x28) >> 4 == 2" (binary_expression "*(byte *)(iVar4 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar4 + 0x28)" (* "*") (cast_expression "(byte *)(iVar4 + 0x28)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (>> ">>") (number_literal "4")) (== "==") (number_literal "2")) () ")")) (goto_statement "goto LAB_00195578;" (goto "goto") (statement_identifier "LAB_00195578") (; ";")))) (expression_statement "*param_4 = iVar4;" (assignment_expression "*param_4 = iVar4" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (identifier "iVar4")) (; ";")) (if_statement "if (bVar1 != 0) goto LAB_00195500;" (if "if") (parenthesized_expression "(bVar1 != 0)" (( "(") (binary_expression "bVar1 != 0" (identifier "bVar1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00195500;" (goto "goto") (statement_identifier "LAB_00195500") (; ";"))) (labeled_statement "LAB_00195481:\n    if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }" (statement_identifier "LAB_00195481") (: ":") (if_statement "if (*(int *)(iVar4 + 0xc) != 0) {\n      return 0;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0xc) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0xc) != 0" (pointer_expression "*(int *)(iVar4 + 0xc)" (* "*") (cast_expression "(int *)(iVar4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0xc)" (( "(") (binary_expression "iVar4 + 0xc" (identifier "iVar4") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))) (if_statement "if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {\n      return 0;\n    }" (if "if") (parenthesized_expression "((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(iVar4 + 0x2b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(iVar4 + 0x2b) & 0x20)" (( "(") (binary_expression "*(byte *)(iVar4 + 0x2b) & 0x20" (pointer_expression "*(byte *)(iVar4 + 0x2b)" (* "*") (cast_expression "(byte *)(iVar4 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2b)" (( "(") (binary_expression "iVar4 + 0x2b" (identifier "iVar4") (+ "+") (number_literal "0x2b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (labeled_statement "LAB_00195504:\n    asStack_7c[7] = 0x195514;" (statement_identifier "LAB_00195504") (: ":") (expression_statement "asStack_7c[7] = 0x195514;" (assignment_expression "asStack_7c[7] = 0x195514" (subscript_expression "asStack_7c[7]" (identifier "asStack_7c") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x195514")) (; ";"))) (expression_statement "cVar2 = FUN_00169d70();" (assignment_expression "cVar2 = FUN_00169d70()" (identifier "cVar2") (= "=") (call_expression "FUN_00169d70()" (identifier "FUN_00169d70") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar2 != '\0') {\n      return 0;\n    }" (if "if") (parenthesized_expression "(cVar2 != '\0')" (( "(") (binary_expression "cVar2 != '\0'" (identifier "cVar2") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {\n      return 1;\n    }" (if "if") (parenthesized_expression "(*(byte *)(iVar4 + 0x28) >> 4 != 2)" (( "(") (binary_expression "*(byte *)(iVar4 + 0x28) >> 4 != 2" (binary_expression "*(byte *)(iVar4 + 0x28) >> 4" (pointer_expression "*(byte *)(iVar4 + 0x28)" (* "*") (cast_expression "(byte *)(iVar4 + 0x28)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x28)" (( "(") (binary_expression "iVar4 + 0x28" (identifier "iVar4") (+ "+") (number_literal "0x28")) () ")")))) (>> ">>") (number_literal "4")) (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n      return 1;\n    }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (} "}")))) (expression_statement "ppcVar11 = local_4c;" (assignment_expression "ppcVar11 = local_4c" (identifier "ppcVar11") (= "=") (identifier "local_4c")) (; ";")) (expression_statement "pcVar3 = *(char **)(DAT_0038f378 + 8);" (assignment_expression "pcVar3 = *(char **)(DAT_0038f378 + 8)" (identifier "pcVar3") (= "=") (pointer_expression "*(char **)(DAT_0038f378 + 8)" (* "*") (cast_expression "(char **)(DAT_0038f378 + 8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (pcVar3 != (char *)0x0) {\n    ppcVar11 = local_4c;\n    if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }\n    iVar4 = *(int *)(DAT_0038f378 + 8);\n    if (iVar4 == 0) goto LAB_001958a7;\n    if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }\n    piVar9[2] = (int)piVar8;\n    piVar9[-4] = (int)__s;\n    piVar9[-5] = 0x195601;\n    sVar5 = strlen((char *)piVar9[-4]);\n    piVar9[-1] = 0;\n    piVar9[-2] = (int)(__s + sVar5);\n    piVar9[-3] = (int)__s;\n    piVar9[-4] = (int)((int *)ppcVar11 + 6);\n    piVar9[-5] = 0x195610;\n    FUN_00050e40();\n    piVar9[-2] = (int)((int *)ppcVar11 + 6);\n    piVar9[-3] = piVar9[1] + 0x40;\n    piVar9[-4] = *piVar9;\n    piVar9[-5] = 0x195625;\n    FUN_000ba920();\n    iVar4 = piVar9[2];\n    if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }\n    ppcVar11 = (char **)(piVar9 + -1);\n    if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }\n    if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }\n  }" (if "if") (parenthesized_expression "(pcVar3 != (char *)0x0)" (( "(") (binary_expression "pcVar3 != (char *)0x0" (identifier "pcVar3") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    ppcVar11 = local_4c;\n    if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }\n    iVar4 = *(int *)(DAT_0038f378 + 8);\n    if (iVar4 == 0) goto LAB_001958a7;\n    if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }\n    piVar9[2] = (int)piVar8;\n    piVar9[-4] = (int)__s;\n    piVar9[-5] = 0x195601;\n    sVar5 = strlen((char *)piVar9[-4]);\n    piVar9[-1] = 0;\n    piVar9[-2] = (int)(__s + sVar5);\n    piVar9[-3] = (int)__s;\n    piVar9[-4] = (int)((int *)ppcVar11 + 6);\n    piVar9[-5] = 0x195610;\n    FUN_00050e40();\n    piVar9[-2] = (int)((int *)ppcVar11 + 6);\n    piVar9[-3] = piVar9[1] + 0x40;\n    piVar9[-4] = *piVar9;\n    piVar9[-5] = 0x195625;\n    FUN_000ba920();\n    iVar4 = piVar9[2];\n    if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }\n    ppcVar11 = (char **)(piVar9 + -1);\n    if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }\n    if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }\n  }" ({ "{") (expression_statement "ppcVar11 = local_4c;" (assignment_expression "ppcVar11 = local_4c" (identifier "ppcVar11") (= "=") (identifier "local_4c")) (; ";")) (if_statement "if (*(int *)(pcVar3 + 0x4294) != 0) {\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }" (if "if") (parenthesized_expression "(*(int *)(pcVar3 + 0x4294) != 0)" (( "(") (binary_expression "*(int *)(pcVar3 + 0x4294) != 0" (pointer_expression "*(int *)(pcVar3 + 0x4294)" (* "*") (cast_expression "(int *)(pcVar3 + 0x4294)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar3 + 0x4294)" (( "(") (binary_expression "pcVar3 + 0x4294" (identifier "pcVar3") (+ "+") (number_literal "0x4294")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_4c[0] = local_2c;\n      asStack_7c[7] = 0x195715;\n      local_4c[1] = pcVar3;\n      local_34 = local_4c[0];\n      strlen(__s);\n      local_50 = 0;\n      asStack_7c[7] = 0x195724;\n      FUN_00050e40();\n      asStack_7c[7] = 0x19573d;\n      FUN_000ba920();\n      ppcVar11 = (char **)&local_50;\n      if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }\n      if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }\n    }" ({ "{") (expression_statement "local_4c[0] = local_2c;" (assignment_expression "local_4c[0] = local_2c" (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_2c")) (; ";")) (expression_statement "asStack_7c[7] = 0x195715;" (assignment_expression "asStack_7c[7] = 0x195715" (subscript_expression "asStack_7c[7]" (identifier "asStack_7c") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x195715")) (; ";")) (expression_statement "local_4c[1] = pcVar3;" (assignment_expression "local_4c[1] = pcVar3" (subscript_expression "local_4c[1]" (identifier "local_4c") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "pcVar3")) (; ";")) (expression_statement "local_34 = local_4c[0];" (assignment_expression "local_34 = local_4c[0]" (identifier "local_34") (= "=") (subscript_expression "local_4c[0]" (identifier "local_4c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "strlen(__s);" (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")"))) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "asStack_7c[7] = 0x195724;" (assignment_expression "asStack_7c[7] = 0x195724" (subscript_expression "asStack_7c[7]" (identifier "asStack_7c") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x195724")) (; ";")) (expression_statement "FUN_00050e40();" (call_expression "FUN_00050e40()" (identifier "FUN_00050e40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "asStack_7c[7] = 0x19573d;" (assignment_expression "asStack_7c[7] = 0x19573d" (subscript_expression "asStack_7c[7]" (identifier "asStack_7c") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0x19573d")) (; ";")) (expression_statement "FUN_000ba920();" (call_expression "FUN_000ba920()" (identifier "FUN_000ba920") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppcVar11 = (char **)&local_50;" (assignment_expression "ppcVar11 = (char **)&local_50" (identifier "ppcVar11") (= "=") (cast_expression "(char **)&local_50" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&local_50" (& "&") (identifier "local_50")))) (; ";")) (if_statement "if (local_44 != 0) {\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }" (if "if") (parenthesized_expression "(local_44 != 0)" (( "(") (binary_expression "local_44 != 0" (identifier "local_44") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }\n        pcVar3 = "-u ";\n        psVar10 = asStack_7c + 7;\n        asStack_7c[7] = 3;\n        goto LAB_0019576e;\n      }" ({ "{") (if_statement "if (local_40[2] != local_50) {\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }" (if "if") (parenthesized_expression "(local_40[2] != local_50)" (( "(") (binary_expression "local_40[2] != local_50" (subscript_expression "local_40[2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]")) (!= "!=") (identifier "local_50")) () ")")) (compound_statement "{\n          asStack_7c[7] = local_40[2];\n          FUN_001e6db0();\n        }" ({ "{") (expression_statement "asStack_7c[7] = local_40[2];" (assignment_expression "asStack_7c[7] = local_40[2]" (subscript_expression "asStack_7c[7]" (identifier "asStack_7c") ([ "[") (number_literal "7") (] "]")) (= "=") (subscript_expression "local_40[2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" (identifier "FUN_001e6db0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar3 = "-u ";" (assignment_expression "pcVar3 = "-u "" (identifier "pcVar3") (= "=") (string_literal ""-u "" (" """) (string_content "-u ") (" """))) (; ";")) (expression_statement "psVar10 = asStack_7c + 7;" (assignment_expression "psVar10 = asStack_7c + 7" (identifier "psVar10") (= "=") (binary_expression "asStack_7c + 7" (identifier "asStack_7c") (+ "+") (number_literal "7"))) (; ";")) (expression_statement "asStack_7c[7] = 3;" (assignment_expression "asStack_7c[7] = 3" (subscript_expression "asStack_7c[7]" (identifier "asStack_7c") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "3")) (; ";")) (goto_statement "goto LAB_0019576e;" (goto "goto") (statement_identifier "LAB_0019576e") (; ";")) (} "}"))) (if_statement "if (local_40[2] != local_50) {\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }" (if "if") (parenthesized_expression "(local_40[2] != local_50)" (( "(") (binary_expression "local_40[2] != local_50" (subscript_expression "local_40[2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]")) (!= "!=") (identifier "local_50")) () ")")) (compound_statement "{\n        asStack_7c[7] = local_40[2];\n        FUN_001e6db0();\n        ppcVar11 = (char **)&local_50;\n      }" ({ "{") (expression_statement "asStack_7c[7] = local_40[2];" (assignment_expression "asStack_7c[7] = local_40[2]" (subscript_expression "asStack_7c[7]" (identifier "asStack_7c") ([ "[") (number_literal "7") (] "]")) (= "=") (subscript_expression "local_40[2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" (identifier "FUN_001e6db0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppcVar11 = (char **)&local_50;" (assignment_expression "ppcVar11 = (char **)&local_50" (identifier "ppcVar11") (= "=") (cast_expression "(char **)&local_50" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&local_50" (& "&") (identifier "local_50")))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar4 = *(int *)(DAT_0038f378 + 8);" (assignment_expression "iVar4 = *(int *)(DAT_0038f378 + 8)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_001958a7;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001958a7;" (goto "goto") (statement_identifier "LAB_001958a7") (; ";"))) (if_statement "if (*(int *)(iVar4 + 0x1344) == 0) {\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }\n    else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x1344) == 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x1344) == 0" (pointer_expression "*(int *)(iVar4 + 0x1344)" (* "*") (cast_expression "(int *)(iVar4 + 0x1344)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1344)" (( "(") (binary_expression "iVar4 + 0x1344" (identifier "iVar4") (+ "+") (number_literal "0x1344")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      piVar8 = (int *)ppcVar11 + 8;\n      ((int *)ppcVar11)[6] = (int)piVar8;\n      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      piVar9 = (int *)ppcVar11;\n    }" ({ "{") (expression_statement "piVar8 = (int *)ppcVar11 + 8;" (assignment_expression "piVar8 = (int *)ppcVar11 + 8" (identifier "piVar8") (= "=") (binary_expression "(int *)ppcVar11 + 8" (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "8"))) (; ";")) (expression_statement "((int *)ppcVar11)[6] = (int)piVar8;" (assignment_expression "((int *)ppcVar11)[6] = (int)piVar8" (subscript_expression "((int *)ppcVar11)[6]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(int)piVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar8"))) (; ";")) (expression_statement "((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);" (assignment_expression "((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4)" (subscript_expression "((int *)ppcVar11)[1]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "1") (] "]")) (= "=") (pointer_expression "*(int *)(((int *)ppcVar11)[0x15] + 4)" (* "*") (cast_expression "(int *)(((int *)ppcVar11)[0x15] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((int *)ppcVar11)[0x15] + 4)" (( "(") (binary_expression "((int *)ppcVar11)[0x15] + 4" (subscript_expression "((int *)ppcVar11)[0x15]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "0x15") (] "]")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*ppcVar11 = (char *)((int *)ppcVar11 + 3);" (assignment_expression "*ppcVar11 = (char *)((int *)ppcVar11 + 3)" (pointer_expression "*ppcVar11" (* "*") (identifier "ppcVar11")) (= "=") (cast_expression "(char *)((int *)ppcVar11 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int *)ppcVar11 + 3)" (( "(") (binary_expression "(int *)ppcVar11 + 3" (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "piVar9 = (int *)ppcVar11;" (assignment_expression "piVar9 = (int *)ppcVar11" (identifier "piVar9") (= "=") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11"))) (; ";")) (} "}")) (else_clause "else {\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }" (else "else") (compound_statement "{\n      ((int *)ppcVar11)[2] = iVar4;\n      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);\n      ((int *)ppcVar11)[-4] = (int)__s;\n      ((int *)ppcVar11)[-5] = 0x1957dd;\n      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);\n      ((int *)ppcVar11)[-1] = 0;\n      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);\n      ((int *)ppcVar11)[-3] = (int)__s;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-5] = 0x1957ec;\n      FUN_00050e40();\n      *ppcVar11 = (char *)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);\n      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;\n      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);\n      ((int *)ppcVar11)[-5] = 0x195809;\n      FUN_000ba920();\n      iVar4 = ((int *)ppcVar11)[5];\n      piVar8 = (int *)*ppcVar11;\n      if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }\n      if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }\n      piVar9 = (int *)ppcVar11 + -1;\n      ((int *)ppcVar11)[5] = (int)piVar8;\n      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);\n    }" ({ "{") (expression_statement "((int *)ppcVar11)[2] = iVar4;" (assignment_expression "((int *)ppcVar11)[2] = iVar4" (subscript_expression "((int *)ppcVar11)[2]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);" (assignment_expression "((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8)" (subscript_expression "((int *)ppcVar11)[6]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(int)((int *)ppcVar11 + 8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int *)ppcVar11 + 8)" (( "(") (binary_expression "(int *)ppcVar11 + 8" (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "8")) () ")")))) (; ";")) (expression_statement "((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);" (assignment_expression "((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8)" (subscript_expression "((int *)ppcVar11)[1]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(int)((int *)ppcVar11 + 8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int *)ppcVar11 + 8)" (( "(") (binary_expression "(int *)ppcVar11 + 8" (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "8")) () ")")))) (; ";")) (expression_statement "((int *)ppcVar11)[-4] = (int)__s;" (assignment_expression "((int *)ppcVar11)[-4] = (int)__s" (subscript_expression "((int *)ppcVar11)[-4]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s"))) (; ";")) (expression_statement "((int *)ppcVar11)[-5] = 0x1957dd;" (assignment_expression "((int *)ppcVar11)[-5] = 0x1957dd" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x1957dd")) (; ";")) (expression_statement "sVar5 = strlen((char *)((int *)ppcVar11)[-4]);" (assignment_expression "sVar5 = strlen((char *)((int *)ppcVar11)[-4])" (identifier "sVar5") (= "=") (call_expression "strlen((char *)((int *)ppcVar11)[-4])" (identifier "strlen") (argument_list "((char *)((int *)ppcVar11)[-4])" (( "(") (cast_expression "(char *)((int *)ppcVar11)[-4]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "((int *)ppcVar11)[-4]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-4") (] "]"))) () ")")))) (; ";")) (expression_statement "((int *)ppcVar11)[-1] = 0;" (assignment_expression "((int *)ppcVar11)[-1] = 0" (subscript_expression "((int *)ppcVar11)[-1]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "((int *)ppcVar11)[-2] = (int)(__s + sVar5);" (assignment_expression "((int *)ppcVar11)[-2] = (int)(__s + sVar5)" (subscript_expression "((int *)ppcVar11)[-2]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(int)(__s + sVar5)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(__s + sVar5)" (( "(") (binary_expression "__s + sVar5" (identifier "__s") (+ "+") (identifier "sVar5")) () ")")))) (; ";")) (expression_statement "((int *)ppcVar11)[-3] = (int)__s;" (assignment_expression "((int *)ppcVar11)[-3] = (int)__s" (subscript_expression "((int *)ppcVar11)[-3]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s"))) (; ";")) (expression_statement "((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);" (assignment_expression "((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6)" (subscript_expression "((int *)ppcVar11)[-4]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(int)((int *)ppcVar11 + 6)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int *)ppcVar11 + 6)" (( "(") (binary_expression "(int *)ppcVar11 + 6" (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (expression_statement "((int *)ppcVar11)[-5] = 0x1957ec;" (assignment_expression "((int *)ppcVar11)[-5] = 0x1957ec" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x1957ec")) (; ";")) (expression_statement "FUN_00050e40();" (call_expression "FUN_00050e40()" (identifier "FUN_00050e40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*ppcVar11 = (char *)((int *)ppcVar11 + 3);" (assignment_expression "*ppcVar11 = (char *)((int *)ppcVar11 + 3)" (pointer_expression "*ppcVar11" (* "*") (identifier "ppcVar11")) (= "=") (cast_expression "(char *)((int *)ppcVar11 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int *)ppcVar11 + 3)" (( "(") (binary_expression "(int *)ppcVar11 + 3" (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);" (assignment_expression "((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6)" (subscript_expression "((int *)ppcVar11)[-2]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(int)((int *)ppcVar11 + 6)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int *)ppcVar11 + 6)" (( "(") (binary_expression "(int *)ppcVar11 + 6" (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (expression_statement "((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;" (assignment_expression "((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338" (subscript_expression "((int *)ppcVar11)[-3]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-3") (] "]")) (= "=") (binary_expression "((int *)ppcVar11)[2] + 0x1338" (subscript_expression "((int *)ppcVar11)[2]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0x1338"))) (; ";")) (expression_statement "((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);" (assignment_expression "((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3)" (subscript_expression "((int *)ppcVar11)[-4]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(int)((int *)ppcVar11 + 3)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int *)ppcVar11 + 3)" (( "(") (binary_expression "(int *)ppcVar11 + 3" (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "((int *)ppcVar11)[-5] = 0x195809;" (assignment_expression "((int *)ppcVar11)[-5] = 0x195809" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x195809")) (; ";")) (expression_statement "FUN_000ba920();" (call_expression "FUN_000ba920()" (identifier "FUN_000ba920") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar4 = ((int *)ppcVar11)[5];" (assignment_expression "iVar4 = ((int *)ppcVar11)[5]" (identifier "iVar4") (= "=") (subscript_expression "((int *)ppcVar11)[5]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "piVar8 = (int *)*ppcVar11;" (assignment_expression "piVar8 = (int *)*ppcVar11" (identifier "piVar8") (= "=") (cast_expression "(int *)*ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*ppcVar11" (* "*") (identifier "ppcVar11")))) (; ";")) (if_statement "if (((int *)ppcVar11)[2] != 0) {\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }" (if "if") (parenthesized_expression "(((int *)ppcVar11)[2] != 0)" (( "(") (binary_expression "((int *)ppcVar11)[2] != 0" (subscript_expression "((int *)ppcVar11)[2]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }\n        pcVar3 = "--export-dynamic-symbol ";\n        psVar10 = (size_t *)((int *)ppcVar11 + -5);\n        ((int *)ppcVar11)[-5] = 0x18;\n        goto LAB_0019576e;\n      }" ({ "{") (if_statement "if ((int *)iVar4 != piVar8) {\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }" (if "if") (parenthesized_expression "((int *)iVar4 != piVar8)" (( "(") (binary_expression "(int *)iVar4 != piVar8" (cast_expression "(int *)iVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar4")) (!= "!=") (identifier "piVar8")) () ")")) (compound_statement "{\n          ((int *)ppcVar11)[-5] = iVar4;\n          ((int *)ppcVar11)[-6] = 0x195839;\n          FUN_001e6db0();\n        }" ({ "{") (expression_statement "((int *)ppcVar11)[-5] = iVar4;" (assignment_expression "((int *)ppcVar11)[-5] = iVar4" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-5") (] "]")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "((int *)ppcVar11)[-6] = 0x195839;" (assignment_expression "((int *)ppcVar11)[-6] = 0x195839" (subscript_expression "((int *)ppcVar11)[-6]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-6") (] "]")) (= "=") (number_literal "0x195839")) (; ";")) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" (identifier "FUN_001e6db0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar3 = "--export-dynamic-symbol ";" (assignment_expression "pcVar3 = "--export-dynamic-symbol "" (identifier "pcVar3") (= "=") (string_literal ""--export-dynamic-symbol "" (" """) (string_content "--export-dynamic-symbol ") (" """))) (; ";")) (expression_statement "psVar10 = (size_t *)((int *)ppcVar11 + -5);" (assignment_expression "psVar10 = (size_t *)((int *)ppcVar11 + -5)" (identifier "psVar10") (= "=") (cast_expression "(size_t *)((int *)ppcVar11 + -5)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int *)ppcVar11 + -5)" (( "(") (binary_expression "(int *)ppcVar11 + -5" (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "-5")) () ")")))) (; ";")) (expression_statement "((int *)ppcVar11)[-5] = 0x18;" (assignment_expression "((int *)ppcVar11)[-5] = 0x18" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x18")) (; ";")) (goto_statement "goto LAB_0019576e;" (goto "goto") (statement_identifier "LAB_0019576e") (; ";")) (} "}"))) (if_statement "if ((int *)iVar4 != piVar8) {\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }" (if "if") (parenthesized_expression "((int *)iVar4 != piVar8)" (( "(") (binary_expression "(int *)iVar4 != piVar8" (cast_expression "(int *)iVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar4")) (!= "!=") (identifier "piVar8")) () ")")) (compound_statement "{\n        *ppcVar11 = (char *)piVar8;\n        ((int *)ppcVar11)[-5] = iVar4;\n        ((int *)ppcVar11)[-6] = 0x195881;\n        FUN_001e6db0();\n        piVar8 = (int *)*ppcVar11;\n      }" ({ "{") (expression_statement "*ppcVar11 = (char *)piVar8;" (assignment_expression "*ppcVar11 = (char *)piVar8" (pointer_expression "*ppcVar11" (* "*") (identifier "ppcVar11")) (= "=") (cast_expression "(char *)piVar8" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar8"))) (; ";")) (expression_statement "((int *)ppcVar11)[-5] = iVar4;" (assignment_expression "((int *)ppcVar11)[-5] = iVar4" (subscript_expression "((int *)ppcVar11)[-5]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-5") (] "]")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "((int *)ppcVar11)[-6] = 0x195881;" (assignment_expression "((int *)ppcVar11)[-6] = 0x195881" (subscript_expression "((int *)ppcVar11)[-6]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "-6") (] "]")) (= "=") (number_literal "0x195881")) (; ";")) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" (identifier "FUN_001e6db0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar8 = (int *)*ppcVar11;" (assignment_expression "piVar8 = (int *)*ppcVar11" (identifier "piVar8") (= "=") (cast_expression "(int *)*ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*ppcVar11" (* "*") (identifier "ppcVar11")))) (; ";")) (} "}"))) (expression_statement "piVar9 = (int *)ppcVar11 + -1;" (assignment_expression "piVar9 = (int *)ppcVar11 + -1" (identifier "piVar9") (= "=") (binary_expression "(int *)ppcVar11 + -1" (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "((int *)ppcVar11)[5] = (int)piVar8;" (assignment_expression "((int *)ppcVar11)[5] = (int)piVar8" (subscript_expression "((int *)ppcVar11)[5]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(int)piVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar8"))) (; ";")) (expression_statement "*ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);" (assignment_expression "*ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4)" (pointer_expression "*ppcVar11" (* "*") (identifier "ppcVar11")) (= "=") (cast_expression "(char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*(undefined4 *)(((int *)ppcVar11)[0x14] + 4)" (* "*") (cast_expression "(undefined4 *)(((int *)ppcVar11)[0x14] + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((int *)ppcVar11)[0x14] + 4)" (( "(") (binary_expression "((int *)ppcVar11)[0x14] + 4" (subscript_expression "((int *)ppcVar11)[0x14]" (parenthesized_expression "((int *)ppcVar11)" (( "(") (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) () ")")) ([ "[") (number_literal "0x14") (] "]")) (+ "+") (number_literal "4")) () ")")))))) (; ";")) (} "}")))) (expression_statement "piVar9[2] = (int)piVar8;" (assignment_expression "piVar9[2] = (int)piVar8" (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int)piVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar8"))) (; ";")) (expression_statement "piVar9[-4] = (int)__s;" (assignment_expression "piVar9[-4] = (int)__s" (subscript_expression "piVar9[-4]" (identifier "piVar9") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s"))) (; ";")) (expression_statement "piVar9[-5] = 0x195601;" (assignment_expression "piVar9[-5] = 0x195601" (subscript_expression "piVar9[-5]" (identifier "piVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x195601")) (; ";")) (expression_statement "sVar5 = strlen((char *)piVar9[-4]);" (assignment_expression "sVar5 = strlen((char *)piVar9[-4])" (identifier "sVar5") (= "=") (call_expression "strlen((char *)piVar9[-4])" (identifier "strlen") (argument_list "((char *)piVar9[-4])" (( "(") (cast_expression "(char *)piVar9[-4]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar9[-4]" (identifier "piVar9") ([ "[") (number_literal "-4") (] "]"))) () ")")))) (; ";")) (expression_statement "piVar9[-1] = 0;" (assignment_expression "piVar9[-1] = 0" (subscript_expression "piVar9[-1]" (identifier "piVar9") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[-2] = (int)(__s + sVar5);" (assignment_expression "piVar9[-2] = (int)(__s + sVar5)" (subscript_expression "piVar9[-2]" (identifier "piVar9") ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(int)(__s + sVar5)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(__s + sVar5)" (( "(") (binary_expression "__s + sVar5" (identifier "__s") (+ "+") (identifier "sVar5")) () ")")))) (; ";")) (expression_statement "piVar9[-3] = (int)__s;" (assignment_expression "piVar9[-3] = (int)__s" (subscript_expression "piVar9[-3]" (identifier "piVar9") ([ "[") (number_literal "-3") (] "]")) (= "=") (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s"))) (; ";")) (expression_statement "piVar9[-4] = (int)((int *)ppcVar11 + 6);" (assignment_expression "piVar9[-4] = (int)((int *)ppcVar11 + 6)" (subscript_expression "piVar9[-4]" (identifier "piVar9") ([ "[") (number_literal "-4") (] "]")) (= "=") (cast_expression "(int)((int *)ppcVar11 + 6)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int *)ppcVar11 + 6)" (( "(") (binary_expression "(int *)ppcVar11 + 6" (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (expression_statement "piVar9[-5] = 0x195610;" (assignment_expression "piVar9[-5] = 0x195610" (subscript_expression "piVar9[-5]" (identifier "piVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x195610")) (; ";")) (expression_statement "FUN_00050e40();" (call_expression "FUN_00050e40()" (identifier "FUN_00050e40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar9[-2] = (int)((int *)ppcVar11 + 6);" (assignment_expression "piVar9[-2] = (int)((int *)ppcVar11 + 6)" (subscript_expression "piVar9[-2]" (identifier "piVar9") ([ "[") (number_literal "-2") (] "]")) (= "=") (cast_expression "(int)((int *)ppcVar11 + 6)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int *)ppcVar11 + 6)" (( "(") (binary_expression "(int *)ppcVar11 + 6" (cast_expression "(int *)ppcVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (expression_statement "piVar9[-3] = piVar9[1] + 0x40;" (assignment_expression "piVar9[-3] = piVar9[1] + 0x40" (subscript_expression "piVar9[-3]" (identifier "piVar9") ([ "[") (number_literal "-3") (] "]")) (= "=") (binary_expression "piVar9[1] + 0x40" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "piVar9[-4] = *piVar9;" (assignment_expression "piVar9[-4] = *piVar9" (subscript_expression "piVar9[-4]" (identifier "piVar9") ([ "[") (number_literal "-4") (] "]")) (= "=") (pointer_expression "*piVar9" (* "*") (identifier "piVar9"))) (; ";")) (expression_statement "piVar9[-5] = 0x195625;" (assignment_expression "piVar9[-5] = 0x195625" (subscript_expression "piVar9[-5]" (identifier "piVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x195625")) (; ";")) (expression_statement "FUN_000ba920();" (call_expression "FUN_000ba920()" (identifier "FUN_000ba920") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar4 = piVar9[2];" (assignment_expression "iVar4 = piVar9[2]" (identifier "iVar4") (= "=") (subscript_expression "piVar9[2]" (identifier "piVar9") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (piVar9[5] != piVar9[1]) {\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }" (if "if") (parenthesized_expression "(piVar9[5] != piVar9[1])" (( "(") (binary_expression "piVar9[5] != piVar9[1]" (subscript_expression "piVar9[5]" (identifier "piVar9") ([ "[") (number_literal "5") (] "]")) (!= "!=") (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]"))) () ")")) (compound_statement "{\n      piVar9[-5] = piVar9[5];\n      piVar9[-6] = 0x195641;\n      FUN_001e6db0();\n    }" ({ "{") (expression_statement "piVar9[-5] = piVar9[5];" (assignment_expression "piVar9[-5] = piVar9[5]" (subscript_expression "piVar9[-5]" (identifier "piVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (subscript_expression "piVar9[5]" (identifier "piVar9") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "piVar9[-6] = 0x195641;" (assignment_expression "piVar9[-6] = 0x195641" (subscript_expression "piVar9[-6]" (identifier "piVar9") ([ "[") (number_literal "-6") (] "]")) (= "=") (number_literal "0x195641")) (; ";")) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" (identifier "FUN_001e6db0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppcVar11 = (char **)(piVar9 + -1);" (assignment_expression "ppcVar11 = (char **)(piVar9 + -1)" (identifier "ppcVar11") (= "=") (cast_expression "(char **)(piVar9 + -1)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar9 + -1)" (( "(") (binary_expression "piVar9 + -1" (identifier "piVar9") (+ "+") (number_literal "-1")) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      piVar9[-5] = (int)__s;\n      piVar9[-6] = 0x195699;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5 + 100;\n      piVar9[-6] = 0x1956a4;\n      uVar6 = FUN_001e5180();\n      piVar9[-5] = (int)"script or expression reference to %s";\n      piVar9[-6] = 0x1956b4;\n      uVar7 = gettext();\n      piVar9[-6] = (int)__s;\n      piVar9[-7] = uVar7;\n      piVar9[-8] = sVar5 + 100;\n      piVar9[-9] = uVar6;\n      piVar9[-10] = 0x1956bd;\n      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956c6;\n      sVar5 = strlen((char *)piVar9[-5]);\n      piVar9[-5] = sVar5;\n      piVar9[-6] = uVar6;\n      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);\n      piVar9[-8] = 0;\n      piVar9[-9] = piVar9[0x17];\n      piVar9[-10] = 0x1956dc;\n      FUN_001ef9f0();\n      piVar9[-5] = uVar6;\n      piVar9[-6] = 0x1956e5;\n      FUN_001e6d50();\n      return 1;\n    }" ({ "{") (expression_statement "piVar9[-5] = (int)__s;" (assignment_expression "piVar9[-5] = (int)__s" (subscript_expression "piVar9[-5]" (identifier "piVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s"))) (; ";")) (expression_statement "piVar9[-6] = 0x195699;" (assignment_expression "piVar9[-6] = 0x195699" (subscript_expression "piVar9[-6]" (identifier "piVar9") ([ "[") (number_literal "-6") (] "]")) (= "=") (number_literal "0x195699")) (; ";")) (expression_statement "sVar5 = strlen((char *)piVar9[-5]);" (assignment_expression "sVar5 = strlen((char *)piVar9[-5])" (identifier "sVar5") (= "=") (call_expression "strlen((char *)piVar9[-5])" (identifier "strlen") (argument_list "((char *)piVar9[-5])" (( "(") (cast_expression "(char *)piVar9[-5]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar9[-5]" (identifier "piVar9") ([ "[") (number_literal "-5") (] "]"))) () ")")))) (; ";")) (expression_statement "piVar9[-5] = sVar5 + 100;" (assignment_expression "piVar9[-5] = sVar5 + 100" (subscript_expression "piVar9[-5]" (identifier "piVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (binary_expression "sVar5 + 100" (identifier "sVar5") (+ "+") (number_literal "100"))) (; ";")) (expression_statement "piVar9[-6] = 0x1956a4;" (assignment_expression "piVar9[-6] = 0x1956a4" (subscript_expression "piVar9[-6]" (identifier "piVar9") ([ "[") (number_literal "-6") (] "]")) (= "=") (number_literal "0x1956a4")) (; ";")) (expression_statement "uVar6 = FUN_001e5180();" (assignment_expression "uVar6 = FUN_001e5180()" (identifier "uVar6") (= "=") (call_expression "FUN_001e5180()" (identifier "FUN_001e5180") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar9[-5] = (int)"script or expression reference to %s";" (assignment_expression "piVar9[-5] = (int)"script or expression reference to %s"" (subscript_expression "piVar9[-5]" (identifier "piVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(int)"script or expression reference to %s"" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (string_literal ""script or expression reference to %s"" (" """) (string_content "script or expression reference to %s") (" """)))) (; ";")) (expression_statement "piVar9[-6] = 0x1956b4;" (assignment_expression "piVar9[-6] = 0x1956b4" (subscript_expression "piVar9[-6]" (identifier "piVar9") ([ "[") (number_literal "-6") (] "]")) (= "=") (number_literal "0x1956b4")) (; ";")) (expression_statement "uVar7 = gettext();" (assignment_expression "uVar7 = gettext()" (identifier "uVar7") (= "=") (call_expression "gettext()" (identifier "gettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar9[-6] = (int)__s;" (assignment_expression "piVar9[-6] = (int)__s" (subscript_expression "piVar9[-6]" (identifier "piVar9") ([ "[") (number_literal "-6") (] "]")) (= "=") (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s"))) (; ";")) (expression_statement "piVar9[-7] = uVar7;" (assignment_expression "piVar9[-7] = uVar7" (subscript_expression "piVar9[-7]" (identifier "piVar9") ([ "[") (number_literal "-7") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "piVar9[-8] = sVar5 + 100;" (assignment_expression "piVar9[-8] = sVar5 + 100" (subscript_expression "piVar9[-8]" (identifier "piVar9") ([ "[") (number_literal "-8") (] "]")) (= "=") (binary_expression "sVar5 + 100" (identifier "sVar5") (+ "+") (number_literal "100"))) (; ";")) (expression_statement "piVar9[-9] = uVar6;" (assignment_expression "piVar9[-9] = uVar6" (subscript_expression "piVar9[-9]" (identifier "piVar9") ([ "[") (number_literal "-9") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "piVar9[-10] = 0x1956bd;" (assignment_expression "piVar9[-10] = 0x1956bd" (subscript_expression "piVar9[-10]" (identifier "piVar9") ([ "[") (number_literal "-10") (] "]")) (= "=") (number_literal "0x1956bd")) (; ";")) (expression_statement "snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);" (call_expression "snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7])" (identifier "snprintf") (argument_list "((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7])" (( "(") (cast_expression "(char *)piVar9[-9]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar9[-9]" (identifier "piVar9") ([ "[") (number_literal "-9") (] "]"))) (, ",") (subscript_expression "piVar9[-8]" (identifier "piVar9") ([ "[") (number_literal "-8") (] "]")) (, ",") (cast_expression "(char *)piVar9[-7]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar9[-7]" (identifier "piVar9") ([ "[") (number_literal "-7") (] "]"))) () ")"))) (; ";")) (expression_statement "piVar9[-5] = uVar6;" (assignment_expression "piVar9[-5] = uVar6" (subscript_expression "piVar9[-5]" (identifier "piVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "piVar9[-6] = 0x1956c6;" (assignment_expression "piVar9[-6] = 0x1956c6" (subscript_expression "piVar9[-6]" (identifier "piVar9") ([ "[") (number_literal "-6") (] "]")) (= "=") (number_literal "0x1956c6")) (; ";")) (expression_statement "sVar5 = strlen((char *)piVar9[-5]);" (assignment_expression "sVar5 = strlen((char *)piVar9[-5])" (identifier "sVar5") (= "=") (call_expression "strlen((char *)piVar9[-5])" (identifier "strlen") (argument_list "((char *)piVar9[-5])" (( "(") (cast_expression "(char *)piVar9[-5]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar9[-5]" (identifier "piVar9") ([ "[") (number_literal "-5") (] "]"))) () ")")))) (; ";")) (expression_statement "piVar9[-5] = sVar5;" (assignment_expression "piVar9[-5] = sVar5" (subscript_expression "piVar9[-5]" (identifier "piVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (identifier "sVar5")) (; ";")) (expression_statement "piVar9[-6] = uVar6;" (assignment_expression "piVar9[-6] = uVar6" (subscript_expression "piVar9[-6]" (identifier "piVar9") ([ "[") (number_literal "-6") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);" (assignment_expression "piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4)" (subscript_expression "piVar9[-7]" (identifier "piVar9") ([ "[") (number_literal "-7") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(piVar9[0x17] + 4)" (* "*") (cast_expression "(undefined4 *)(piVar9[0x17] + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9[0x17] + 4)" (( "(") (binary_expression "piVar9[0x17] + 4" (subscript_expression "piVar9[0x17]" (identifier "piVar9") ([ "[") (number_literal "0x17") (] "]")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "piVar9[-8] = 0;" (assignment_expression "piVar9[-8] = 0" (subscript_expression "piVar9[-8]" (identifier "piVar9") ([ "[") (number_literal "-8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar9[-9] = piVar9[0x17];" (assignment_expression "piVar9[-9] = piVar9[0x17]" (subscript_expression "piVar9[-9]" (identifier "piVar9") ([ "[") (number_literal "-9") (] "]")) (= "=") (subscript_expression "piVar9[0x17]" (identifier "piVar9") ([ "[") (number_literal "0x17") (] "]"))) (; ";")) (expression_statement "piVar9[-10] = 0x1956dc;" (assignment_expression "piVar9[-10] = 0x1956dc" (subscript_expression "piVar9[-10]" (identifier "piVar9") ([ "[") (number_literal "-10") (] "]")) (= "=") (number_literal "0x1956dc")) (; ";")) (expression_statement "FUN_001ef9f0();" (call_expression "FUN_001ef9f0()" (identifier "FUN_001ef9f0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar9[-5] = uVar6;" (assignment_expression "piVar9[-5] = uVar6" (subscript_expression "piVar9[-5]" (identifier "piVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "piVar9[-6] = 0x1956e5;" (assignment_expression "piVar9[-6] = 0x1956e5" (subscript_expression "piVar9[-6]" (identifier "piVar9") ([ "[") (number_literal "-6") (] "]")) (= "=") (number_literal "0x1956e5")) (; ";")) (expression_statement "FUN_001e6d50();" (call_expression "FUN_001e6d50()" (identifier "FUN_001e6d50") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if (*(int *)(DAT_0038f378 + 8) != 0) {\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }" (if "if") (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) != 0)" (( "(") (binary_expression "*(int *)(DAT_0038f378 + 8) != 0" (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }\n      return 2;\n    }" ({ "{") (if_statement "if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0'" (pointer_expression "*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d)" (* "*") (cast_expression "(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_0038f378 + 8) + 0x318d)" (( "(") (binary_expression "*(int *)(DAT_0038f378 + 8) + 0x318d" (pointer_expression "*(int *)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int *)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x318d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        psVar10 = (size_t *)(piVar9 + -5);\n        piVar9[-5] = DAT_0038f378;\n        piVar9[-6] = 0x195667;\n        iVar4 = FUN_00139510();\n        if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }\n      }" ({ "{") (expression_statement "psVar10 = (size_t *)(piVar9 + -5);" (assignment_expression "psVar10 = (size_t *)(piVar9 + -5)" (identifier "psVar10") (= "=") (cast_expression "(size_t *)(piVar9 + -5)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9 + -5)" (( "(") (binary_expression "piVar9 + -5" (identifier "piVar9") (+ "+") (number_literal "-5")) () ")")))) (; ";")) (expression_statement "piVar9[-5] = DAT_0038f378;" (assignment_expression "piVar9[-5] = DAT_0038f378" (subscript_expression "piVar9[-5]" (identifier "piVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (identifier "DAT_0038f378")) (; ";")) (expression_statement "piVar9[-6] = 0x195667;" (assignment_expression "piVar9[-6] = 0x195667" (subscript_expression "piVar9[-6]" (identifier "piVar9") ([ "[") (number_literal "-6") (] "]")) (= "=") (number_literal "0x195667")) (; ";")) (expression_statement "iVar4 = FUN_00139510();" (assignment_expression "iVar4 = FUN_00139510()" (identifier "iVar4") (= "=") (call_expression "FUN_00139510()" (identifier "FUN_00139510") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          piVar9[-4] = iVar4;\n          piVar9[-5] = (int)__s;\n          piVar9[-6] = 0x195678;\n          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);\n          if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }\n        }" ({ "{") (expression_statement "piVar9[-4] = iVar4;" (assignment_expression "piVar9[-4] = iVar4" (subscript_expression "piVar9[-4]" (identifier "piVar9") ([ "[") (number_literal "-4") (] "]")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "piVar9[-5] = (int)__s;" (assignment_expression "piVar9[-5] = (int)__s" (subscript_expression "piVar9[-5]" (identifier "piVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s"))) (; ";")) (expression_statement "piVar9[-6] = 0x195678;" (assignment_expression "piVar9[-6] = 0x195678" (subscript_expression "piVar9[-6]" (identifier "piVar9") ([ "[") (number_literal "-6") (] "]")) (= "=") (number_literal "0x195678")) (; ";")) (expression_statement "iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);" (assignment_expression "iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4])" (identifier "iVar4") (= "=") (call_expression "strcmp((char *)piVar9[-5],(char *)piVar9[-4])" (identifier "strcmp") (argument_list "((char *)piVar9[-5],(char *)piVar9[-4])" (( "(") (cast_expression "(char *)piVar9[-5]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar9[-5]" (identifier "piVar9") ([ "[") (number_literal "-5") (] "]"))) (, ",") (cast_expression "(char *)piVar9[-4]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar9[-4]" (identifier "piVar9") ([ "[") (number_literal "-4") (] "]"))) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar3 = "entry symbol ";\n            piVar9[-5] = 0xd;\nLAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;\n            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);\n            psVar10[-3] = 0;\n            psVar10[-4] = psVar10[0x1c];\n            psVar10[-5] = 0x195781;\n            FUN_001ef9f0();\n            *psVar10 = (size_t)__s;\n            psVar10[-1] = 0x19578a;\n            sVar5 = strlen((char *)*psVar10);\n            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }\n            *psVar10 = (size_t)"basic_string::append";\n                    \n            psVar10[-1] = (size_t)&UNK_001958cc;\n            FUN_0022c7a0();\n          }" ({ "{") (expression_statement "pcVar3 = "entry symbol ";" (assignment_expression "pcVar3 = "entry symbol "" (identifier "pcVar3") (= "=") (string_literal ""entry symbol "" (" """) (string_content "entry symbol ") (" """))) (; ";")) (expression_statement "piVar9[-5] = 0xd;" (assignment_expression "piVar9[-5] = 0xd" (subscript_expression "piVar9[-5]" (identifier "piVar9") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0xd")) (; ";")) (labeled_statement "LAB_0019576e:\n            psVar10[-1] = (size_t)pcVar3;" (statement_identifier "LAB_0019576e") (: ":") (expression_statement "psVar10[-1] = (size_t)pcVar3;" (assignment_expression "psVar10[-1] = (size_t)pcVar3" (subscript_expression "psVar10[-1]" (identifier "psVar10") ([ "[") (number_literal "-1") (] "]")) (= "=") (cast_expression "(size_t)pcVar3" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (identifier "pcVar3"))) (; ";"))) (expression_statement "psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);" (assignment_expression "psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4)" (subscript_expression "psVar10[-2]" (identifier "psVar10") ([ "[") (number_literal "-2") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(psVar10[0x1c] + 4)" (* "*") (cast_expression "(undefined4 *)(psVar10[0x1c] + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(psVar10[0x1c] + 4)" (( "(") (binary_expression "psVar10[0x1c] + 4" (subscript_expression "psVar10[0x1c]" (identifier "psVar10") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "psVar10[-3] = 0;" (assignment_expression "psVar10[-3] = 0" (subscript_expression "psVar10[-3]" (identifier "psVar10") ([ "[") (number_literal "-3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "psVar10[-4] = psVar10[0x1c];" (assignment_expression "psVar10[-4] = psVar10[0x1c]" (subscript_expression "psVar10[-4]" (identifier "psVar10") ([ "[") (number_literal "-4") (] "]")) (= "=") (subscript_expression "psVar10[0x1c]" (identifier "psVar10") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "psVar10[-5] = 0x195781;" (assignment_expression "psVar10[-5] = 0x195781" (subscript_expression "psVar10[-5]" (identifier "psVar10") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x195781")) (; ";")) (expression_statement "FUN_001ef9f0();" (call_expression "FUN_001ef9f0()" (identifier "FUN_001ef9f0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*psVar10 = (size_t)__s;" (assignment_expression "*psVar10 = (size_t)__s" (pointer_expression "*psVar10" (* "*") (identifier "psVar10")) (= "=") (cast_expression "(size_t)__s" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (identifier "__s"))) (; ";")) (expression_statement "psVar10[-1] = 0x19578a;" (assignment_expression "psVar10[-1] = 0x19578a" (subscript_expression "psVar10[-1]" (identifier "psVar10") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0x19578a")) (; ";")) (expression_statement "sVar5 = strlen((char *)*psVar10);" (assignment_expression "sVar5 = strlen((char *)*psVar10)" (identifier "sVar5") (= "=") (call_expression "strlen((char *)*psVar10)" (identifier "strlen") (argument_list "((char *)*psVar10)" (( "(") (cast_expression "(char *)*psVar10" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*psVar10" (* "*") (identifier "psVar10"))) () ")")))) (; ";")) (if_statement "if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }" (if "if") (parenthesized_expression "(sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4))" (( "(") (binary_expression "sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)" (identifier "sVar5") (<= "<=") (binary_expression "0x7fffffffU - *(int *)(psVar10[0x1c] + 4)" (number_literal "0x7fffffffU") (- "-") (pointer_expression "*(int *)(psVar10[0x1c] + 4)" (* "*") (cast_expression "(int *)(psVar10[0x1c] + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(psVar10[0x1c] + 4)" (( "(") (binary_expression "psVar10[0x1c] + 4" (subscript_expression "psVar10[0x1c]" (identifier "psVar10") ([ "[") (number_literal "0x1c") (] "]")) (+ "+") (number_literal "4")) () ")")))))) () ")")) (compound_statement "{\n              psVar10[2] = sVar5;\n              psVar10[1] = (size_t)__s;\n              *psVar10 = psVar10[0x1c];\n              psVar10[-1] = 0x1957af;\n              FUN_001f05c0();\n              return 1;\n            }" ({ "{") (expression_statement "psVar10[2] = sVar5;" (assignment_expression "psVar10[2] = sVar5" (subscript_expression "psVar10[2]" (identifier "psVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "sVar5")) (; ";")) (expression_statement "psVar10[1] = (size_t)__s;" (assignment_expression "psVar10[1] = (size_t)__s" (subscript_expression "psVar10[1]" (identifier "psVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(size_t)__s" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (identifier "__s"))) (; ";")) (expression_statement "*psVar10 = psVar10[0x1c];" (assignment_expression "*psVar10 = psVar10[0x1c]" (pointer_expression "*psVar10" (* "*") (identifier "psVar10")) (= "=") (subscript_expression "psVar10[0x1c]" (identifier "psVar10") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "psVar10[-1] = 0x1957af;" (assignment_expression "psVar10[-1] = 0x1957af" (subscript_expression "psVar10[-1]" (identifier "psVar10") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0x1957af")) (; ";")) (expression_statement "FUN_001f05c0();" (call_expression "FUN_001f05c0()" (identifier "FUN_001f05c0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "*psVar10 = (size_t)"basic_string::append";" (assignment_expression "*psVar10 = (size_t)"basic_string::append"" (pointer_expression "*psVar10" (* "*") (identifier "psVar10")) (= "=") (cast_expression "(size_t)"basic_string::append"" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (string_literal ""basic_string::append"" (" """) (string_content "basic_string::append") (" """)))) (; ";")) (expression_statement "psVar10[-1] = (size_t)&UNK_001958cc;" (assignment_expression "psVar10[-1] = (size_t)&UNK_001958cc" (subscript_expression "psVar10[-1]" (identifier "psVar10") ([ "[") (number_literal "-1") (] "]")) (= "=") (cast_expression "(size_t)&UNK_001958cc" (( "(") (type_descriptor "size_t" (primitive_type "size_t")) () ")") (pointer_expression "&UNK_001958cc" (& "&") (identifier "UNK_001958cc")))) (; ";")) (expression_statement "FUN_0022c7a0();" (call_expression "FUN_0022c7a0()" (identifier "FUN_0022c7a0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (return_statement "return 2;" (return "return") (number_literal "2") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_001958a7:\n  *(int **)((int)ppcVar11 + -4) = &DAT_0038f378;" (statement_identifier "LAB_001958a7") (: ":") (expression_statement "*(int **)((int)ppcVar11 + -4) = &DAT_0038f378;" (assignment_expression "*(int **)((int)ppcVar11 + -4) = &DAT_0038f378" (pointer_expression "*(int **)((int)ppcVar11 + -4)" (* "*") (cast_expression "(int **)((int)ppcVar11 + -4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar11 + -4)" (( "(") (binary_expression "(int)ppcVar11 + -4" (cast_expression "(int)ppcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&DAT_0038f378" (& "&") (identifier "DAT_0038f378"))) (; ";"))) (expression_statement "*(char **)((int)ppcVar11 + -8) = "options";" (assignment_expression "*(char **)((int)ppcVar11 + -8) = "options"" (pointer_expression "*(char **)((int)ppcVar11 + -8)" (* "*") (cast_expression "(char **)((int)ppcVar11 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar11 + -8)" (( "(") (binary_expression "(int)ppcVar11 + -8" (cast_expression "(int)ppcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (string_literal ""options"" (" """) (string_content "options") (" """))) (; ";")) (expression_statement "*(undefined4 *)((int)ppcVar11 + -0xc) = 0x5c;" (assignment_expression "*(undefined4 *)((int)ppcVar11 + -0xc) = 0x5c" (pointer_expression "*(undefined4 *)((int)ppcVar11 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppcVar11 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppcVar11 + -0xc)" (( "(") (binary_expression "(int)ppcVar11 + -0xc" (cast_expression "(int)ppcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c")) (; ";")) (expression_statement "*(char **)((int)ppcVar11 + -0x10) = "../../gold/parameters.h";" (assignment_expression "*(char **)((int)ppcVar11 + -0x10) = "../../gold/parameters.h"" (pointer_expression "*(char **)((int)ppcVar11 + -0x10)" (* "*") (cast_expression "(char **)((int)ppcVar11 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppcVar11 + -0x10)" (( "(") (binary_expression "(int)ppcVar11 + -0x10" (cast_expression "(int)ppcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """))) (; ";")) (expression_statement "*(undefined4 *)((int)ppcVar11 + -0x14) = 0x1958bd;" (assignment_expression "*(undefined4 *)((int)ppcVar11 + -0x14) = 0x1958bd" (pointer_expression "*(undefined4 *)((int)ppcVar11 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppcVar11 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppcVar11 + -0x14)" (( "(") (binary_expression "(int)ppcVar11 + -0x14" (cast_expression "(int)ppcVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppcVar11")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1958bd")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */

type_1
gold::Library_base::function_1
          (type_2 *symtab,type_3 *layout,char *sym_name,type_4 **symp,type_5 *why,
          char **tmpbufp,size_t *tmpbuflen)

{
  type_6 *var_17;
  type_7 var_11;
  bool bVar3;
  char *var_8;
  type_4 *var_10;
  char *var_21;
  int var_33;
  char *__format;
  size_t var_12;
  type_8 var_13;
  anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
  *var_5;
  int *piVar10;
  type_9 *local_48;
  int local_40 [3];
  basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3> var_6;
  type_10 uStack_14;
  
  uStack_14 = 0x1953f9;
  var_8 = var_7(sym_name,0x40);
  var_21 = sym_name;
  if (var_8 == (char *)0x0) {
LAB_00195455:
    var_10 = type_2::var_9(symtab,var_21,var_8);
    *symp = var_10;
joined_r0x00195596:
    if (var_10 != (type_4 *)0x0) {
      var_11 = var_10->field_0x2a & 7;
      if (var_11 == 0) goto LAB_00195481;
LAB_00195500:
      if (var_11 != 4) {
        return SHOULD_INCLUDE_NO;
      }
      goto LAB_00195504;
    }
  }
  else {
    var_12 = (int)var_8 - (int)sym_name;
    var_21 = *tmpbufp;
    var_13 = var_12 + 1;
    if (*tmpbuflen < var_13) {
      var_21 = (char *)var_14(var_21,var_13);
      *tmpbufp = var_21;
      *tmpbuflen = var_13;
    }
    var_15(var_21,sym_name,var_12);
    var_21[var_12] = '\0';
    if (var_8[1] != '@') {
      var_8 = var_8 + 1;
      goto LAB_00195455;
    }
    var_10 = type_2::var_9(symtab,var_21,var_8 + 2);
    if (var_10 == (type_4 *)0x0) {
LAB_00195578:
      var_10 = type_2::var_9(symtab,var_21,(char *)0x0);
      *symp = var_10;
      goto joined_r0x00195596;
    }
    var_11 = var_10->field_0x2a & 7;
    if ((var_10->field_0x2a & 7) != 0) {
      if (var_11 == 4) goto LAB_001954e0;
      goto LAB_00195578;
    }
    if (((var_10->u2_).shndx != 0) || ((var_10->field_0x2b & 0x20) == 0)) goto LAB_00195578;
LAB_001954e0:
    if ((type_7)var_10->field_0x28 >> 4 == 2) goto LAB_00195578;
    *symp = var_10;
    if (var_11 != 0) goto LAB_00195500;
LAB_00195481:
    if ((var_10->u2_).shndx != 0) {
      return SHOULD_INCLUDE_NO;
    }
    if ((var_10->field_0x2b & 0x20) == 0) {
      return SHOULD_INCLUDE_NO;
    }
LAB_00195504:
    bVar3 = type_9::var_16(layout->script_options_,var_21);
    if (bVar3) {
      return SHOULD_INCLUDE_NO;
    }
    if ((type_7)var_10->field_0x28 >> 4 != 2) {
      return SHOULD_INCLUDE_YES;
    }
  }
  var_17 = parameters->options_;
  if (var_17 != (type_6 *)0x0) {
    if ((var_17->undefined_).value._M_h._M_element_count != 0) {
      var_5 = &var_6.field_2;
      var_6._M_dataplus._M_p = (type_11)var_5;
      var_12 = var_18(var_21);
      std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
      var_19<var_20*>(&var_6,var_21,var_21 + var_12,0);
      std::
      _Hashtable<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::hash<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_22<true,var_23,var_23>var_3>
      ::var_24(&(var_17->undefined_).value._M_h,&var_6);
      if (local_40[0] != 0) {
        if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
             *)var_6._M_dataplus._M_p != var_5) {
          var_25(var_6._M_dataplus._M_p);
        }
        var_8 = "-u ";
        var_13 = 3;
        goto LAB_0019576e;
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
           *)var_6._M_dataplus._M_p != var_5) {
        var_25(var_6._M_dataplus._M_p);
      }
    }
    var_17 = parameters->options_;
    if (var_17 == (type_6 *)0x0) goto LAB_001958a7;
    if ((var_17->export_dynamic_symbol_).value._M_h._M_element_count == 0) {
      local_48 = layout->script_options_;
      piVar10 = local_40;
    }
    else {
      var_5 = &var_6.field_2;
      var_6._M_dataplus._M_p = (type_11)var_5;
      var_12 = var_18(var_21);
      std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
      var_19<var_20*>(&var_6,var_21,var_21 + var_12,0);
      piVar10 = local_40;
      std::
      _Hashtable<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::hash<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_22<true,var_23,var_23>var_3>
      ::var_24(&(var_17->export_dynamic_symbol_).value._M_h,&var_6);
      if (local_40[0] != 0) {
        if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
             *)var_6._M_dataplus._M_p != var_5) {
          var_25(var_6._M_dataplus._M_p);
        }
        var_8 = "--export-dynamic-symbol ";
        var_13 = 0x18;
        goto LAB_0019576e;
      }
      if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
           *)var_6._M_dataplus._M_p != var_5) {
        var_25(var_6._M_dataplus._M_p);
      }
      local_48 = layout->script_options_;
    }
    var_6._M_dataplus._M_p = (type_11)&var_6.field_2;
    var_12 = var_18(var_21);
    std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
    var_19<var_20*>(&var_6,var_21,var_21 + var_12,0,piVar10);
    std::
    _Hashtable<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::__detail::_Identity,_std::equal_to<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::hash<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::var_22<true,var_23,var_23>var_3>
    ::var_24(&(local_48->symbol_references_)._M_h,&var_6);
    if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_4
         *)var_6._M_dataplus._M_p != &var_6.field_2) {
      var_25(var_6._M_dataplus._M_p);
    }
    if (local_40[0] != 0) {
      var_12 = var_18(var_21);
      var_8 = (char *)var_26(var_12 + 100);
      __format = (char *)var_27("script or expression reference to %s");
      var_28(var_8,var_12 + 100,__format,var_21);
      var_12 = var_18(var_8);
      std::string::var_29((type_5 *)why,0,why->_M_string_length,var_8,var_12);
      var_30(var_8);
      return SHOULD_INCLUDE_YES;
    }
    if (parameters->options_ != (type_6 *)0x0) {
      if ((((parameters->options_->relocatable_).value != false) ||
          (var_8 = Parameters::var_31(parameters), var_8 == (char *)0x0)) ||
         (var_33 = var_32(var_21,var_8), var_33 != 0)) {
        return SHOULD_INCLUDE_UNKNOWN;
      }
      var_8 = "entry symbol ";
      var_13 = 0xd;
LAB_0019576e:
      std::string::var_29((type_5 *)why,0,why->_M_string_length,var_8,var_13);
      var_12 = var_18(var_21);
      if (var_12 <= 0x7fffffff - why->_M_string_length) {
        std::string::var_34((type_5 *)why,var_21,var_12);
        return SHOULD_INCLUDE_YES;
      }
                    /* WARNING: Subroutine does not return */
      std::var_35("basic_string::append");
    }
  }
LAB_001958a7:
                    /* WARNING: Subroutine does not return */
  var_36("../../gold/parameters.h",0x5c,"options");
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

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

{
  byte bVar1;
  char cVar2;
  char *pcVar3;
  int iVar4;
  char *__s;
  size_t sVar5;
  undefined4 uVar6;
  undefined4 uVar7;
  char *__n;
  int *piVar8;
  int *piVar9;
  size_t *psVar10;
  char **ppcVar11;
  size_t asStack_7c [8];
  int local_50;
  char *local_4c [2];
  int local_44;
  int local_40 [3];
  char *local_34;
  char local_2c [24];
  undefined4 uStack_14;
  
  uStack_14 = 0x1953f9;
  asStack_7c[7] = 0x19540e;
  pcVar3 = strchr(param_3,0x40);
  __s = param_3;
  if (pcVar3 == (char *)0x0) {
LAB_00195455:
    asStack_7c[7] = 0x195463;
    iVar4 = FUN_00179ab0();
    *param_4 = iVar4;
joined_r0x00195596:
    if (iVar4 != 0) {
      bVar1 = *(byte *)(iVar4 + 0x2a) & 7;
      if (bVar1 == 0) goto LAB_00195481;
LAB_00195500:
      if (bVar1 != 4) {
        return 0;
      }
      goto LAB_00195504;
    }
  }
  else {
    __n = pcVar3 + -(int)param_3;
    __s = (char *)*param_6;
    local_4c[0] = __n + 1;
    if ((char *)*param_7 < local_4c[0]) {
      asStack_7c[7] = 0x19554a;
      local_4c[1] = __n;
      __s = (char *)FUN_001e4d50();
      *param_6 = __s;
      *param_7 = (uint)local_4c[0];
      __n = local_4c[1];
    }
    asStack_7c[7] = 0x19543f;
    local_4c[0] = __n;
    memcpy(__s,param_3,(size_t)__n);
    __s[(int)local_4c[0]] = '\0';
    if (pcVar3[1] != '@') goto LAB_00195455;
    asStack_7c[7] = 0x1954b1;
    iVar4 = FUN_00179ab0();
    if (iVar4 == 0) {
LAB_00195578:
      asStack_7c[7] = 0x195589;
      iVar4 = FUN_00179ab0();
      *param_4 = iVar4;
      goto joined_r0x00195596;
    }
    bVar1 = *(byte *)(iVar4 + 0x2a) & 7;
    if ((*(byte *)(iVar4 + 0x2a) & 7) != 0) {
      if (bVar1 == 4) goto LAB_001954e0;
      goto LAB_00195578;
    }
    if ((*(int *)(iVar4 + 0xc) != 0) || ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0)) goto LAB_00195578;
LAB_001954e0:
    if (*(byte *)(iVar4 + 0x28) >> 4 == 2) goto LAB_00195578;
    *param_4 = iVar4;
    if (bVar1 != 0) goto LAB_00195500;
LAB_00195481:
    if (*(int *)(iVar4 + 0xc) != 0) {
      return 0;
    }
    if ((*(byte *)(iVar4 + 0x2b) & 0x20) == 0) {
      return 0;
    }
LAB_00195504:
    asStack_7c[7] = 0x195514;
    cVar2 = FUN_00169d70();
    if (cVar2 != '\0') {
      return 0;
    }
    if (*(byte *)(iVar4 + 0x28) >> 4 != 2) {
      return 1;
    }
  }
  ppcVar11 = local_4c;
  pcVar3 = *(char **)(DAT_0038f378 + 8);
  if (pcVar3 != (char *)0x0) {
    ppcVar11 = local_4c;
    if (*(int *)(pcVar3 + 0x4294) != 0) {
      local_4c[0] = local_2c;
      asStack_7c[7] = 0x195715;
      local_4c[1] = pcVar3;
      local_34 = local_4c[0];
      strlen(__s);
      local_50 = 0;
      asStack_7c[7] = 0x195724;
      FUN_00050e40();
      asStack_7c[7] = 0x19573d;
      FUN_000ba920();
      ppcVar11 = (char **)&local_50;
      if (local_44 != 0) {
        if (local_40[2] != local_50) {
          asStack_7c[7] = local_40[2];
          FUN_001e6db0();
        }
        pcVar3 = "-u ";
        psVar10 = asStack_7c + 7;
        asStack_7c[7] = 3;
        goto LAB_0019576e;
      }
      if (local_40[2] != local_50) {
        asStack_7c[7] = local_40[2];
        FUN_001e6db0();
        ppcVar11 = (char **)&local_50;
      }
    }
    iVar4 = *(int *)(DAT_0038f378 + 8);
    if (iVar4 == 0) goto LAB_001958a7;
    if (*(int *)(iVar4 + 0x1344) == 0) {
      piVar8 = (int *)ppcVar11 + 8;
      ((int *)ppcVar11)[6] = (int)piVar8;
      ((int *)ppcVar11)[1] = *(int *)(((int *)ppcVar11)[0x15] + 4);
      *ppcVar11 = (char *)((int *)ppcVar11 + 3);
      piVar9 = (int *)ppcVar11;
    }
    else {
      ((int *)ppcVar11)[2] = iVar4;
      ((int *)ppcVar11)[6] = (int)((int *)ppcVar11 + 8);
      ((int *)ppcVar11)[1] = (int)((int *)ppcVar11 + 8);
      ((int *)ppcVar11)[-4] = (int)__s;
      ((int *)ppcVar11)[-5] = 0x1957dd;
      sVar5 = strlen((char *)((int *)ppcVar11)[-4]);
      ((int *)ppcVar11)[-1] = 0;
      ((int *)ppcVar11)[-2] = (int)(__s + sVar5);
      ((int *)ppcVar11)[-3] = (int)__s;
      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 6);
      ((int *)ppcVar11)[-5] = 0x1957ec;
      FUN_00050e40();
      *ppcVar11 = (char *)((int *)ppcVar11 + 3);
      ((int *)ppcVar11)[-2] = (int)((int *)ppcVar11 + 6);
      ((int *)ppcVar11)[-3] = ((int *)ppcVar11)[2] + 0x1338;
      ((int *)ppcVar11)[-4] = (int)((int *)ppcVar11 + 3);
      ((int *)ppcVar11)[-5] = 0x195809;
      FUN_000ba920();
      iVar4 = ((int *)ppcVar11)[5];
      piVar8 = (int *)*ppcVar11;
      if (((int *)ppcVar11)[2] != 0) {
        if ((int *)iVar4 != piVar8) {
          ((int *)ppcVar11)[-5] = iVar4;
          ((int *)ppcVar11)[-6] = 0x195839;
          FUN_001e6db0();
        }
        pcVar3 = "--export-dynamic-symbol ";
        psVar10 = (size_t *)((int *)ppcVar11 + -5);
        ((int *)ppcVar11)[-5] = 0x18;
        goto LAB_0019576e;
      }
      if ((int *)iVar4 != piVar8) {
        *ppcVar11 = (char *)piVar8;
        ((int *)ppcVar11)[-5] = iVar4;
        ((int *)ppcVar11)[-6] = 0x195881;
        FUN_001e6db0();
        piVar8 = (int *)*ppcVar11;
      }
      piVar9 = (int *)ppcVar11 + -1;
      ((int *)ppcVar11)[5] = (int)piVar8;
      *ppcVar11 = (char *)*(undefined4 *)(((int *)ppcVar11)[0x14] + 4);
    }
    piVar9[2] = (int)piVar8;
    piVar9[-4] = (int)__s;
    piVar9[-5] = 0x195601;
    sVar5 = strlen((char *)piVar9[-4]);
    piVar9[-1] = 0;
    piVar9[-2] = (int)(__s + sVar5);
    piVar9[-3] = (int)__s;
    piVar9[-4] = (int)((int *)ppcVar11 + 6);
    piVar9[-5] = 0x195610;
    FUN_00050e40();
    piVar9[-2] = (int)((int *)ppcVar11 + 6);
    piVar9[-3] = piVar9[1] + 0x40;
    piVar9[-4] = *piVar9;
    piVar9[-5] = 0x195625;
    FUN_000ba920();
    iVar4 = piVar9[2];
    if (piVar9[5] != piVar9[1]) {
      piVar9[-5] = piVar9[5];
      piVar9[-6] = 0x195641;
      FUN_001e6db0();
    }
    ppcVar11 = (char **)(piVar9 + -1);
    if (iVar4 != 0) {
      piVar9[-5] = (int)__s;
      piVar9[-6] = 0x195699;
      sVar5 = strlen((char *)piVar9[-5]);
      piVar9[-5] = sVar5 + 100;
      piVar9[-6] = 0x1956a4;
      uVar6 = FUN_001e5180();
      piVar9[-5] = (int)"script or expression reference to %s";
      piVar9[-6] = 0x1956b4;
      uVar7 = gettext();
      piVar9[-6] = (int)__s;
      piVar9[-7] = uVar7;
      piVar9[-8] = sVar5 + 100;
      piVar9[-9] = uVar6;
      piVar9[-10] = 0x1956bd;
      snprintf((char *)piVar9[-9],piVar9[-8],(char *)piVar9[-7]);
      piVar9[-5] = uVar6;
      piVar9[-6] = 0x1956c6;
      sVar5 = strlen((char *)piVar9[-5]);
      piVar9[-5] = sVar5;
      piVar9[-6] = uVar6;
      piVar9[-7] = *(undefined4 *)(piVar9[0x17] + 4);
      piVar9[-8] = 0;
      piVar9[-9] = piVar9[0x17];
      piVar9[-10] = 0x1956dc;
      FUN_001ef9f0();
      piVar9[-5] = uVar6;
      piVar9[-6] = 0x1956e5;
      FUN_001e6d50();
      return 1;
    }
    if (*(int *)(DAT_0038f378 + 8) != 0) {
      if (*(char *)(*(int *)(DAT_0038f378 + 8) + 0x318d) == '\0') {
        psVar10 = (size_t *)(piVar9 + -5);
        piVar9[-5] = DAT_0038f378;
        piVar9[-6] = 0x195667;
        iVar4 = FUN_00139510();
        if (iVar4 != 0) {
          piVar9[-4] = iVar4;
          piVar9[-5] = (int)__s;
          piVar9[-6] = 0x195678;
          iVar4 = strcmp((char *)piVar9[-5],(char *)piVar9[-4]);
          if (iVar4 == 0) {
            pcVar3 = "entry symbol ";
            piVar9[-5] = 0xd;
LAB_0019576e:
            psVar10[-1] = (size_t)pcVar3;
            psVar10[-2] = *(undefined4 *)(psVar10[0x1c] + 4);
            psVar10[-3] = 0;
            psVar10[-4] = psVar10[0x1c];
            psVar10[-5] = 0x195781;
            FUN_001ef9f0();
            *psVar10 = (size_t)__s;
            psVar10[-1] = 0x19578a;
            sVar5 = strlen((char *)*psVar10);
            if (sVar5 <= 0x7fffffffU - *(int *)(psVar10[0x1c] + 4)) {
              psVar10[2] = sVar5;
              psVar10[1] = (size_t)__s;
              *psVar10 = psVar10[0x1c];
              psVar10[-1] = 0x1957af;
              FUN_001f05c0();
              return 1;
            }
            *psVar10 = (size_t)"basic_string::append";
                    /* WARNING: Subroutine does not return */
            psVar10[-1] = (size_t)&UNK_001958cc;
            FUN_0022c7a0();
          }
        }
      }
      return 2;
    }
  }
LAB_001958a7:
  *(int **)((int)ppcVar11 + -4) = &DAT_0038f378;
  *(char **)((int)ppcVar11 + -8) = "options";
  *(undefined4 *)((int)ppcVar11 + -0xc) = 0x5c;
  *(char **)((int)ppcVar11 + -0x10) = "../../gold/parameters.h";
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)((int)ppcVar11 + -0x14) = 0x1958bd;
  FUN_00069d00();
}

