
/* 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 */

bool __regparm3
gold::read_script_file
          (char *filename,Command_line *cmdline,Script_options *script_options,int first_token,
          Mode lex_mode)

{
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar1;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar2;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar3;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *paVar4;
  size_type *psVar5;
  bool bVar6;
  undefined2 uVar7;
  Incremental_disposition IVar8;
  _Alloc_hider _Var9;
  undefined4 uVar10;
  char *pcVar11;
  size_t sVar12;
  pointer pcVar13;
  int iVar14;
  Object_format OVar15;
  Dirsearch *__file;
  char local_200;
  File_read *local_1f4;
  int dummy;
  Dirsearch dirsearch;
  string name;
  string local_1b4;
  string input_string;
  Lex lex;
  Input_file_argument input_argument;
  Parser_closure closure;
  Input_file input_file;
  
  paVar1 = &name.field_2;
  pcVar11 = (char *)0xffffffff;
  dirsearch.directories_ = (Dir_list *)0x0;
  dirsearch.token_.is_blocker_ = true;
  dirsearch.token_.blockers_ = 0;
  dirsearch.token_.writer_ = (Task *)0x0;
  dirsearch.token_.waiting_.head_ = (Task *)0x0;
  dirsearch.token_.waiting_.tail_ = (Task *)0x0;
  name._M_dataplus._M_p = (pointer)paVar1;
  if (filename != (char *)0x0) {
    sVar12 = strlen(filename);
    pcVar11 = filename + sVar12;
  }
                    /* try { // try from 0016c500 to 0016c504 has its CatchHandler @ 0016cd1a */
  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
  _M_construct<char_const*>(&name,filename,pcVar11,0);
  if (*filename == '/') goto LAB_0016c511;
  psVar5 = &input_file.found_name_._M_string_length;
  input_file.input_argument_ = (Input_file_argument *)psVar5;
                    /* try { // try from 0016cb2b to 0016cb2f has its CatchHandler @ 0016cd13 */
  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
  _M_construct<char_const*>
            ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&input_file,".",""
             ,0);
                    /* try { // try from 0016cb48 to 0016cb4c has its CatchHandler @ 0016ccf2 */
  Dirsearch::find_file_in_dir_list
            (&local_1b4,&name,&(cmdline->options_).library_path_.value,(string *)&input_file);
  uVar10 = name.field_2._M_allocated_capacity;
  _Var9 = name._M_dataplus;
  paVar2 = &local_1b4.field_2;
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)local_1b4._M_dataplus._M_p == paVar2) {
    name._M_string_length = local_1b4._M_string_length;
    if (local_1b4._M_string_length != 0) {
      if (local_1b4._M_string_length == 1) {
        *name._M_dataplus._M_p = local_1b4.field_2._M_local_buf[0];
        name._M_string_length = local_1b4._M_string_length;
      }
      else {
        memcpy(name._M_dataplus._M_p,paVar2,local_1b4._M_string_length);
        name._M_string_length = local_1b4._M_string_length;
      }
    }
    name._M_dataplus._M_p[name._M_string_length] = '\0';
  }
  else {
    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
         *)name._M_dataplus._M_p != paVar1) {
      name._M_string_length = local_1b4._M_string_length;
      name._M_dataplus._M_p = local_1b4._M_dataplus._M_p;
      name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity;
      if (_Var9._M_p != (pointer)0x0) {
        local_1b4._M_dataplus._M_p = _Var9._M_p;
        local_1b4.field_2._M_allocated_capacity = uVar10;
        goto LAB_0016cbba;
      }
    }
    name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity;
    name._M_string_length = local_1b4._M_string_length;
    name._M_dataplus._M_p = local_1b4._M_dataplus._M_p;
    local_1b4._M_dataplus._M_p = (pointer)paVar2;
  }
LAB_0016cbba:
  local_1b4._M_string_length = 0;
  *local_1b4._M_dataplus._M_p = '\0';
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)local_1b4._M_dataplus._M_p != &local_1b4.field_2) {
    operator_delete(local_1b4._M_dataplus._M_p);
  }
  if (input_file.input_argument_ != (Input_file_argument *)psVar5) {
    operator_delete(input_file.input_argument_);
  }
LAB_0016c511:
  _Var9._M_p = name._M_dataplus._M_p;
  uVar7._0_1_ = (cmdline->position_options_).as_needed_;
  uVar7._1_1_ = (cmdline->position_options_).Bdynamic_;
  OVar15 = (cmdline->position_options_).format_enum_;
  bVar6 = (cmdline->position_options_).whole_archive_;
  IVar8 = (cmdline->position_options_).incremental_disposition_;
  if (OVar15 == OBJECT_FORMAT_BINARY) {
    OVar15 = OBJECT_FORMAT_ELF;
  }
  paVar2 = &input_argument.name_.field_2;
  pcVar13 = (pointer)0xffffffff;
  input_argument.name_._M_dataplus._M_p = (pointer)paVar2;
  if (name._M_dataplus._M_p != (pointer)0x0) {
    sVar12 = strlen(name._M_dataplus._M_p);
    pcVar13 = _Var9._M_p + sVar12;
  }
                    /* try { // try from 0016c59b to 0016c59f has its CatchHandler @ 0016cd13 */
  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
  _M_construct<char_const*>(&input_argument.name_,_Var9._M_p,pcVar13,0);
  paVar3 = &input_argument.extra_search_path_.field_2;
  input_argument.type_ = INPUT_FILE_TYPE_FILE;
  input_argument.extra_search_path_._M_dataplus._M_p = (pointer)paVar3;
                    /* try { // try from 0016c5d6 to 0016c5da has its CatchHandler @ 0016cceb */
  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
  _M_construct<char_const*>(&input_argument.extra_search_path_,"","",0);
  input_file.file_.is_descriptor_opened_ = false;
  input_file.file_.name_._M_dataplus._M_p = (pointer)&input_file.file_.name_.field_2;
  input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =
       &input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header;
  paVar4 = &input_file.found_name_.field_2;
  input_file.file_.saved_views_.
  super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl._M_node.
  super__List_node_base._M_next = (_List_node_base *)&input_file.file_.saved_views_;
  input_argument.just_symbols_ = false;
  input_argument.arg_serial_ = 0;
  input_file.found_name_._M_string_length = 0;
  input_file.found_name_.field_2._M_local_buf[0] = '\0';
  input_file.file_.name_._M_string_length = 0;
  input_file.file_.name_.field_2._M_local_buf[0] = '\0';
  input_file.file_.descriptor_ = -1;
  input_file.file_.object_count_ = 0;
  input_file.file_.size_._0_4_ = 0;
  input_file.file_.size_._4_4_ = 0;
  input_file.file_.token_.is_blocker_ = false;
  input_file.file_.token_.blockers_ = 0;
  input_file.file_.token_.writer_ = (Task *)0x0;
  input_file.file_.token_.waiting_.head_ = (Task *)0x0;
  input_file.file_.token_.waiting_.tail_ = (Task *)0x0;
  input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;
  input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;
  input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;
  __file = &dirsearch;
  input_file.file_.saved_views_.
  super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl._M_node.
  _M_size = 0;
  input_file.file_.mapped_bytes_ = 0;
  input_file.file_.released_ = true;
  input_file.file_.whole_file_view_ = (View *)0x0;
  input_file.is_in_sysroot_ = false;
  input_file.format_ = FORMAT_NONE;
  dummy = 0;
  input_argument.options_._0_2_ = uVar7;
  input_argument.options_.format_enum_ = OVar15;
  input_argument.options_.whole_archive_ = bVar6;
  input_argument.options_.incremental_disposition_ = IVar8;
  input_file.input_argument_ = &input_argument;
  input_file.found_name_._M_dataplus._M_p = (pointer)paVar4;
  input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =
       input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left;
  input_file.file_.saved_views_.
  super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl._M_node.
  super__List_node_base._M_prev =
       input_file.file_.saved_views_.
       super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.
       _M_node.super__List_node_base._M_next;
                    /* try { // try from 0016c714 to 0016c718 has its CatchHandler @ 0016cd26 */
  iVar14 = Input_file::open(&input_file,(char *)__file,-1,&dummy);
  local_200 = (char)iVar14;
  if (local_200 != '\0') {
    input_string._M_string_length = 0;
    input_string.field_2._M_local_buf[0] = '\0';
    input_string._M_dataplus._M_p = (pointer)&input_string.field_2;
                    /* try { // try from 0016c83e to 0016c842 has its CatchHandler @ 0016ccf9 */
    Lex::read_file(&input_file,&input_string);
    lex.token_.classification_ = TOKEN_INVALID;
    lex.token_.value_ = (char *)0x0;
    lex.input_string_ = input_string._M_dataplus._M_p;
    lex.current_ = input_string._M_dataplus._M_p;
    lex.linestart_ = input_string._M_dataplus._M_p;
    lex.input_length_ = input_string._M_string_length;
    lex.mode_ = lex_mode;
    closure.parsing_defsym_ = first_token == 3;
    lex.first_token_ = first_token;
    closure.posdep_options_.as_needed_ = (cmdline->position_options_).as_needed_;
    closure.posdep_options_.Bdynamic_ = (cmdline->position_options_).Bdynamic_;
    closure.posdep_options_._2_2_ = *(undefined2 *)&(cmdline->position_options_).field_0x2;
    closure.posdep_options_.format_enum_ = (cmdline->position_options_).format_enum_;
    lex.token_.value_length_ = 0;
    closure.posdep_options_.whole_archive_ = (cmdline->position_options_).whole_archive_;
    closure.posdep_options_._9_3_ = *(undefined3 *)&(cmdline->position_options_).field_0x9;
    lex.token_.opcode_ = 0;
    closure.posdep_options_.incremental_disposition_ =
         (cmdline->position_options_).incremental_disposition_;
    lex.token_.lineno_ = 0;
    lex.token_.charpos_ = 0;
    closure.is_in_sysroot_ = input_file.is_in_sysroot_;
    lex.lineno_ = 1;
    closure.in_group_ = false;
    closure.skip_on_incompatible_target_ = false;
    closure.found_incompatible_target_ = false;
    closure.version_script_info_ = &script_options->version_script_info_;
    closure.lex_ = &lex;
    closure.lineno_ = 0;
    closure.charpos_ = 0;
    closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.
    _M_impl._M_start = (pointer)0x0;
    closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.
    _M_impl._M_finish = (pointer)0x0;
    closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.
    _M_impl._M_end_of_storage = (pointer)0x0;
    closure.language_stack_.
    super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>
    ._M_impl._M_start = (pointer)0x0;
    closure.language_stack_.
    super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>
    ._M_impl._M_finish = (pointer)0x0;
    closure.language_stack_.
    super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>
    ._M_impl._M_end_of_storage = (pointer)0x0;
    closure.inputs_ = (Input_arguments *)0x0;
    closure.script_info_ = (Script_info *)0x0;
    local_1b4._M_dataplus._M_p = (pointer)0x0;
    closure.filename_ = filename;
    closure.command_line_ = cmdline;
    closure.script_options_ = script_options;
                    /* try { // try from 0016c9c7 to 0016c9e6 has its CatchHandler @ 0016cd0c */
    std::
    vector<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>
    ::_M_realloc_insert<gold::Version_script_info::Language>
              (&closure.language_stack_,(iterator)0x0,(Language *)&local_1b4);
    local_1b4._M_dataplus._M_p = (pointer)lex.mode_;
    std::vector<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>::emplace_back<gold::Lex::Mode>
              (&closure.lex_mode_stack_,(Mode *)&local_1b4);
                    /* try { // try from 0016ca02 to 0016ca7c has its CatchHandler @ 0016cd1f */
    iVar14 = yyparse(&closure);
    if (iVar14 == 0) {
      __file = (Dirsearch *)0xffffffff;
      File_read::unlock(&input_file.file_,(Task *)0xffffffff);
      if ((closure.inputs_ != (Input_arguments *)0x0) &&
         (((closure.inputs_)->input_argument_list_).
          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.
          _M_finish !=
          ((closure.inputs_)->input_argument_list_).
          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.
          _M_start)) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/script.cc",0x666,"read_script_file");
      }
    }
    else {
      __file = (Dirsearch *)0xffffffff;
      File_read::unlock(&input_file.file_,(Task *)0xffffffff);
      local_200 = '\0';
    }
    if (closure.language_stack_.
        super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>
        ._M_impl._M_start != (pointer)0x0) {
      operator_delete(closure.language_stack_.
                      super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>
                      ._M_impl._M_start);
    }
    if (closure.lex_mode_stack_.
        super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>._M_impl._M_start !=
        (pointer)0x0) {
      operator_delete(closure.lex_mode_stack_.
                      super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>._M_impl.
                      _M_start);
    }
    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
         *)input_string._M_dataplus._M_p != &input_string.field_2) {
      operator_delete(input_string._M_dataplus._M_p);
    }
  }
  local_1f4 = &input_file.file_;
  File_read::~File_read(local_1f4,(int)__file);
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)input_file.found_name_._M_dataplus._M_p != paVar4) {
    operator_delete(input_file.found_name_._M_dataplus._M_p);
  }
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)input_argument.extra_search_path_._M_dataplus._M_p != paVar3) {
    operator_delete(input_argument.extra_search_path_._M_dataplus._M_p);
  }
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)input_argument.name_._M_dataplus._M_p != paVar2) {
    operator_delete(input_argument.name_._M_dataplus._M_p);
  }
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)name._M_dataplus._M_p != paVar1) {
    operator_delete(name._M_dataplus._M_p);
  }
  if (dirsearch.token_.blockers_ != 0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/token.h",100,"~Task_token");
  }
  if (dirsearch.token_.writer_ != (Task *)0x0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/token.h",0x65,"~Task_token");
  }
  if ((dirsearch.token_.waiting_.head_ == (Task *)0x0) &&
     (dirsearch.token_.waiting_.tail_ == (Task *)0x0)) {
    return (bool)local_200;
  }
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable("../../gold/token.h",0x2c,"~Task_list");
}



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

uint __regparm3 FUN_0016c460(char *param_1,int param_2,int param_3,int param_4,int *param_5)

{
  char *pcVar1;
  undefined **ppuVar2;
  char cVar3;
  char *pcVar4;
  size_t sVar5;
  undefined1 *puVar6;
  int *piVar7;
  undefined **ppuVar8;
  undefined1 ****ppppuVar9;
  int iVar10;
  undefined1 ***pppuStack_220;
  undefined1 auStack_21c [4];
  undefined1 *local_218;
  undefined1 **local_214;
  int local_210;
  int *local_20c;
  undefined1 *local_208;
  undefined1 *local_204;
  uint local_200;
  int *local_1fc;
  char *local_1f8;
  undefined1 **local_1f4;
  undefined **local_1f0;
  undefined4 local_1e8;
  undefined4 local_1e4;
  undefined1 local_1e0;
  int local_1dc;
  int local_1d8;
  int local_1d4;
  int local_1d0;
  int *local_1cc;
  size_t local_1c8;
  int local_1c4 [4];
  int *local_1b4;
  size_t local_1b0;
  int local_1ac [4];
  undefined1 *local_19c;
  undefined4 local_198;
  undefined1 local_194 [16];
  undefined1 *local_184;
  undefined4 local_180;
  undefined1 *local_17c;
  int *local_178;
  int local_174;
  undefined4 local_170;
  undefined4 local_16c;
  undefined4 local_168;
  undefined4 local_164;
  undefined4 local_160;
  undefined4 local_15c;
  undefined4 local_158;
  undefined1 *local_154;
  undefined1 *local_150 [2];
  undefined1 local_148 [16];
  undefined4 local_138;
  undefined1 *local_134 [2];
  undefined1 local_12c [16];
  undefined1 local_11c;
  undefined2 local_118;
  int local_114;
  undefined1 local_110;
  undefined4 local_10c;
  undefined4 local_108;
  char *local_104;
  undefined4 local_100;
  undefined4 local_fc;
  undefined4 local_f8;
  undefined4 local_f4;
  undefined1 local_f0;
  undefined1 local_ef;
  undefined1 local_ee;
  undefined2 local_ed;
  int local_e8;
  int local_e4;
  int local_e0;
  undefined1 **local_dc;
  undefined4 local_d8;
  undefined4 local_d4;
  int local_d0 [6];
  int *local_b8;
  undefined4 local_b4;
  undefined1 **local_b0;
  undefined1 *local_ac;
  undefined1 *local_a8;
  undefined1 local_a4 [16];
  undefined1 *local_94;
  undefined4 local_90;
  undefined1 local_8c [16];
  undefined4 local_7c;
  undefined1 local_78;
  undefined4 local_74;
  undefined4 local_70;
  undefined4 local_6c;
  undefined1 local_68;
  undefined4 local_64;
  undefined4 local_60;
  undefined4 local_5c;
  undefined4 local_58;
  undefined4 local_50;
  undefined4 local_4c;
  undefined4 *local_48;
  undefined4 *local_44;
  undefined4 local_40;
  undefined4 ****local_3c;
  undefined4 ****local_38;
  undefined4 local_34;
  undefined4 local_30;
  undefined1 local_2c;
  undefined4 local_28;
  undefined1 local_24;
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x16c46f;
  local_1f0 = &__DT_PLTGOT;
  local_1fc = local_1c4;
  pcVar4 = (char *)0xffffffff;
  local_1e4 = 0;
  local_1e0 = 1;
  local_1dc = 0;
  local_1d8 = 0;
  local_1d4 = 0;
  local_1d0 = 0;
  local_210 = param_3;
  local_1f8 = param_1;
  local_1cc = local_1fc;
  if (param_1 != (char *)0x0) {
    sVar5 = strlen(param_1);
    pcVar4 = param_1 + sVar5;
  }
  pcVar1 = local_1f8;
  pppuStack_220 = (undefined1 ***)0x0;
                    /* try { // try from 0016c500 to 0016c504 has its CatchHandler @ 0016cd1a */
  FUN_00050e40(&local_1cc,local_1f8,pcVar4);
  ppppuVar9 = (undefined1 ****)auStack_21c;
  if (*pcVar1 == '/') goto LAB_0016c511;
  local_200 = param_2 + 0x2188;
  pppuStack_220 = (undefined1 ***)0x0;
  local_1f4 = &local_a8;
  local_b0 = local_1f4;
                    /* try { // try from 0016cb2b to 0016cb2f has its CatchHandler @ 0016cd13 */
  FUN_00050e40(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed);
  pppuStack_220 = &local_b0;
                    /* try { // try from 0016cb48 to 0016cb4c has its CatchHandler @ 0016ccf2 */
  FUN_001a2000(&local_1b4,&local_1cc,local_200);
  iVar10 = local_1c4[0];
  piVar7 = local_1cc;
  if (local_1b4 == local_1ac) {
    local_1c8 = local_1b0;
    if (local_1b0 != 0) {
      if (local_1b0 == 1) {
        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];
        local_1c8 = local_1b0;
      }
      else {
        memcpy(local_1cc,local_1ac,local_1b0);
        local_1c8 = local_1b0;
      }
    }
    *(undefined1 *)((int)local_1cc + local_1c8) = 0;
  }
  else {
    local_200 = local_1ac[0];
    if (local_1cc != local_1fc) {
      local_1c8 = local_1b0;
      local_1cc = local_1b4;
      local_1c4[0] = local_1ac[0];
      if (piVar7 != (int *)0x0) {
        local_1b4 = piVar7;
        local_1ac[0] = iVar10;
        goto LAB_0016cbba;
      }
    }
    local_1c4[0] = local_1ac[0];
    local_1c8 = local_1b0;
    local_1cc = local_1b4;
    local_1b4 = local_1ac;
  }
LAB_0016cbba:
  local_1b0 = 0;
  *(undefined1 *)local_1b4 = 0;
  if (local_1b4 != local_1ac) {
    FUN_001e6db0(local_1b4);
  }
  ppppuVar9 = &pppuStack_220;
  if (local_b0 != local_1f4) {
    FUN_001e6db0(local_b0);
    ppppuVar9 = &pppuStack_220;
  }
LAB_0016c511:
  iVar10 = *(int *)(param_2 + 0x5a94);
  local_1f4 = (undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90));
  local_204 = (undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98));
  local_200 = *(undefined4 *)(param_2 + 0x5a9c);
  if (iVar10 == 1) {
    iVar10 = 0;
  }
  local_208 = local_148;
  puVar6 = (undefined1 *)0xffffffff;
  piVar7 = local_1cc;
  local_150[0] = local_208;
  if (local_1cc != (int *)0x0) {
    local_20c = local_1cc;
    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;
    sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));
    puVar6 = (undefined1 *)(sVar5 + (int)local_20c);
    piVar7 = local_20c;
  }
  *(undefined4 *)((int)ppppuVar9 + -4) = 0;
  *(undefined1 **)((int)ppppuVar9 + -8) = puVar6;
  *(int **)((int)ppppuVar9 + -0xc) = piVar7;
  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_150;
                    /* try { // try from 0016c59b to 0016c59f has its CatchHandler @ 0016cd13 */
  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5a0;
  local_214 = local_150;
  FUN_00050e40();
  local_20c = (int *)local_12c;
  local_138 = 0;
  *(undefined4 *)((int)ppppuVar9 + -4) = 0;
  *(int *)((int)ppppuVar9 + -8) = (int)local_1f0 + -0xf11ea;
  *(int *)((int)ppppuVar9 + -0xc) = (int)local_1f0 + -0xf11ea;
  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_134;
                    /* try { // try from 0016c5d6 to 0016c5da has its CatchHandler @ 0016cceb */
  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5db;
  local_134[0] = (undefined1 *)local_20c;
  FUN_00050e40();
  local_78 = 0;
  local_110 = local_204._0_1_;
  local_94 = local_8c;
  local_48 = &local_50;
  local_10c = local_200;
  local_204 = local_a4;
  local_3c = &local_3c;
  local_11c = 0;
  local_118 = local_1f4._0_2_;
  local_108 = 0;
  local_a8 = (undefined1 *)0x0;
  local_a4[0] = 0;
  local_90 = 0;
  local_8c[0] = 0;
  local_7c = 0xffffffff;
  local_74 = 0;
  local_70 = 0;
  local_6c = 0;
  local_68 = 0;
  local_64 = 0;
  local_60 = 0;
  local_5c = 0;
  local_58 = 0;
  local_50 = 0;
  local_4c = 0;
  local_40 = 0;
  *(undefined4 **)((int)ppppuVar9 + -4) = &local_1e8;
  *(undefined4 *)((int)ppppuVar9 + -8) = 0xffffffff;
  *(undefined4 **)((int)ppppuVar9 + -0xc) = &local_1e4;
  *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;
  local_34 = 0;
  local_30 = 0;
  local_2c = 1;
  local_28 = 0;
  local_24 = 0;
  local_20 = 0;
  local_1e8 = 0;
                    /* try { // try from 0016c714 to 0016c718 has its CatchHandler @ 0016cd26 */
  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c719;
  local_114 = iVar10;
  local_b0 = local_150;
  local_ac = local_204;
  local_44 = local_48;
  local_38 = local_3c;
  cVar3 = FUN_00069870();
  local_1f4 = &local_94;
  local_200 = CONCAT31(local_200._1_3_,cVar3);
  if (cVar3 != '\0') {
    local_218 = local_194;
    local_198 = 0;
    *(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;
    *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;
    local_194[0] = 0;
                    /* try { // try from 0016c83e to 0016c842 has its CatchHandler @ 0016ccf9 */
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;
    local_19c = local_218;
    FUN_00168e00();
    local_170 = 0;
    local_16c = 0;
    local_184 = local_19c;
    local_17c = local_19c;
    local_154 = local_19c;
    local_180 = local_198;
    local_178 = param_5;
    local_f0 = param_4 == 3;
    local_174 = param_4;
    local_104 = local_1f8;
    local_100 = *(undefined4 *)(param_2 + 0x5a90);
    local_fc = *(undefined4 *)(param_2 + 0x5a94);
    local_168 = 0;
    local_f8 = *(undefined4 *)(param_2 + 0x5a98);
    local_164 = 0;
    local_f4 = *(undefined4 *)(param_2 + 0x5a9c);
    local_160 = 0;
    local_15c = 0;
    local_ee = local_24;
    local_158 = 1;
    local_ef = 0;
    local_ed = 0;
    *(int ***)((int)ppppuVar9 + -8) = &local_1b4;
    local_e4 = local_210;
    local_e0 = local_210 + 0x68;
    local_dc = &local_184;
    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0;
    *(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;
    local_d8 = 0;
    local_d4 = 0;
    local_d0[0] = 0;
    local_d0[1] = 0;
    local_d0[2] = 0;
    local_d0[3] = 0;
    local_d0[4] = 0;
    local_d0[5] = 0;
    local_b8 = (int *)0x0;
    local_b4 = 0;
    local_1b4 = (int *)0x0;
                    /* try { // try from 0016c9c7 to 0016c9e6 has its CatchHandler @ 0016cd0c */
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;
    local_e8 = param_2;
    FUN_0016f460();
    *(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;
    local_1b4 = local_178;
    *(int **)((int)ppppuVar9 + -0x10) = local_d0;
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;
    FUN_0016f700();
    local_1f4 = &local_94;
    *(char ***)((int)ppppuVar9 + -0x10) = &local_104;
                    /* try { // try from 0016ca02 to 0016ca7c has its CatchHandler @ 0016cd1f */
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;
    iVar10 = FUN_00191d40();
    ppuVar8 = local_1f0;
    if (iVar10 == 0) {
      local_1f4 = &local_94;
      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;
      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;
      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;
      FUN_000679d0();
      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {
        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;
        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;
        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;
        FUN_00069d00();
      }
    }
    else {
      local_1f4 = &local_94;
      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;
      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;
      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;
      FUN_000679d0();
      local_200 = local_200 & 0xffffff00;
    }
    if (local_d0[3] != 0) {
      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];
      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;
      FUN_001e6db0();
    }
    if (local_d0[0] != 0) {
      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];
      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;
      FUN_001e6db0();
    }
    if (local_19c != local_218) {
      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;
      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;
      FUN_001e6db0();
    }
  }
  ppuVar8 = local_1f0;
  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;
  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c74c;
  FUN_00067cc0();
  if (local_ac != local_204) {
    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;
    FUN_001e6db0();
  }
  ppuVar2 = local_1f0;
  if ((int *)local_134[0] != local_20c) {
    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;
    FUN_001e6db0();
    ppuVar8 = ppuVar2;
  }
  ppuVar2 = local_1f0;
  if (local_150[0] != local_208) {
    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;
    FUN_001e6db0();
    ppuVar8 = ppuVar2;
  }
  ppuVar2 = local_1f0;
  if (local_1cc != local_1fc) {
    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;
    FUN_001e6db0();
    ppuVar8 = ppuVar2;
  }
  if (local_1dc != 0) {
    *(int *)((int)ppppuVar9 + -4) = local_1dc;
    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;
    *(undefined4 *)((int)ppppuVar9 + -0xc) = 100;
    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;
                    /* WARNING: Subroutine does not return */
    *(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;
    FUN_00069d00();
  }
  if (local_1d8 != 0) {
    *(int *)((int)ppppuVar9 + -4) = local_1d8;
    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;
    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;
    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;
    FUN_00069d00();
  }
  if ((local_1d4 == 0) && (local_1d0 == 0)) {
    return local_200 & 0xff;
  }
  *(undefined ***)((int)ppppuVar9 + -4) = ppuVar8;
  *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a3;
  *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x2c;
  *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ccb3;
  FUN_00069d00();
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
MOV EDI,EAX
PUSH ESI
MOV ESI,EDX
PUSH EBX
CALL 0x00035840
ADD EBX,0x222b91
SUB ESP,0x20c
MOV dword ptr [EBP + 0xfffffe0c],EAX
LEA EAX,[EBP + 0xfffffe40]
MOV dword ptr [EBP + 0xfffffe08],EAX
MOV dword ptr [EBP + 0xfffffe38],EAX
MOV EAX,0xffffffff
MOV dword ptr [EBP + 0xfffffdf4],ECX
MOV dword ptr [EBP + 0xfffffe14],EBX
MOV dword ptr [EBP + 0xfffffe20],0x0
MOV byte ptr [EBP + 0xfffffe24],0x1
MOV dword ptr [EBP + 0xfffffe28],0x0
MOV dword ptr [EBP + 0xfffffe2c],0x0
MOV dword ptr [EBP + 0xfffffe30],0x0
MOV dword ptr [EBP + 0xfffffe34],0x0
TEST EDI,EDI
JZ 0x0016c4ef
SUB ESP,0xc
PUSH EDI
CALL 0x000295f0
ADD ESP,0x10
ADD EAX,EDI
MOV EDI,dword ptr [EBP + 0xfffffe0c]
LEA EBX,[EBP + 0xfffffe38]
PUSH 0x0
PUSH EAX
PUSH EDI
PUSH EBX
CALL 0x00050e40
ADD ESP,0x10
CMP byte ptr [EDI],0x2f
JNZ 0x0016caf0
MOVZX EAX,word ptr [ESI + 0x5a90]
MOV EDI,dword ptr [ESI + 0x5a94]
MOV EDX,dword ptr [EBP + 0xfffffe38]
MOV word ptr [EBP + 0xfffffe10],AX
MOVZX EAX,byte ptr [ESI + 0x5a98]
CMP EDI,0x1
MOV byte ptr [EBP + 0xfffffe00],AL
MOV EAX,dword ptr [ESI + 0x5a9c]
MOV dword ptr [EBP + 0xfffffe04],EAX
MOV EAX,0x0
CMOVZ EDI,EAX
LEA EAX,[EBP + 0xfffffebc]
MOV dword ptr [EBP + 0xfffffdfc],EAX
MOV dword ptr [EBP + 0xfffffeb4],EAX
MOV EAX,0xffffffff
TEST EDX,EDX
JZ 0x0016c58a
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe14]
MOV dword ptr [EBP + 0xfffffdf8],EDX
PUSH EDX
CALL 0x000295f0
MOV EDX,dword ptr [EBP + 0xfffffdf8]
ADD ESP,0x10
ADD EAX,EDX
LEA EBX,[EBP + 0xfffffeb4]
PUSH 0x0
PUSH EAX
PUSH EDX
PUSH EBX
MOV dword ptr [EBP + 0xfffffdf0],EBX
CALL 0x00050e40
LEA EAX,[EBP + 0xfffffed8]
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffffecc],0x0
MOV dword ptr [EBP + 0xfffffdf8],EAX
MOV dword ptr [EBP + 0xfffffed0],EAX
MOV EAX,dword ptr [EBP + 0xfffffe14]
PUSH 0x0
LEA EAX,[EAX + 0xfff0ee16]
PUSH EAX
PUSH EAX
LEA EAX,[EBP + 0xfffffed0]
PUSH EAX
CALL 0x00050e40
MOVZX EAX,byte ptr [EBP + 0xfffffe00]
MOV ECX,dword ptr [EBP + 0xfffffe04]
ADD ESP,0x10
MOV byte ptr [EBP + -0x74],0x0
MOVZX EDX,word ptr [EBP + 0xfffffe10]
MOV dword ptr [EBP + 0xfffffef0],EDI
LEA EDI,[EBP + 0xffffff54]
MOV byte ptr [EBP + 0xfffffef4],AL
LEA EAX,[EBP + 0xffffff78]
MOV dword ptr [EBP + 0xffffff70],EAX
LEA EAX,[EBP + -0x4c]
MOV dword ptr [EBP + 0xfffffef8],ECX
LEA ECX,[EBP + 0xffffff60]
MOV dword ptr [EBP + -0x44],EAX
MOV dword ptr [EBP + -0x40],EAX
LEA EAX,[EBP + -0x38]
MOV dword ptr [EBP + 0xffffff54],EBX
MOV byte ptr [EBP + 0xfffffee8],0x0
MOV word ptr [EBP + 0xfffffeec],DX
MOV dword ptr [EBP + 0xfffffefc],0x0
MOV dword ptr [EBP + 0xfffffe00],ECX
MOV dword ptr [EBP + 0xffffff58],ECX
MOV dword ptr [EBP + 0xffffff5c],0x0
MOV byte ptr [EBP + 0xffffff60],0x0
MOV dword ptr [EBP + 0xffffff74],0x0
MOV byte ptr [EBP + 0xffffff78],0x0
MOV dword ptr [EBP + -0x78],0xffffffff
MOV dword ptr [EBP + -0x70],0x0
MOV dword ptr [EBP + -0x6c],0x0
MOV dword ptr [EBP + -0x68],0x0
MOV byte ptr [EBP + -0x64],0x0
MOV dword ptr [EBP + -0x60],0x0
MOV dword ptr [EBP + -0x5c],0x0
MOV dword ptr [EBP + -0x58],0x0
MOV dword ptr [EBP + -0x54],0x0
MOV dword ptr [EBP + -0x4c],0x0
MOV dword ptr [EBP + -0x48],0x0
MOV dword ptr [EBP + -0x3c],0x0
MOV dword ptr [EBP + -0x34],EAX
MOV EBX,dword ptr [EBP + 0xfffffe14]
MOV dword ptr [EBP + -0x38],EAX
LEA EAX,[EBP + 0xfffffe1c]
PUSH EAX
LEA EAX,[EBP + 0xfffffe20]
PUSH -0x1
PUSH EAX
PUSH EDI
MOV dword ptr [EBP + -0x30],0x0
MOV dword ptr [EBP + -0x2c],0x0
MOV byte ptr [EBP + -0x28],0x1
MOV dword ptr [EBP + -0x24],0x0
MOV byte ptr [EBP + -0x20],0x0
MOV dword ptr [EBP + -0x1c],0x0
MOV dword ptr [EBP + 0xfffffe1c],0x0
CALL 0x00069870
LEA EDX,[EBP + 0xffffff70]
MOV byte ptr [EBP + 0xfffffe04],AL
ADD ESP,0x10
MOV dword ptr [EBP + 0xfffffe10],EDX
TEST AL,AL
JNZ 0x0016c810
SUB ESP,0xc
MOV ESI,dword ptr [EBP + 0xfffffe14]
PUSH dword ptr [EBP + 0xfffffe10]
MOV EBX,ESI
CALL 0x00067cc0
MOV EAX,dword ptr [EBP + 0xffffff58]
ADD ESP,0x10
CMP EAX,dword ptr [EBP + 0xfffffe00]
JZ 0x0016c769
SUB ESP,0xc
PUSH EAX
CALL 0x001e6db0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffed0]
CMP EAX,dword ptr [EBP + 0xfffffdf8]
JZ 0x0016c789
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe14]
PUSH EAX
CALL 0x001e6db0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffeb4]
CMP EAX,dword ptr [EBP + 0xfffffdfc]
JZ 0x0016c7a9
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe14]
PUSH EAX
CALL 0x001e6db0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffe38]
CMP EAX,dword ptr [EBP + 0xfffffe08]
JZ 0x0016c7c9
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe14]
PUSH EAX
CALL 0x001e6db0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffe28]
TEST EAX,EAX
JNZ 0x0016cccf
MOV EAX,dword ptr [EBP + 0xfffffe2c]
TEST EAX,EAX
JNZ 0x0016ccb3
MOV EDI,dword ptr [EBP + 0xfffffe30]
TEST EDI,EDI
JNZ 0x0016cc97
MOV ESI,dword ptr [EBP + 0xfffffe34]
TEST ESI,ESI
JNZ 0x0016cc97
MOVZX EAX,byte ptr [EBP + 0xfffffe04]
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x8
LEA EAX,[EBP + 0xfffffe68]
LEA ECX,[EBP + 0xfffffe70]
MOV dword ptr [EBP + 0xfffffe6c],0x0
PUSH EAX
PUSH EDI
MOV dword ptr [EBP + 0xfffffdec],ECX
MOV dword ptr [EBP + 0xfffffe68],ECX
MOV byte ptr [EBP + 0xfffffe70],0x0
CALL 0x00168e00
MOV EAX,dword ptr [EBP + 0xfffffe68]
MOV EDX,dword ptr [EBP + 0xfffffe6c]
ADD ESP,0xc
MOV dword ptr [EBP + 0xfffffe94],0x0
MOV dword ptr [EBP + 0xfffffe98],0x0
LEA EBX,[EBP + 0xfffffe50]
MOV dword ptr [EBP + 0xfffffe80],EAX
MOV dword ptr [EBP + 0xfffffe88],EAX
MOV dword ptr [EBP + 0xfffffeb0],EAX
MOV EAX,dword ptr [EBP + 0xc]
MOV dword ptr [EBP + 0xfffffe84],EDX
MOV EDX,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + 0xfffffe8c],EAX
MOV EAX,dword ptr [EBP + 0xfffffe0c]
CMP EDX,0x3
MOV dword ptr [EBP + 0xfffffe90],EDX
MOV dword ptr [EBP + 0xffffff00],EAX
MOV EAX,dword ptr [ESI + 0x5a90]
SETZ byte ptr [EBP + 0xffffff14]
XOR ECX,ECX
MOV dword ptr [EBP + 0xffffff04],EAX
MOV EAX,dword ptr [ESI + 0x5a94]
MOV dword ptr [EBP + 0xfffffe9c],0x0
MOV dword ptr [EBP + 0xffffff08],EAX
MOV EAX,dword ptr [ESI + 0x5a98]
MOV dword ptr [EBP + 0xfffffea0],0x0
MOV dword ptr [EBP + 0xffffff0c],EAX
MOV EAX,dword ptr [ESI + 0x5a9c]
MOV dword ptr [EBP + 0xfffffea4],0x0
MOV dword ptr [EBP + 0xffffff10],EAX
MOVZX EAX,byte ptr [EBP + -0x20]
MOV dword ptr [EBP + 0xfffffea8],0x0
MOV byte ptr [EBP + 0xffffff16],AL
MOV dword ptr [EBP + 0xfffffeac],0x1
MOV byte ptr [EBP + 0xffffff15],0x0
MOV word ptr [EBP + 0xffffff17],CX
MOV dword ptr [EBP + 0xffffff1c],ESI
MOV EAX,dword ptr [EBP + 0xfffffdf4]
PUSH EBX
MOV dword ptr [EBP + 0xffffff20],EAX
ADD EAX,0x68
MOV dword ptr [EBP + 0xffffff24],EAX
LEA EAX,[EBP + 0xfffffe80]
MOV dword ptr [EBP + 0xffffff28],EAX
LEA EAX,[EBP + 0xffffff40]
PUSH 0x0
PUSH EAX
MOV dword ptr [EBP + 0xffffff2c],0x0
MOV dword ptr [EBP + 0xffffff30],0x0
MOV dword ptr [EBP + 0xffffff34],0x0
MOV dword ptr [EBP + 0xffffff38],0x0
MOV dword ptr [EBP + 0xffffff3c],0x0
MOV dword ptr [EBP + 0xffffff40],0x0
MOV dword ptr [EBP + 0xffffff44],0x0
MOV dword ptr [EBP + 0xffffff48],0x0
MOV dword ptr [EBP + 0xffffff4c],0x0
MOV dword ptr [EBP + 0xffffff50],0x0
MOV dword ptr [EBP + 0xfffffe50],0x0
CALL 0x0016f460
POP EAX
MOV EAX,dword ptr [EBP + 0xfffffe8c]
POP EDX
PUSH EBX
MOV dword ptr [EBP + 0xfffffe50],EAX
LEA EAX,[EBP + 0xffffff34]
PUSH EAX
CALL 0x0016f700
MOV EBX,dword ptr [EBP + 0xfffffe14]
LEA ESI,[EBP + 0xffffff00]
LEA EAX,[EBP + 0xffffff70]
MOV dword ptr [ESP],ESI
MOV dword ptr [EBP + 0xfffffe10],EAX
CALL 0x00191d40
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0016ca60
SUB ESP,0x8
LEA EAX,[EBP + 0xffffff70]
MOV EDI,dword ptr [EBP + 0xfffffe14]
PUSH -0x1
PUSH EAX
MOV EBX,EDI
MOV dword ptr [EBP + 0xfffffe10],EAX
CALL 0x000679d0
MOV EAX,dword ptr [EBP + 0xffffff4c]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0016ca87
MOV EDX,dword ptr [EAX]
CMP dword ptr [EAX + 0x4],EDX
JZ 0x0016ca87
SUB ESP,0x4
LEA EAX,[EDI + 0xfff0a18c]
PUSH EAX
LEA EAX,[EDI + 0xfff0912c]
PUSH 0x666
PUSH EAX
CALL 0x00069d00
SUB ESP,0x8
LEA EAX,[EBP + 0xffffff70]
MOV EBX,dword ptr [EBP + 0xfffffe14]
PUSH -0x1
PUSH EAX
MOV dword ptr [EBP + 0xfffffe10],EAX
CALL 0x000679d0
MOV byte ptr [EBP + 0xfffffe04],0x0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff40]
TEST EAX,EAX
JZ 0x0016caa3
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe14]
PUSH EAX
CALL 0x001e6db0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff34]
TEST EAX,EAX
JZ 0x0016cabf
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe14]
PUSH EAX
CALL 0x001e6db0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xfffffe68]
CMP EAX,dword ptr [EBP + 0xfffffdec]
JZ 0x0016c736
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe14]
PUSH EAX
CALL 0x001e6db0
ADD ESP,0x10
JMP 0x0016c736
LEA EAX,[ESI + 0x2188]
MOV ECX,dword ptr [EBP + 0xfffffe14]
PUSH 0x0
LEA EDI,[EBP + 0xffffff54]
MOV dword ptr [EBP + 0xfffffe04],EAX
LEA EAX,[EBP + 0xffffff5c]
MOV dword ptr [EBP + 0xfffffe10],EAX
MOV dword ptr [EBP + 0xffffff54],EAX
LEA EAX,[ECX + 0xffefec4c]
PUSH EAX
LEA EAX,[ECX + 0xffefec4b]
PUSH EAX
PUSH EDI
CALL 0x00050e40
ADD ESP,0x10
LEA EAX,[EBP + 0xfffffe50]
PUSH EDI
PUSH dword ptr [EBP + 0xfffffe04]
PUSH EBX
PUSH EAX
MOV EBX,dword ptr [EBP + 0xfffffe14]
CALL 0x001a2000
MOV ECX,dword ptr [EBP + 0xfffffe50]
LEA EDI,[EBP + 0xfffffe58]
ADD ESP,0xc
MOV EAX,dword ptr [EBP + 0xfffffe38]
MOV EDX,dword ptr [EBP + 0xfffffe54]
CMP ECX,EDI
JZ 0x0016cc10
MOV EBX,dword ptr [EBP + 0xfffffe58]
MOV dword ptr [EBP + 0xfffffe04],EBX
CMP EAX,dword ptr [EBP + 0xfffffe08]
JZ 0x0016cc58
MOV dword ptr [EBP + 0xfffffe3c],EDX
MOV EDX,dword ptr [EBP + 0xfffffe04]
MOV EBX,dword ptr [EBP + 0xfffffe40]
MOV dword ptr [EBP + 0xfffffe38],ECX
MOV dword ptr [EBP + 0xfffffe40],EDX
TEST EAX,EAX
JZ 0x0016cc6a
MOV dword ptr [EBP + 0xfffffe50],EAX
MOV dword ptr [EBP + 0xfffffe58],EBX
MOV dword ptr [EBP + 0xfffffe54],0x0
MOV byte ptr [EAX],0x0
MOV EAX,dword ptr [EBP + 0xfffffe50]
CMP EAX,EDI
JZ 0x0016cbe3
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe14]
PUSH EAX
CALL 0x001e6db0
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff54]
CMP EAX,dword ptr [EBP + 0xfffffe10]
JZ 0x0016c511
SUB ESP,0xc
MOV EBX,dword ptr [EBP + 0xfffffe14]
PUSH EAX
CALL 0x001e6db0
ADD ESP,0x10
JMP 0x0016c511
TEST EDX,EDX
JZ 0x0016cc40
CMP EDX,0x1
JZ 0x0016cc80
SUB ESP,0x4
MOV EBX,dword ptr [EBP + 0xfffffe14]
PUSH EDX
PUSH EDI
PUSH EAX
CALL 0x000295c0
MOV EDX,dword ptr [EBP + 0xfffffe54]
MOV EAX,dword ptr [EBP + 0xfffffe38]
ADD ESP,0x10
LEA ESI,[ESI]
MOV dword ptr [EBP + 0xfffffe3c],EDX
MOV byte ptr [EAX + EDX*0x1],0x0
MOV EAX,dword ptr [EBP + 0xfffffe50]
JMP 0x0016cbba
MOV dword ptr [EBP + 0xfffffe38],ECX
MOV dword ptr [EBP + 0xfffffe3c],EDX
MOV dword ptr [EBP + 0xfffffe40],EBX
MOV dword ptr [EBP + 0xfffffe50],EDI
LEA EDI,[EBP + 0xfffffe58]
MOV EAX,EDI
JMP 0x0016cbba
MOVZX EDX,byte ptr [EBP + 0xfffffe58]
MOV byte ptr [EAX],DL
MOV EDX,dword ptr [EBP + 0xfffffe54]
MOV EAX,dword ptr [EBP + 0xfffffe38]
JMP 0x0016cc40
PUSH EBX
MOV EBX,dword ptr [EBP + 0xfffffe14]
LEA EAX,[EBX + 0xfff0a174]
PUSH EAX
LEA EAX,[EBX + 0xffef15bd]
PUSH 0x2c
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + 0xfffffe14]
PUSH EAX
LEA EAX,[EBX + 0xfff0a180]
PUSH EAX
LEA EAX,[EBX + 0xffef15bd]
PUSH 0x65
PUSH EAX
CALL 0x00069d00
MOV EBX,dword ptr [EBP + 0xfffffe14]
PUSH EAX
LEA EAX,[EBX + 0xfff0a180]
PUSH EAX
LEA EAX,[EBX + 0xffef15bd]
PUSH 0x64
PUSH EAX
CALL 0x00069d00
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nuint __regparm3 FUN_0016c460(char *param_1,int param_2,int param_3,int param_4,int *param_5)\n\n{\n  char *pcVar1;\n  undefined **ppuVar2;\n  char cVar3;\n  char *pcVar4;\n  size_t sVar5;\n  undefined1 *puVar6;\n  int *piVar7;\n  undefined **ppuVar8;\n  undefined1 ****ppppuVar9;\n  int iVar10;\n  undefined1 ***pppuStack_220;\n  undefined1 auStack_21c [4];\n  undefined1 *local_218;\n  undefined1 **local_214;\n  int local_210;\n  int *local_20c;\n  undefined1 *local_208;\n  undefined1 *local_204;\n  uint local_200;\n  int *local_1fc;\n  char *local_1f8;\n  undefined1 **local_1f4;\n  undefined **local_1f0;\n  undefined4 local_1e8;\n  undefined4 local_1e4;\n  undefined1 local_1e0;\n  int local_1dc;\n  int local_1d8;\n  int local_1d4;\n  int local_1d0;\n  int *local_1cc;\n  size_t local_1c8;\n  int local_1c4 [4];\n  int *local_1b4;\n  size_t local_1b0;\n  int local_1ac [4];\n  undefined1 *local_19c;\n  undefined4 local_198;\n  undefined1 local_194 [16];\n  undefined1 *local_184;\n  undefined4 local_180;\n  undefined1 *local_17c;\n  int *local_178;\n  int local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined4 local_168;\n  undefined4 local_164;\n  undefined4 local_160;\n  undefined4 local_15c;\n  undefined4 local_158;\n  undefined1 *local_154;\n  undefined1 *local_150 [2];\n  undefined1 local_148 [16];\n  undefined4 local_138;\n  undefined1 *local_134 [2];\n  undefined1 local_12c [16];\n  undefined1 local_11c;\n  undefined2 local_118;\n  int local_114;\n  undefined1 local_110;\n  undefined4 local_10c;\n  undefined4 local_108;\n  char *local_104;\n  undefined4 local_100;\n  undefined4 local_fc;\n  undefined4 local_f8;\n  undefined4 local_f4;\n  undefined1 local_f0;\n  undefined1 local_ef;\n  undefined1 local_ee;\n  undefined2 local_ed;\n  int local_e8;\n  int local_e4;\n  int local_e0;\n  undefined1 **local_dc;\n  undefined4 local_d8;\n  undefined4 local_d4;\n  int local_d0 [6];\n  int *local_b8;\n  undefined4 local_b4;\n  undefined1 **local_b0;\n  undefined1 *local_ac;\n  undefined1 *local_a8;\n  undefined1 local_a4 [16];\n  undefined1 *local_94;\n  undefined4 local_90;\n  undefined1 local_8c [16];\n  undefined4 local_7c;\n  undefined1 local_78;\n  undefined4 local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  undefined1 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 *local_48;\n  undefined4 *local_44;\n  undefined4 local_40;\n  undefined4 ****local_3c;\n  undefined4 ****local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined1 local_2c;\n  undefined4 local_28;\n  undefined1 local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x16c46f;\n  local_1f0 = &__DT_PLTGOT;\n  local_1fc = local_1c4;\n  pcVar4 = (char *)0xffffffff;\n  local_1e4 = 0;\n  local_1e0 = 1;\n  local_1dc = 0;\n  local_1d8 = 0;\n  local_1d4 = 0;\n  local_1d0 = 0;\n  local_210 = param_3;\n  local_1f8 = param_1;\n  local_1cc = local_1fc;\n  if (param_1 != (char *)0x0) {\n    sVar5 = strlen(param_1);\n    pcVar4 = param_1 + sVar5;\n  }\n  pcVar1 = local_1f8;\n  pppuStack_220 = (undefined1 ***)0x0;\n                    /* try { // try from 0016c500 to 0016c504 has its CatchHandler @ 0016cd1a */\n  FUN_00050e40(&local_1cc,local_1f8,pcVar4);\n  ppppuVar9 = (undefined1 ****)auStack_21c;\n  if (*pcVar1 == '/') goto LAB_0016c511;\n  local_200 = param_2 + 0x2188;\n  pppuStack_220 = (undefined1 ***)0x0;\n  local_1f4 = &local_a8;\n  local_b0 = local_1f4;\n                    /* try { // try from 0016cb2b to 0016cb2f has its CatchHandler @ 0016cd13 */\n  FUN_00050e40(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed);\n  pppuStack_220 = &local_b0;\n                    /* try { // try from 0016cb48 to 0016cb4c has its CatchHandler @ 0016ccf2 */\n  FUN_001a2000(&local_1b4,&local_1cc,local_200);\n  iVar10 = local_1c4[0];\n  piVar7 = local_1cc;\n  if (local_1b4 == local_1ac) {\n    local_1c8 = local_1b0;\n    if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }\n    *(undefined1 *)((int)local_1cc + local_1c8) = 0;\n  }\n  else {\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }\nLAB_0016cbba:\n  local_1b0 = 0;\n  *(undefined1 *)local_1b4 = 0;\n  if (local_1b4 != local_1ac) {\n    FUN_001e6db0(local_1b4);\n  }\n  ppppuVar9 = &pppuStack_220;\n  if (local_b0 != local_1f4) {\n    FUN_001e6db0(local_b0);\n    ppppuVar9 = &pppuStack_220;\n  }\nLAB_0016c511:\n  iVar10 = *(int *)(param_2 + 0x5a94);\n  local_1f4 = (undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90));\n  local_204 = (undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98));\n  local_200 = *(undefined4 *)(param_2 + 0x5a9c);\n  if (iVar10 == 1) {\n    iVar10 = 0;\n  }\n  local_208 = local_148;\n  puVar6 = (undefined1 *)0xffffffff;\n  piVar7 = local_1cc;\n  local_150[0] = local_208;\n  if (local_1cc != (int *)0x0) {\n    local_20c = local_1cc;\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;\n    sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));\n    puVar6 = (undefined1 *)(sVar5 + (int)local_20c);\n    piVar7 = local_20c;\n  }\n  *(undefined4 *)((int)ppppuVar9 + -4) = 0;\n  *(undefined1 **)((int)ppppuVar9 + -8) = puVar6;\n  *(int **)((int)ppppuVar9 + -0xc) = piVar7;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_150;\n                    /* try { // try from 0016c59b to 0016c59f has its CatchHandler @ 0016cd13 */\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5a0;\n  local_214 = local_150;\n  FUN_00050e40();\n  local_20c = (int *)local_12c;\n  local_138 = 0;\n  *(undefined4 *)((int)ppppuVar9 + -4) = 0;\n  *(int *)((int)ppppuVar9 + -8) = (int)local_1f0 + -0xf11ea;\n  *(int *)((int)ppppuVar9 + -0xc) = (int)local_1f0 + -0xf11ea;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_134;\n                    /* try { // try from 0016c5d6 to 0016c5da has its CatchHandler @ 0016cceb */\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5db;\n  local_134[0] = (undefined1 *)local_20c;\n  FUN_00050e40();\n  local_78 = 0;\n  local_110 = local_204._0_1_;\n  local_94 = local_8c;\n  local_48 = &local_50;\n  local_10c = local_200;\n  local_204 = local_a4;\n  local_3c = &local_3c;\n  local_11c = 0;\n  local_118 = local_1f4._0_2_;\n  local_108 = 0;\n  local_a8 = (undefined1 *)0x0;\n  local_a4[0] = 0;\n  local_90 = 0;\n  local_8c[0] = 0;\n  local_7c = 0xffffffff;\n  local_74 = 0;\n  local_70 = 0;\n  local_6c = 0;\n  local_68 = 0;\n  local_64 = 0;\n  local_60 = 0;\n  local_5c = 0;\n  local_58 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  local_40 = 0;\n  *(undefined4 **)((int)ppppuVar9 + -4) = &local_1e8;\n  *(undefined4 *)((int)ppppuVar9 + -8) = 0xffffffff;\n  *(undefined4 **)((int)ppppuVar9 + -0xc) = &local_1e4;\n  *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n  local_34 = 0;\n  local_30 = 0;\n  local_2c = 1;\n  local_28 = 0;\n  local_24 = 0;\n  local_20 = 0;\n  local_1e8 = 0;\n                    /* try { // try from 0016c714 to 0016c718 has its CatchHandler @ 0016cd26 */\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c719;\n  local_114 = iVar10;\n  local_b0 = local_150;\n  local_ac = local_204;\n  local_44 = local_48;\n  local_38 = local_3c;\n  cVar3 = FUN_00069870();\n  local_1f4 = &local_94;\n  local_200 = CONCAT31(local_200._1_3_,cVar3);\n  if (cVar3 != '\0') {\n    local_218 = local_194;\n    local_198 = 0;\n    *(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;\n    *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n    local_194[0] = 0;\n                    /* try { // try from 0016c83e to 0016c842 has its CatchHandler @ 0016ccf9 */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;\n    local_19c = local_218;\n    FUN_00168e00();\n    local_170 = 0;\n    local_16c = 0;\n    local_184 = local_19c;\n    local_17c = local_19c;\n    local_154 = local_19c;\n    local_180 = local_198;\n    local_178 = param_5;\n    local_f0 = param_4 == 3;\n    local_174 = param_4;\n    local_104 = local_1f8;\n    local_100 = *(undefined4 *)(param_2 + 0x5a90);\n    local_fc = *(undefined4 *)(param_2 + 0x5a94);\n    local_168 = 0;\n    local_f8 = *(undefined4 *)(param_2 + 0x5a98);\n    local_164 = 0;\n    local_f4 = *(undefined4 *)(param_2 + 0x5a9c);\n    local_160 = 0;\n    local_15c = 0;\n    local_ee = local_24;\n    local_158 = 1;\n    local_ef = 0;\n    local_ed = 0;\n    *(int ***)((int)ppppuVar9 + -8) = &local_1b4;\n    local_e4 = local_210;\n    local_e0 = local_210 + 0x68;\n    local_dc = &local_184;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;\n    local_d8 = 0;\n    local_d4 = 0;\n    local_d0[0] = 0;\n    local_d0[1] = 0;\n    local_d0[2] = 0;\n    local_d0[3] = 0;\n    local_d0[4] = 0;\n    local_d0[5] = 0;\n    local_b8 = (int *)0x0;\n    local_b4 = 0;\n    local_1b4 = (int *)0x0;\n                    /* try { // try from 0016c9c7 to 0016c9e6 has its CatchHandler @ 0016cd0c */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;\n    local_e8 = param_2;\n    FUN_0016f460();\n    *(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;\n    local_1b4 = local_178;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;\n    FUN_0016f700();\n    local_1f4 = &local_94;\n    *(char ***)((int)ppppuVar9 + -0x10) = &local_104;\n                    /* try { // try from 0016ca02 to 0016ca7c has its CatchHandler @ 0016cd1f */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;\n    iVar10 = FUN_00191d40();\n    ppuVar8 = local_1f0;\n    if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }\n    if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }\n    if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }\n    if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }\n  }\n  ppuVar8 = local_1f0;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c74c;\n  FUN_00067cc0();\n  if (local_ac != local_204) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;\n    FUN_001e6db0();\n  }\n  ppuVar2 = local_1f0;\n  if ((int *)local_134[0] != local_20c) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  ppuVar2 = local_1f0;\n  if (local_150[0] != local_208) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  ppuVar2 = local_1f0;\n  if (local_1cc != local_1fc) {\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  if (local_1dc != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1dc;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 100;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;\n    FUN_00069d00();\n  }\n  if (local_1d8 != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1d8;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;\n    FUN_00069d00();\n  }\n  if ((local_1d4 == 0) && (local_1d0 == 0)) {\n    return local_200 & 0xff;\n  }\n  *(undefined ***)((int)ppppuVar9 + -4) = ppuVar8;\n  *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a3;\n  *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x2c;\n  *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ccb3;\n  FUN_00069d00();\n}\n\n" comment (function_definition "uint __regparm3 FUN_0016c460(char *param_1,int param_2,int param_3,int param_4,int *param_5)\n\n{\n  char *pcVar1;\n  undefined **ppuVar2;\n  char cVar3;\n  char *pcVar4;\n  size_t sVar5;\n  undefined1 *puVar6;\n  int *piVar7;\n  undefined **ppuVar8;\n  undefined1 ****ppppuVar9;\n  int iVar10;\n  undefined1 ***pppuStack_220;\n  undefined1 auStack_21c [4];\n  undefined1 *local_218;\n  undefined1 **local_214;\n  int local_210;\n  int *local_20c;\n  undefined1 *local_208;\n  undefined1 *local_204;\n  uint local_200;\n  int *local_1fc;\n  char *local_1f8;\n  undefined1 **local_1f4;\n  undefined **local_1f0;\n  undefined4 local_1e8;\n  undefined4 local_1e4;\n  undefined1 local_1e0;\n  int local_1dc;\n  int local_1d8;\n  int local_1d4;\n  int local_1d0;\n  int *local_1cc;\n  size_t local_1c8;\n  int local_1c4 [4];\n  int *local_1b4;\n  size_t local_1b0;\n  int local_1ac [4];\n  undefined1 *local_19c;\n  undefined4 local_198;\n  undefined1 local_194 [16];\n  undefined1 *local_184;\n  undefined4 local_180;\n  undefined1 *local_17c;\n  int *local_178;\n  int local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined4 local_168;\n  undefined4 local_164;\n  undefined4 local_160;\n  undefined4 local_15c;\n  undefined4 local_158;\n  undefined1 *local_154;\n  undefined1 *local_150 [2];\n  undefined1 local_148 [16];\n  undefined4 local_138;\n  undefined1 *local_134 [2];\n  undefined1 local_12c [16];\n  undefined1 local_11c;\n  undefined2 local_118;\n  int local_114;\n  undefined1 local_110;\n  undefined4 local_10c;\n  undefined4 local_108;\n  char *local_104;\n  undefined4 local_100;\n  undefined4 local_fc;\n  undefined4 local_f8;\n  undefined4 local_f4;\n  undefined1 local_f0;\n  undefined1 local_ef;\n  undefined1 local_ee;\n  undefined2 local_ed;\n  int local_e8;\n  int local_e4;\n  int local_e0;\n  undefined1 **local_dc;\n  undefined4 local_d8;\n  undefined4 local_d4;\n  int local_d0 [6];\n  int *local_b8;\n  undefined4 local_b4;\n  undefined1 **local_b0;\n  undefined1 *local_ac;\n  undefined1 *local_a8;\n  undefined1 local_a4 [16];\n  undefined1 *local_94;\n  undefined4 local_90;\n  undefined1 local_8c [16];\n  undefined4 local_7c;\n  undefined1 local_78;\n  undefined4 local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  undefined1 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 *local_48;\n  undefined4 *local_44;\n  undefined4 local_40;\n  undefined4 ****local_3c;\n  undefined4 ****local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined1 local_2c;\n  undefined4 local_28;\n  undefined1 local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x16c46f;\n  local_1f0 = &__DT_PLTGOT;\n  local_1fc = local_1c4;\n  pcVar4 = (char *)0xffffffff;\n  local_1e4 = 0;\n  local_1e0 = 1;\n  local_1dc = 0;\n  local_1d8 = 0;\n  local_1d4 = 0;\n  local_1d0 = 0;\n  local_210 = param_3;\n  local_1f8 = param_1;\n  local_1cc = local_1fc;\n  if (param_1 != (char *)0x0) {\n    sVar5 = strlen(param_1);\n    pcVar4 = param_1 + sVar5;\n  }\n  pcVar1 = local_1f8;\n  pppuStack_220 = (undefined1 ***)0x0;\n                    /* try { // try from 0016c500 to 0016c504 has its CatchHandler @ 0016cd1a */\n  FUN_00050e40(&local_1cc,local_1f8,pcVar4);\n  ppppuVar9 = (undefined1 ****)auStack_21c;\n  if (*pcVar1 == '/') goto LAB_0016c511;\n  local_200 = param_2 + 0x2188;\n  pppuStack_220 = (undefined1 ***)0x0;\n  local_1f4 = &local_a8;\n  local_b0 = local_1f4;\n                    /* try { // try from 0016cb2b to 0016cb2f has its CatchHandler @ 0016cd13 */\n  FUN_00050e40(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed);\n  pppuStack_220 = &local_b0;\n                    /* try { // try from 0016cb48 to 0016cb4c has its CatchHandler @ 0016ccf2 */\n  FUN_001a2000(&local_1b4,&local_1cc,local_200);\n  iVar10 = local_1c4[0];\n  piVar7 = local_1cc;\n  if (local_1b4 == local_1ac) {\n    local_1c8 = local_1b0;\n    if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }\n    *(undefined1 *)((int)local_1cc + local_1c8) = 0;\n  }\n  else {\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }\nLAB_0016cbba:\n  local_1b0 = 0;\n  *(undefined1 *)local_1b4 = 0;\n  if (local_1b4 != local_1ac) {\n    FUN_001e6db0(local_1b4);\n  }\n  ppppuVar9 = &pppuStack_220;\n  if (local_b0 != local_1f4) {\n    FUN_001e6db0(local_b0);\n    ppppuVar9 = &pppuStack_220;\n  }\nLAB_0016c511:\n  iVar10 = *(int *)(param_2 + 0x5a94);\n  local_1f4 = (undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90));\n  local_204 = (undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98));\n  local_200 = *(undefined4 *)(param_2 + 0x5a9c);\n  if (iVar10 == 1) {\n    iVar10 = 0;\n  }\n  local_208 = local_148;\n  puVar6 = (undefined1 *)0xffffffff;\n  piVar7 = local_1cc;\n  local_150[0] = local_208;\n  if (local_1cc != (int *)0x0) {\n    local_20c = local_1cc;\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;\n    sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));\n    puVar6 = (undefined1 *)(sVar5 + (int)local_20c);\n    piVar7 = local_20c;\n  }\n  *(undefined4 *)((int)ppppuVar9 + -4) = 0;\n  *(undefined1 **)((int)ppppuVar9 + -8) = puVar6;\n  *(int **)((int)ppppuVar9 + -0xc) = piVar7;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_150;\n                    /* try { // try from 0016c59b to 0016c59f has its CatchHandler @ 0016cd13 */\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5a0;\n  local_214 = local_150;\n  FUN_00050e40();\n  local_20c = (int *)local_12c;\n  local_138 = 0;\n  *(undefined4 *)((int)ppppuVar9 + -4) = 0;\n  *(int *)((int)ppppuVar9 + -8) = (int)local_1f0 + -0xf11ea;\n  *(int *)((int)ppppuVar9 + -0xc) = (int)local_1f0 + -0xf11ea;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_134;\n                    /* try { // try from 0016c5d6 to 0016c5da has its CatchHandler @ 0016cceb */\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5db;\n  local_134[0] = (undefined1 *)local_20c;\n  FUN_00050e40();\n  local_78 = 0;\n  local_110 = local_204._0_1_;\n  local_94 = local_8c;\n  local_48 = &local_50;\n  local_10c = local_200;\n  local_204 = local_a4;\n  local_3c = &local_3c;\n  local_11c = 0;\n  local_118 = local_1f4._0_2_;\n  local_108 = 0;\n  local_a8 = (undefined1 *)0x0;\n  local_a4[0] = 0;\n  local_90 = 0;\n  local_8c[0] = 0;\n  local_7c = 0xffffffff;\n  local_74 = 0;\n  local_70 = 0;\n  local_6c = 0;\n  local_68 = 0;\n  local_64 = 0;\n  local_60 = 0;\n  local_5c = 0;\n  local_58 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  local_40 = 0;\n  *(undefined4 **)((int)ppppuVar9 + -4) = &local_1e8;\n  *(undefined4 *)((int)ppppuVar9 + -8) = 0xffffffff;\n  *(undefined4 **)((int)ppppuVar9 + -0xc) = &local_1e4;\n  *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n  local_34 = 0;\n  local_30 = 0;\n  local_2c = 1;\n  local_28 = 0;\n  local_24 = 0;\n  local_20 = 0;\n  local_1e8 = 0;\n                    /* try { // try from 0016c714 to 0016c718 has its CatchHandler @ 0016cd26 */\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c719;\n  local_114 = iVar10;\n  local_b0 = local_150;\n  local_ac = local_204;\n  local_44 = local_48;\n  local_38 = local_3c;\n  cVar3 = FUN_00069870();\n  local_1f4 = &local_94;\n  local_200 = CONCAT31(local_200._1_3_,cVar3);\n  if (cVar3 != '\0') {\n    local_218 = local_194;\n    local_198 = 0;\n    *(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;\n    *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n    local_194[0] = 0;\n                    /* try { // try from 0016c83e to 0016c842 has its CatchHandler @ 0016ccf9 */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;\n    local_19c = local_218;\n    FUN_00168e00();\n    local_170 = 0;\n    local_16c = 0;\n    local_184 = local_19c;\n    local_17c = local_19c;\n    local_154 = local_19c;\n    local_180 = local_198;\n    local_178 = param_5;\n    local_f0 = param_4 == 3;\n    local_174 = param_4;\n    local_104 = local_1f8;\n    local_100 = *(undefined4 *)(param_2 + 0x5a90);\n    local_fc = *(undefined4 *)(param_2 + 0x5a94);\n    local_168 = 0;\n    local_f8 = *(undefined4 *)(param_2 + 0x5a98);\n    local_164 = 0;\n    local_f4 = *(undefined4 *)(param_2 + 0x5a9c);\n    local_160 = 0;\n    local_15c = 0;\n    local_ee = local_24;\n    local_158 = 1;\n    local_ef = 0;\n    local_ed = 0;\n    *(int ***)((int)ppppuVar9 + -8) = &local_1b4;\n    local_e4 = local_210;\n    local_e0 = local_210 + 0x68;\n    local_dc = &local_184;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;\n    local_d8 = 0;\n    local_d4 = 0;\n    local_d0[0] = 0;\n    local_d0[1] = 0;\n    local_d0[2] = 0;\n    local_d0[3] = 0;\n    local_d0[4] = 0;\n    local_d0[5] = 0;\n    local_b8 = (int *)0x0;\n    local_b4 = 0;\n    local_1b4 = (int *)0x0;\n                    /* try { // try from 0016c9c7 to 0016c9e6 has its CatchHandler @ 0016cd0c */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;\n    local_e8 = param_2;\n    FUN_0016f460();\n    *(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;\n    local_1b4 = local_178;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;\n    FUN_0016f700();\n    local_1f4 = &local_94;\n    *(char ***)((int)ppppuVar9 + -0x10) = &local_104;\n                    /* try { // try from 0016ca02 to 0016ca7c has its CatchHandler @ 0016cd1f */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;\n    iVar10 = FUN_00191d40();\n    ppuVar8 = local_1f0;\n    if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }\n    if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }\n    if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }\n    if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }\n  }\n  ppuVar8 = local_1f0;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c74c;\n  FUN_00067cc0();\n  if (local_ac != local_204) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;\n    FUN_001e6db0();\n  }\n  ppuVar2 = local_1f0;\n  if ((int *)local_134[0] != local_20c) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  ppuVar2 = local_1f0;\n  if (local_150[0] != local_208) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  ppuVar2 = local_1f0;\n  if (local_1cc != local_1fc) {\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  if (local_1dc != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1dc;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 100;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;\n    FUN_00069d00();\n  }\n  if (local_1d8 != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1d8;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;\n    FUN_00069d00();\n  }\n  if ((local_1d4 == 0) && (local_1d0 == 0)) {\n    return local_200 & 0xff;\n  }\n  *(undefined ***)((int)ppppuVar9 + -4) = ppuVar8;\n  *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a3;\n  *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x2c;\n  *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ccb3;\n  FUN_00069d00();\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_0016c460(char *param_1,int param_2,int param_3,int param_4,int *param_5)" identifier (parameter_list "(char *param_1,int param_2,int param_3,int param_4,int *param_5)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  char *pcVar1;\n  undefined **ppuVar2;\n  char cVar3;\n  char *pcVar4;\n  size_t sVar5;\n  undefined1 *puVar6;\n  int *piVar7;\n  undefined **ppuVar8;\n  undefined1 ****ppppuVar9;\n  int iVar10;\n  undefined1 ***pppuStack_220;\n  undefined1 auStack_21c [4];\n  undefined1 *local_218;\n  undefined1 **local_214;\n  int local_210;\n  int *local_20c;\n  undefined1 *local_208;\n  undefined1 *local_204;\n  uint local_200;\n  int *local_1fc;\n  char *local_1f8;\n  undefined1 **local_1f4;\n  undefined **local_1f0;\n  undefined4 local_1e8;\n  undefined4 local_1e4;\n  undefined1 local_1e0;\n  int local_1dc;\n  int local_1d8;\n  int local_1d4;\n  int local_1d0;\n  int *local_1cc;\n  size_t local_1c8;\n  int local_1c4 [4];\n  int *local_1b4;\n  size_t local_1b0;\n  int local_1ac [4];\n  undefined1 *local_19c;\n  undefined4 local_198;\n  undefined1 local_194 [16];\n  undefined1 *local_184;\n  undefined4 local_180;\n  undefined1 *local_17c;\n  int *local_178;\n  int local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined4 local_168;\n  undefined4 local_164;\n  undefined4 local_160;\n  undefined4 local_15c;\n  undefined4 local_158;\n  undefined1 *local_154;\n  undefined1 *local_150 [2];\n  undefined1 local_148 [16];\n  undefined4 local_138;\n  undefined1 *local_134 [2];\n  undefined1 local_12c [16];\n  undefined1 local_11c;\n  undefined2 local_118;\n  int local_114;\n  undefined1 local_110;\n  undefined4 local_10c;\n  undefined4 local_108;\n  char *local_104;\n  undefined4 local_100;\n  undefined4 local_fc;\n  undefined4 local_f8;\n  undefined4 local_f4;\n  undefined1 local_f0;\n  undefined1 local_ef;\n  undefined1 local_ee;\n  undefined2 local_ed;\n  int local_e8;\n  int local_e4;\n  int local_e0;\n  undefined1 **local_dc;\n  undefined4 local_d8;\n  undefined4 local_d4;\n  int local_d0 [6];\n  int *local_b8;\n  undefined4 local_b4;\n  undefined1 **local_b0;\n  undefined1 *local_ac;\n  undefined1 *local_a8;\n  undefined1 local_a4 [16];\n  undefined1 *local_94;\n  undefined4 local_90;\n  undefined1 local_8c [16];\n  undefined4 local_7c;\n  undefined1 local_78;\n  undefined4 local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  undefined1 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 *local_48;\n  undefined4 *local_44;\n  undefined4 local_40;\n  undefined4 ****local_3c;\n  undefined4 ****local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined1 local_2c;\n  undefined4 local_28;\n  undefined1 local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x16c46f;\n  local_1f0 = &__DT_PLTGOT;\n  local_1fc = local_1c4;\n  pcVar4 = (char *)0xffffffff;\n  local_1e4 = 0;\n  local_1e0 = 1;\n  local_1dc = 0;\n  local_1d8 = 0;\n  local_1d4 = 0;\n  local_1d0 = 0;\n  local_210 = param_3;\n  local_1f8 = param_1;\n  local_1cc = local_1fc;\n  if (param_1 != (char *)0x0) {\n    sVar5 = strlen(param_1);\n    pcVar4 = param_1 + sVar5;\n  }\n  pcVar1 = local_1f8;\n  pppuStack_220 = (undefined1 ***)0x0;\n                    /* try { // try from 0016c500 to 0016c504 has its CatchHandler @ 0016cd1a */\n  FUN_00050e40(&local_1cc,local_1f8,pcVar4);\n  ppppuVar9 = (undefined1 ****)auStack_21c;\n  if (*pcVar1 == '/') goto LAB_0016c511;\n  local_200 = param_2 + 0x2188;\n  pppuStack_220 = (undefined1 ***)0x0;\n  local_1f4 = &local_a8;\n  local_b0 = local_1f4;\n                    /* try { // try from 0016cb2b to 0016cb2f has its CatchHandler @ 0016cd13 */\n  FUN_00050e40(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed);\n  pppuStack_220 = &local_b0;\n                    /* try { // try from 0016cb48 to 0016cb4c has its CatchHandler @ 0016ccf2 */\n  FUN_001a2000(&local_1b4,&local_1cc,local_200);\n  iVar10 = local_1c4[0];\n  piVar7 = local_1cc;\n  if (local_1b4 == local_1ac) {\n    local_1c8 = local_1b0;\n    if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }\n    *(undefined1 *)((int)local_1cc + local_1c8) = 0;\n  }\n  else {\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }\nLAB_0016cbba:\n  local_1b0 = 0;\n  *(undefined1 *)local_1b4 = 0;\n  if (local_1b4 != local_1ac) {\n    FUN_001e6db0(local_1b4);\n  }\n  ppppuVar9 = &pppuStack_220;\n  if (local_b0 != local_1f4) {\n    FUN_001e6db0(local_b0);\n    ppppuVar9 = &pppuStack_220;\n  }\nLAB_0016c511:\n  iVar10 = *(int *)(param_2 + 0x5a94);\n  local_1f4 = (undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90));\n  local_204 = (undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98));\n  local_200 = *(undefined4 *)(param_2 + 0x5a9c);\n  if (iVar10 == 1) {\n    iVar10 = 0;\n  }\n  local_208 = local_148;\n  puVar6 = (undefined1 *)0xffffffff;\n  piVar7 = local_1cc;\n  local_150[0] = local_208;\n  if (local_1cc != (int *)0x0) {\n    local_20c = local_1cc;\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;\n    sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));\n    puVar6 = (undefined1 *)(sVar5 + (int)local_20c);\n    piVar7 = local_20c;\n  }\n  *(undefined4 *)((int)ppppuVar9 + -4) = 0;\n  *(undefined1 **)((int)ppppuVar9 + -8) = puVar6;\n  *(int **)((int)ppppuVar9 + -0xc) = piVar7;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_150;\n                    /* try { // try from 0016c59b to 0016c59f has its CatchHandler @ 0016cd13 */\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5a0;\n  local_214 = local_150;\n  FUN_00050e40();\n  local_20c = (int *)local_12c;\n  local_138 = 0;\n  *(undefined4 *)((int)ppppuVar9 + -4) = 0;\n  *(int *)((int)ppppuVar9 + -8) = (int)local_1f0 + -0xf11ea;\n  *(int *)((int)ppppuVar9 + -0xc) = (int)local_1f0 + -0xf11ea;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_134;\n                    /* try { // try from 0016c5d6 to 0016c5da has its CatchHandler @ 0016cceb */\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5db;\n  local_134[0] = (undefined1 *)local_20c;\n  FUN_00050e40();\n  local_78 = 0;\n  local_110 = local_204._0_1_;\n  local_94 = local_8c;\n  local_48 = &local_50;\n  local_10c = local_200;\n  local_204 = local_a4;\n  local_3c = &local_3c;\n  local_11c = 0;\n  local_118 = local_1f4._0_2_;\n  local_108 = 0;\n  local_a8 = (undefined1 *)0x0;\n  local_a4[0] = 0;\n  local_90 = 0;\n  local_8c[0] = 0;\n  local_7c = 0xffffffff;\n  local_74 = 0;\n  local_70 = 0;\n  local_6c = 0;\n  local_68 = 0;\n  local_64 = 0;\n  local_60 = 0;\n  local_5c = 0;\n  local_58 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  local_40 = 0;\n  *(undefined4 **)((int)ppppuVar9 + -4) = &local_1e8;\n  *(undefined4 *)((int)ppppuVar9 + -8) = 0xffffffff;\n  *(undefined4 **)((int)ppppuVar9 + -0xc) = &local_1e4;\n  *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n  local_34 = 0;\n  local_30 = 0;\n  local_2c = 1;\n  local_28 = 0;\n  local_24 = 0;\n  local_20 = 0;\n  local_1e8 = 0;\n                    /* try { // try from 0016c714 to 0016c718 has its CatchHandler @ 0016cd26 */\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c719;\n  local_114 = iVar10;\n  local_b0 = local_150;\n  local_ac = local_204;\n  local_44 = local_48;\n  local_38 = local_3c;\n  cVar3 = FUN_00069870();\n  local_1f4 = &local_94;\n  local_200 = CONCAT31(local_200._1_3_,cVar3);\n  if (cVar3 != '\0') {\n    local_218 = local_194;\n    local_198 = 0;\n    *(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;\n    *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n    local_194[0] = 0;\n                    /* try { // try from 0016c83e to 0016c842 has its CatchHandler @ 0016ccf9 */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;\n    local_19c = local_218;\n    FUN_00168e00();\n    local_170 = 0;\n    local_16c = 0;\n    local_184 = local_19c;\n    local_17c = local_19c;\n    local_154 = local_19c;\n    local_180 = local_198;\n    local_178 = param_5;\n    local_f0 = param_4 == 3;\n    local_174 = param_4;\n    local_104 = local_1f8;\n    local_100 = *(undefined4 *)(param_2 + 0x5a90);\n    local_fc = *(undefined4 *)(param_2 + 0x5a94);\n    local_168 = 0;\n    local_f8 = *(undefined4 *)(param_2 + 0x5a98);\n    local_164 = 0;\n    local_f4 = *(undefined4 *)(param_2 + 0x5a9c);\n    local_160 = 0;\n    local_15c = 0;\n    local_ee = local_24;\n    local_158 = 1;\n    local_ef = 0;\n    local_ed = 0;\n    *(int ***)((int)ppppuVar9 + -8) = &local_1b4;\n    local_e4 = local_210;\n    local_e0 = local_210 + 0x68;\n    local_dc = &local_184;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;\n    local_d8 = 0;\n    local_d4 = 0;\n    local_d0[0] = 0;\n    local_d0[1] = 0;\n    local_d0[2] = 0;\n    local_d0[3] = 0;\n    local_d0[4] = 0;\n    local_d0[5] = 0;\n    local_b8 = (int *)0x0;\n    local_b4 = 0;\n    local_1b4 = (int *)0x0;\n                    /* try { // try from 0016c9c7 to 0016c9e6 has its CatchHandler @ 0016cd0c */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;\n    local_e8 = param_2;\n    FUN_0016f460();\n    *(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;\n    local_1b4 = local_178;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;\n    FUN_0016f700();\n    local_1f4 = &local_94;\n    *(char ***)((int)ppppuVar9 + -0x10) = &local_104;\n                    /* try { // try from 0016ca02 to 0016ca7c has its CatchHandler @ 0016cd1f */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;\n    iVar10 = FUN_00191d40();\n    ppuVar8 = local_1f0;\n    if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }\n    if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }\n    if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }\n    if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }\n  }\n  ppuVar8 = local_1f0;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c74c;\n  FUN_00067cc0();\n  if (local_ac != local_204) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;\n    FUN_001e6db0();\n  }\n  ppuVar2 = local_1f0;\n  if ((int *)local_134[0] != local_20c) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  ppuVar2 = local_1f0;\n  if (local_150[0] != local_208) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  ppuVar2 = local_1f0;\n  if (local_1cc != local_1fc) {\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  if (local_1dc != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1dc;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 100;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;\n    FUN_00069d00();\n  }\n  if (local_1d8 != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1d8;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;\n    FUN_00069d00();\n  }\n  if ((local_1d4 == 0) && (local_1d0 == 0)) {\n    return local_200 & 0xff;\n  }\n  *(undefined ***)((int)ppppuVar9 + -4) = ppuVar8;\n  *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a3;\n  *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x2c;\n  *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ccb3;\n  FUN_00069d00();\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "undefined **ppuVar2;" type_identifier (pointer_declarator "**ppuVar2" * (pointer_declarator "*ppuVar2" * identifier)) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "undefined **ppuVar8;" type_identifier (pointer_declarator "**ppuVar8" * (pointer_declarator "*ppuVar8" * identifier)) ;) (declaration "undefined1 ****ppppuVar9;" type_identifier (pointer_declarator "****ppppuVar9" * (pointer_declarator "***ppppuVar9" * (pointer_declarator "**ppppuVar9" * (pointer_declarator "*ppppuVar9" * identifier)))) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined1 ***pppuStack_220;" type_identifier (pointer_declarator "***pppuStack_220" * (pointer_declarator "**pppuStack_220" * (pointer_declarator "*pppuStack_220" * identifier))) ;) (declaration "undefined1 auStack_21c [4];" type_identifier (array_declarator "auStack_21c [4]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_218;" type_identifier (pointer_declarator "*local_218" * identifier) ;) (declaration "undefined1 **local_214;" type_identifier (pointer_declarator "**local_214" * (pointer_declarator "*local_214" * identifier)) ;) (declaration "int local_210;" primitive_type identifier ;) (declaration "int *local_20c;" primitive_type (pointer_declarator "*local_20c" * identifier) ;) (declaration "undefined1 *local_208;" type_identifier (pointer_declarator "*local_208" * identifier) ;) (declaration "undefined1 *local_204;" type_identifier (pointer_declarator "*local_204" * identifier) ;) (declaration "uint local_200;" type_identifier identifier ;) (declaration "int *local_1fc;" primitive_type (pointer_declarator "*local_1fc" * identifier) ;) (declaration "char *local_1f8;" primitive_type (pointer_declarator "*local_1f8" * identifier) ;) (declaration "undefined1 **local_1f4;" type_identifier (pointer_declarator "**local_1f4" * (pointer_declarator "*local_1f4" * identifier)) ;) (declaration "undefined **local_1f0;" type_identifier (pointer_declarator "**local_1f0" * (pointer_declarator "*local_1f0" * identifier)) ;) (declaration "undefined4 local_1e8;" type_identifier identifier ;) (declaration "undefined4 local_1e4;" type_identifier identifier ;) (declaration "undefined1 local_1e0;" type_identifier identifier ;) (declaration "int local_1dc;" primitive_type identifier ;) (declaration "int local_1d8;" primitive_type identifier ;) (declaration "int local_1d4;" primitive_type identifier ;) (declaration "int local_1d0;" primitive_type identifier ;) (declaration "int *local_1cc;" primitive_type (pointer_declarator "*local_1cc" * identifier) ;) (declaration "size_t local_1c8;" primitive_type identifier ;) (declaration "int local_1c4 [4];" primitive_type (array_declarator "local_1c4 [4]" identifier [ number_literal ]) ;) (declaration "int *local_1b4;" primitive_type (pointer_declarator "*local_1b4" * identifier) ;) (declaration "size_t local_1b0;" primitive_type identifier ;) (declaration "int local_1ac [4];" primitive_type (array_declarator "local_1ac [4]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_19c;" type_identifier (pointer_declarator "*local_19c" * identifier) ;) (declaration "undefined4 local_198;" type_identifier identifier ;) (declaration "undefined1 local_194 [16];" type_identifier (array_declarator "local_194 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_184;" type_identifier (pointer_declarator "*local_184" * identifier) ;) (declaration "undefined4 local_180;" type_identifier identifier ;) (declaration "undefined1 *local_17c;" type_identifier (pointer_declarator "*local_17c" * identifier) ;) (declaration "int *local_178;" primitive_type (pointer_declarator "*local_178" * identifier) ;) (declaration "int local_174;" primitive_type identifier ;) (declaration "undefined4 local_170;" type_identifier identifier ;) (declaration "undefined4 local_16c;" type_identifier identifier ;) (declaration "undefined4 local_168;" type_identifier identifier ;) (declaration "undefined4 local_164;" type_identifier identifier ;) (declaration "undefined4 local_160;" type_identifier identifier ;) (declaration "undefined4 local_15c;" type_identifier identifier ;) (declaration "undefined4 local_158;" type_identifier identifier ;) (declaration "undefined1 *local_154;" type_identifier (pointer_declarator "*local_154" * identifier) ;) (declaration "undefined1 *local_150 [2];" type_identifier (pointer_declarator "*local_150 [2]" * (array_declarator "local_150 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_148 [16];" type_identifier (array_declarator "local_148 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_138;" type_identifier identifier ;) (declaration "undefined1 *local_134 [2];" type_identifier (pointer_declarator "*local_134 [2]" * (array_declarator "local_134 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_12c [16];" type_identifier (array_declarator "local_12c [16]" identifier [ number_literal ]) ;) (declaration "undefined1 local_11c;" type_identifier identifier ;) (declaration "undefined2 local_118;" type_identifier identifier ;) (declaration "int local_114;" primitive_type identifier ;) (declaration "undefined1 local_110;" type_identifier identifier ;) (declaration "undefined4 local_10c;" type_identifier identifier ;) (declaration "undefined4 local_108;" type_identifier identifier ;) (declaration "char *local_104;" primitive_type (pointer_declarator "*local_104" * identifier) ;) (declaration "undefined4 local_100;" type_identifier identifier ;) (declaration "undefined4 local_fc;" type_identifier identifier ;) (declaration "undefined4 local_f8;" type_identifier identifier ;) (declaration "undefined4 local_f4;" type_identifier identifier ;) (declaration "undefined1 local_f0;" type_identifier identifier ;) (declaration "undefined1 local_ef;" type_identifier identifier ;) (declaration "undefined1 local_ee;" type_identifier identifier ;) (declaration "undefined2 local_ed;" type_identifier identifier ;) (declaration "int local_e8;" primitive_type identifier ;) (declaration "int local_e4;" primitive_type identifier ;) (declaration "int local_e0;" primitive_type identifier ;) (declaration "undefined1 **local_dc;" type_identifier (pointer_declarator "**local_dc" * (pointer_declarator "*local_dc" * identifier)) ;) (declaration "undefined4 local_d8;" type_identifier identifier ;) (declaration "undefined4 local_d4;" type_identifier identifier ;) (declaration "int local_d0 [6];" primitive_type (array_declarator "local_d0 [6]" identifier [ number_literal ]) ;) (declaration "int *local_b8;" primitive_type (pointer_declarator "*local_b8" * identifier) ;) (declaration "undefined4 local_b4;" type_identifier identifier ;) (declaration "undefined1 **local_b0;" type_identifier (pointer_declarator "**local_b0" * (pointer_declarator "*local_b0" * identifier)) ;) (declaration "undefined1 *local_ac;" type_identifier (pointer_declarator "*local_ac" * identifier) ;) (declaration "undefined1 *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "undefined1 local_a4 [16];" type_identifier (array_declarator "local_a4 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_94;" type_identifier (pointer_declarator "*local_94" * identifier) ;) (declaration "undefined4 local_90;" type_identifier identifier ;) (declaration "undefined1 local_8c [16];" type_identifier (array_declarator "local_8c [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_7c;" type_identifier identifier ;) (declaration "undefined1 local_78;" type_identifier identifier ;) (declaration "undefined4 local_74;" type_identifier identifier ;) (declaration "undefined4 local_70;" type_identifier identifier ;) (declaration "undefined4 local_6c;" type_identifier identifier ;) (declaration "undefined1 local_68;" type_identifier identifier ;) (declaration "undefined4 local_64;" type_identifier identifier ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "undefined4 *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 ****local_3c;" type_identifier (pointer_declarator "****local_3c" * (pointer_declarator "***local_3c" * (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier)))) ;) (declaration "undefined4 ****local_38;" type_identifier (pointer_declarator "****local_38" * (pointer_declarator "***local_38" * (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier)))) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined1 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined1 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x16c46f;" (assignment_expression "uStack_14 = 0x16c46f" identifier = number_literal) ;) (expression_statement "local_1f0 = &__DT_PLTGOT;" (assignment_expression "local_1f0 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_1fc = local_1c4;" (assignment_expression "local_1fc = local_1c4" identifier = identifier) ;) (expression_statement "pcVar4 = (char *)0xffffffff;" (assignment_expression "pcVar4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1e4 = 0;" (assignment_expression "local_1e4 = 0" identifier = number_literal) ;) (expression_statement "local_1e0 = 1;" (assignment_expression "local_1e0 = 1" identifier = number_literal) ;) (expression_statement "local_1dc = 0;" (assignment_expression "local_1dc = 0" identifier = number_literal) ;) (expression_statement "local_1d8 = 0;" (assignment_expression "local_1d8 = 0" identifier = number_literal) ;) (expression_statement "local_1d4 = 0;" (assignment_expression "local_1d4 = 0" identifier = number_literal) ;) (expression_statement "local_1d0 = 0;" (assignment_expression "local_1d0 = 0" identifier = number_literal) ;) (expression_statement "local_210 = param_3;" (assignment_expression "local_210 = param_3" identifier = identifier) ;) (expression_statement "local_1f8 = param_1;" (assignment_expression "local_1f8 = param_1" identifier = identifier) ;) (expression_statement "local_1cc = local_1fc;" (assignment_expression "local_1cc = local_1fc" identifier = identifier) ;) (if_statement "if (param_1 != (char *)0x0) {\n    sVar5 = strlen(param_1);\n    pcVar4 = param_1 + sVar5;\n  }" if (parenthesized_expression "(param_1 != (char *)0x0)" ( (binary_expression "param_1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    sVar5 = strlen(param_1);\n    pcVar4 = param_1 + sVar5;\n  }" { (expression_statement "sVar5 = strlen(param_1);" (assignment_expression "sVar5 = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar4 = param_1 + sVar5;" (assignment_expression "pcVar4 = param_1 + sVar5" identifier = (binary_expression "param_1 + sVar5" identifier + identifier)) ;) })) (expression_statement "pcVar1 = local_1f8;" (assignment_expression "pcVar1 = local_1f8" identifier = identifier) ;) (expression_statement "pppuStack_220 = (undefined1 ***)0x0;" (assignment_expression "pppuStack_220 = (undefined1 ***)0x0" identifier = (cast_expression "(undefined1 ***)0x0" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) comment (expression_statement "FUN_00050e40(&local_1cc,local_1f8,pcVar4);" (call_expression "FUN_00050e40(&local_1cc,local_1f8,pcVar4)" identifier (argument_list "(&local_1cc,local_1f8,pcVar4)" ( (pointer_expression "&local_1cc" & identifier) , identifier , identifier ))) ;) (expression_statement "ppppuVar9 = (undefined1 ****)auStack_21c;" (assignment_expression "ppppuVar9 = (undefined1 ****)auStack_21c" identifier = (cast_expression "(undefined1 ****)auStack_21c" ( (type_descriptor "undefined1 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (*pcVar1 == '/') goto LAB_0016c511;" if (parenthesized_expression "(*pcVar1 == '/')" ( (binary_expression "*pcVar1 == '/'" (pointer_expression "*pcVar1" * identifier) == (char_literal "'/'" ' character ')) )) (goto_statement "goto LAB_0016c511;" goto statement_identifier ;)) (expression_statement "local_200 = param_2 + 0x2188;" (assignment_expression "local_200 = param_2 + 0x2188" identifier = (binary_expression "param_2 + 0x2188" identifier + number_literal)) ;) (expression_statement "pppuStack_220 = (undefined1 ***)0x0;" (assignment_expression "pppuStack_220 = (undefined1 ***)0x0" identifier = (cast_expression "(undefined1 ***)0x0" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_1f4 = &local_a8;" (assignment_expression "local_1f4 = &local_a8" identifier = (pointer_expression "&local_a8" & identifier)) ;) (expression_statement "local_b0 = local_1f4;" (assignment_expression "local_b0 = local_1f4" identifier = identifier) ;) comment (expression_statement "FUN_00050e40(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed);" (call_expression "FUN_00050e40(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed)" identifier (argument_list "(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed)" ( (pointer_expression "&local_b0" & identifier) , (binary_expression "(int)local_1f0 + -0x1013b5" (cast_expression "(int)local_1f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "local_1f0 + -0x404ed" identifier + number_literal) ))) ;) (expression_statement "pppuStack_220 = &local_b0;" (assignment_expression "pppuStack_220 = &local_b0" identifier = (pointer_expression "&local_b0" & identifier)) ;) comment (expression_statement "FUN_001a2000(&local_1b4,&local_1cc,local_200);" (call_expression "FUN_001a2000(&local_1b4,&local_1cc,local_200)" identifier (argument_list "(&local_1b4,&local_1cc,local_200)" ( (pointer_expression "&local_1b4" & identifier) , (pointer_expression "&local_1cc" & identifier) , identifier ))) ;) (expression_statement "iVar10 = local_1c4[0];" (assignment_expression "iVar10 = local_1c4[0]" identifier = (subscript_expression "local_1c4[0]" identifier [ number_literal ])) ;) (expression_statement "piVar7 = local_1cc;" (assignment_expression "piVar7 = local_1cc" identifier = identifier) ;) (if_statement "if (local_1b4 == local_1ac) {\n    local_1c8 = local_1b0;\n    if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }\n    *(undefined1 *)((int)local_1cc + local_1c8) = 0;\n  }\n  else {\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }" if (parenthesized_expression "(local_1b4 == local_1ac)" ( (binary_expression "local_1b4 == local_1ac" identifier == identifier) )) (compound_statement "{\n    local_1c8 = local_1b0;\n    if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }\n    *(undefined1 *)((int)local_1cc + local_1c8) = 0;\n  }" { (expression_statement "local_1c8 = local_1b0;" (assignment_expression "local_1c8 = local_1b0" identifier = identifier) ;) (if_statement "if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }" if (parenthesized_expression "(local_1b0 != 0)" ( (binary_expression "local_1b0 != 0" identifier != number_literal) )) (compound_statement "{\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }" { (if_statement "if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }" if (parenthesized_expression "(local_1b0 == 1)" ( (binary_expression "local_1b0 == 1" identifier == number_literal) )) (compound_statement "{\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }" { (expression_statement "*(undefined1 *)local_1cc = (undefined1)local_1ac[0];" (assignment_expression "*(undefined1 *)local_1cc = (undefined1)local_1ac[0]" (pointer_expression "*(undefined1 *)local_1cc" * (cast_expression "(undefined1 *)local_1cc" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(undefined1)local_1ac[0]" ( (type_descriptor "undefined1" type_identifier) ) (subscript_expression "local_1ac[0]" identifier [ number_literal ]))) ;) (expression_statement "local_1c8 = local_1b0;" (assignment_expression "local_1c8 = local_1b0" identifier = identifier) ;) }) (else_clause "else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }" else (compound_statement "{\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }" { (expression_statement "memcpy(local_1cc,local_1ac,local_1b0);" (call_expression "memcpy(local_1cc,local_1ac,local_1b0)" identifier (argument_list "(local_1cc,local_1ac,local_1b0)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_1c8 = local_1b0;" (assignment_expression "local_1c8 = local_1b0" identifier = identifier) ;) }))) })) (expression_statement "*(undefined1 *)((int)local_1cc + local_1c8) = 0;" (assignment_expression "*(undefined1 *)((int)local_1cc + local_1c8) = 0" (pointer_expression "*(undefined1 *)((int)local_1cc + local_1c8)" * (cast_expression "(undefined1 *)((int)local_1cc + local_1c8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1cc + local_1c8)" ( (binary_expression "(int)local_1cc + local_1c8" (cast_expression "(int)local_1cc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) }) (else_clause "else {\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }" else (compound_statement "{\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }" { (expression_statement "local_200 = local_1ac[0];" (assignment_expression "local_200 = local_1ac[0]" identifier = (subscript_expression "local_1ac[0]" identifier [ number_literal ])) ;) (if_statement "if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }" if (parenthesized_expression "(local_1cc != local_1fc)" ( (binary_expression "local_1cc != local_1fc" identifier != identifier) )) (compound_statement "{\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }" { (expression_statement "local_1c8 = local_1b0;" (assignment_expression "local_1c8 = local_1b0" identifier = identifier) ;) (expression_statement "local_1cc = local_1b4;" (assignment_expression "local_1cc = local_1b4" identifier = identifier) ;) (expression_statement "local_1c4[0] = local_1ac[0];" (assignment_expression "local_1c4[0] = local_1ac[0]" (subscript_expression "local_1c4[0]" identifier [ number_literal ]) = (subscript_expression "local_1ac[0]" identifier [ number_literal ])) ;) (if_statement "if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }" if (parenthesized_expression "(piVar7 != (int *)0x0)" ( (binary_expression "piVar7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }" { (expression_statement "local_1b4 = piVar7;" (assignment_expression "local_1b4 = piVar7" identifier = identifier) ;) (expression_statement "local_1ac[0] = iVar10;" (assignment_expression "local_1ac[0] = iVar10" (subscript_expression "local_1ac[0]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_0016cbba;" goto statement_identifier ;) })) })) (expression_statement "local_1c4[0] = local_1ac[0];" (assignment_expression "local_1c4[0] = local_1ac[0]" (subscript_expression "local_1c4[0]" identifier [ number_literal ]) = (subscript_expression "local_1ac[0]" identifier [ number_literal ])) ;) (expression_statement "local_1c8 = local_1b0;" (assignment_expression "local_1c8 = local_1b0" identifier = identifier) ;) (expression_statement "local_1cc = local_1b4;" (assignment_expression "local_1cc = local_1b4" identifier = identifier) ;) (expression_statement "local_1b4 = local_1ac;" (assignment_expression "local_1b4 = local_1ac" identifier = identifier) ;) }))) (labeled_statement "LAB_0016cbba:\n  local_1b0 = 0;" statement_identifier : (expression_statement "local_1b0 = 0;" (assignment_expression "local_1b0 = 0" identifier = number_literal) ;)) (expression_statement "*(undefined1 *)local_1b4 = 0;" (assignment_expression "*(undefined1 *)local_1b4 = 0" (pointer_expression "*(undefined1 *)local_1b4" * (cast_expression "(undefined1 *)local_1b4" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (if_statement "if (local_1b4 != local_1ac) {\n    FUN_001e6db0(local_1b4);\n  }" if (parenthesized_expression "(local_1b4 != local_1ac)" ( (binary_expression "local_1b4 != local_1ac" identifier != identifier) )) (compound_statement "{\n    FUN_001e6db0(local_1b4);\n  }" { (expression_statement "FUN_001e6db0(local_1b4);" (call_expression "FUN_001e6db0(local_1b4)" identifier (argument_list "(local_1b4)" ( identifier ))) ;) })) (expression_statement "ppppuVar9 = &pppuStack_220;" (assignment_expression "ppppuVar9 = &pppuStack_220" identifier = (pointer_expression "&pppuStack_220" & identifier)) ;) (if_statement "if (local_b0 != local_1f4) {\n    FUN_001e6db0(local_b0);\n    ppppuVar9 = &pppuStack_220;\n  }" if (parenthesized_expression "(local_b0 != local_1f4)" ( (binary_expression "local_b0 != local_1f4" identifier != identifier) )) (compound_statement "{\n    FUN_001e6db0(local_b0);\n    ppppuVar9 = &pppuStack_220;\n  }" { (expression_statement "FUN_001e6db0(local_b0);" (call_expression "FUN_001e6db0(local_b0)" identifier (argument_list "(local_b0)" ( identifier ))) ;) (expression_statement "ppppuVar9 = &pppuStack_220;" (assignment_expression "ppppuVar9 = &pppuStack_220" identifier = (pointer_expression "&pppuStack_220" & identifier)) ;) })) (labeled_statement "LAB_0016c511:\n  iVar10 = *(int *)(param_2 + 0x5a94);" statement_identifier : (expression_statement "iVar10 = *(int *)(param_2 + 0x5a94);" (assignment_expression "iVar10 = *(int *)(param_2 + 0x5a94)" identifier = (pointer_expression "*(int *)(param_2 + 0x5a94)" * (cast_expression "(int *)(param_2 + 0x5a94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x5a94)" ( (binary_expression "param_2 + 0x5a94" identifier + number_literal) ))))) ;)) (expression_statement "local_1f4 = (undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90));" (assignment_expression "local_1f4 = (undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90))" identifier = (cast_expression "(undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90))" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90))" identifier (argument_list "(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90))" ( (field_expression "local_1f4._2_2_" identifier . field_identifier) , (pointer_expression "*(undefined2 *)(param_2 + 0x5a90)" * (cast_expression "(undefined2 *)(param_2 + 0x5a90)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x5a90)" ( (binary_expression "param_2 + 0x5a90" identifier + number_literal) )))) ))))) ;) (expression_statement "local_204 = (undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98));" (assignment_expression "local_204 = (undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98))" identifier = (cast_expression "(undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98))" identifier (argument_list "(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98))" ( (field_expression "local_204._1_3_" identifier . field_identifier) , (pointer_expression "*(undefined1 *)(param_2 + 0x5a98)" * (cast_expression "(undefined1 *)(param_2 + 0x5a98)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x5a98)" ( (binary_expression "param_2 + 0x5a98" identifier + number_literal) )))) ))))) ;) (expression_statement "local_200 = *(undefined4 *)(param_2 + 0x5a9c);" (assignment_expression "local_200 = *(undefined4 *)(param_2 + 0x5a9c)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x5a9c)" * (cast_expression "(undefined4 *)(param_2 + 0x5a9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x5a9c)" ( (binary_expression "param_2 + 0x5a9c" identifier + number_literal) ))))) ;) (if_statement "if (iVar10 == 1) {\n    iVar10 = 0;\n  }" if (parenthesized_expression "(iVar10 == 1)" ( (binary_expression "iVar10 == 1" identifier == number_literal) )) (compound_statement "{\n    iVar10 = 0;\n  }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) })) (expression_statement "local_208 = local_148;" (assignment_expression "local_208 = local_148" identifier = identifier) ;) (expression_statement "puVar6 = (undefined1 *)0xffffffff;" (assignment_expression "puVar6 = (undefined1 *)0xffffffff" identifier = (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar7 = local_1cc;" (assignment_expression "piVar7 = local_1cc" identifier = identifier) ;) (expression_statement "local_150[0] = local_208;" (assignment_expression "local_150[0] = local_208" (subscript_expression "local_150[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_1cc != (int *)0x0) {\n    local_20c = local_1cc;\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;\n    sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));\n    puVar6 = (undefined1 *)(sVar5 + (int)local_20c);\n    piVar7 = local_20c;\n  }" if (parenthesized_expression "(local_1cc != (int *)0x0)" ( (binary_expression "local_1cc != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_20c = local_1cc;\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;\n    sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));\n    puVar6 = (undefined1 *)(sVar5 + (int)local_20c);\n    piVar7 = local_20c;\n  }" { (expression_statement "local_20c = local_1cc;" (assignment_expression "local_20c = local_1cc" identifier = identifier) ;) (expression_statement "*(int **)((int)ppppuVar9 + -0x10) = local_1cc;" (assignment_expression "*(int **)((int)ppppuVar9 + -0x10) = local_1cc" (pointer_expression "*(int **)((int)ppppuVar9 + -0x10)" * (cast_expression "(int **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));" (assignment_expression "sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10))" identifier = (call_expression "strlen(*(char **)((int)ppppuVar9 + -0x10))" identifier (argument_list "(*(char **)((int)ppppuVar9 + -0x10))" ( (pointer_expression "*(char **)((int)ppppuVar9 + -0x10)" * (cast_expression "(char **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar6 = (undefined1 *)(sVar5 + (int)local_20c);" (assignment_expression "puVar6 = (undefined1 *)(sVar5 + (int)local_20c)" identifier = (cast_expression "(undefined1 *)(sVar5 + (int)local_20c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar5 + (int)local_20c)" ( (binary_expression "sVar5 + (int)local_20c" identifier + (cast_expression "(int)local_20c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar7 = local_20c;" (assignment_expression "piVar7 = local_20c" identifier = identifier) ;) })) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -4) = 0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -4)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -4)" ( (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)ppppuVar9 + -8) = puVar6;" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -8) = puVar6" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -8)" * (cast_expression "(undefined1 **)((int)ppppuVar9 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -8)" ( (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)ppppuVar9 + -0xc) = piVar7;" (assignment_expression "*(int **)((int)ppppuVar9 + -0xc) = piVar7" (pointer_expression "*(int **)((int)ppppuVar9 + -0xc)" * (cast_expression "(int **)((int)ppppuVar9 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_150;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_150" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5a0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5a0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_214 = local_150;" (assignment_expression "local_214 = local_150" identifier = identifier) ;) (expression_statement "FUN_00050e40();" (call_expression "FUN_00050e40()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_20c = (int *)local_12c;" (assignment_expression "local_20c = (int *)local_12c" identifier = (cast_expression "(int *)local_12c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_138 = 0;" (assignment_expression "local_138 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -4) = 0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -4)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -4)" ( (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppppuVar9 + -8) = (int)local_1f0 + -0xf11ea;" (assignment_expression "*(int *)((int)ppppuVar9 + -8) = (int)local_1f0 + -0xf11ea" (pointer_expression "*(int *)((int)ppppuVar9 + -8)" * (cast_expression "(int *)((int)ppppuVar9 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -8)" ( (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_1f0 + -0xf11ea" (cast_expression "(int)local_1f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(int *)((int)ppppuVar9 + -0xc) = (int)local_1f0 + -0xf11ea;" (assignment_expression "*(int *)((int)ppppuVar9 + -0xc) = (int)local_1f0 + -0xf11ea" (pointer_expression "*(int *)((int)ppppuVar9 + -0xc)" * (cast_expression "(int *)((int)ppppuVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_1f0 + -0xf11ea" (cast_expression "(int)local_1f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_134;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_134" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) comment (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5db;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5db" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_134[0] = (undefined1 *)local_20c;" (assignment_expression "local_134[0] = (undefined1 *)local_20c" (subscript_expression "local_134[0]" identifier [ number_literal ]) = (cast_expression "(undefined1 *)local_20c" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "FUN_00050e40();" (call_expression "FUN_00050e40()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_110 = local_204._0_1_;" (assignment_expression "local_110 = local_204._0_1_" identifier = (field_expression "local_204._0_1_" identifier . field_identifier)) ;) (expression_statement "local_94 = local_8c;" (assignment_expression "local_94 = local_8c" identifier = identifier) ;) (expression_statement "local_48 = &local_50;" (assignment_expression "local_48 = &local_50" identifier = (pointer_expression "&local_50" & identifier)) ;) (expression_statement "local_10c = local_200;" (assignment_expression "local_10c = local_200" identifier = identifier) ;) (expression_statement "local_204 = local_a4;" (assignment_expression "local_204 = local_a4" identifier = identifier) ;) (expression_statement "local_3c = &local_3c;" (assignment_expression "local_3c = &local_3c" identifier = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "local_11c = 0;" (assignment_expression "local_11c = 0" identifier = number_literal) ;) (expression_statement "local_118 = local_1f4._0_2_;" (assignment_expression "local_118 = local_1f4._0_2_" identifier = (field_expression "local_1f4._0_2_" identifier . field_identifier)) ;) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" identifier = number_literal) ;) (expression_statement "local_a8 = (undefined1 *)0x0;" (assignment_expression "local_a8 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4[0] = 0;" (assignment_expression "local_a4[0] = 0" (subscript_expression "local_a4[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_8c[0] = 0;" (assignment_expression "local_8c[0] = 0" (subscript_expression "local_8c[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_7c = 0xffffffff;" (assignment_expression "local_7c = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 **)((int)ppppuVar9 + -4) = &local_1e8;" (assignment_expression "*(undefined4 **)((int)ppppuVar9 + -4) = &local_1e8" (pointer_expression "*(undefined4 **)((int)ppppuVar9 + -4)" * (cast_expression "(undefined4 **)((int)ppppuVar9 + -4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -4)" ( (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_1e8" & identifier)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -8) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -8) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -8)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -8)" ( (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)((int)ppppuVar9 + -0xc) = &local_1e4;" (assignment_expression "*(undefined4 **)((int)ppppuVar9 + -0xc) = &local_1e4" (pointer_expression "*(undefined4 **)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined4 **)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_1e4" & identifier)) ;) (expression_statement "*(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;" (assignment_expression "*(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0" (pointer_expression "*(undefined1 ****)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 ****)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_b0" & identifier)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "local_1e8 = 0;" (assignment_expression "local_1e8 = 0" identifier = number_literal) ;) comment (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c719;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c719" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_114 = iVar10;" (assignment_expression "local_114 = iVar10" identifier = identifier) ;) (expression_statement "local_b0 = local_150;" (assignment_expression "local_b0 = local_150" identifier = identifier) ;) (expression_statement "local_ac = local_204;" (assignment_expression "local_ac = local_204" identifier = identifier) ;) (expression_statement "local_44 = local_48;" (assignment_expression "local_44 = local_48" identifier = identifier) ;) (expression_statement "local_38 = local_3c;" (assignment_expression "local_38 = local_3c" identifier = identifier) ;) (expression_statement "cVar3 = FUN_00069870();" (assignment_expression "cVar3 = FUN_00069870()" identifier = (call_expression "FUN_00069870()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_1f4 = &local_94;" (assignment_expression "local_1f4 = &local_94" identifier = (pointer_expression "&local_94" & identifier)) ;) (expression_statement "local_200 = CONCAT31(local_200._1_3_,cVar3);" (assignment_expression "local_200 = CONCAT31(local_200._1_3_,cVar3)" identifier = (call_expression "CONCAT31(local_200._1_3_,cVar3)" identifier (argument_list "(local_200._1_3_,cVar3)" ( (field_expression "local_200._1_3_" identifier . field_identifier) , identifier )))) ;) (if_statement "if (cVar3 != '\0') {\n    local_218 = local_194;\n    local_198 = 0;\n    *(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;\n    *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n    local_194[0] = 0;\n                    /* try { // try from 0016c83e to 0016c842 has its CatchHandler @ 0016ccf9 */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;\n    local_19c = local_218;\n    FUN_00168e00();\n    local_170 = 0;\n    local_16c = 0;\n    local_184 = local_19c;\n    local_17c = local_19c;\n    local_154 = local_19c;\n    local_180 = local_198;\n    local_178 = param_5;\n    local_f0 = param_4 == 3;\n    local_174 = param_4;\n    local_104 = local_1f8;\n    local_100 = *(undefined4 *)(param_2 + 0x5a90);\n    local_fc = *(undefined4 *)(param_2 + 0x5a94);\n    local_168 = 0;\n    local_f8 = *(undefined4 *)(param_2 + 0x5a98);\n    local_164 = 0;\n    local_f4 = *(undefined4 *)(param_2 + 0x5a9c);\n    local_160 = 0;\n    local_15c = 0;\n    local_ee = local_24;\n    local_158 = 1;\n    local_ef = 0;\n    local_ed = 0;\n    *(int ***)((int)ppppuVar9 + -8) = &local_1b4;\n    local_e4 = local_210;\n    local_e0 = local_210 + 0x68;\n    local_dc = &local_184;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;\n    local_d8 = 0;\n    local_d4 = 0;\n    local_d0[0] = 0;\n    local_d0[1] = 0;\n    local_d0[2] = 0;\n    local_d0[3] = 0;\n    local_d0[4] = 0;\n    local_d0[5] = 0;\n    local_b8 = (int *)0x0;\n    local_b4 = 0;\n    local_1b4 = (int *)0x0;\n                    /* try { // try from 0016c9c7 to 0016c9e6 has its CatchHandler @ 0016cd0c */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;\n    local_e8 = param_2;\n    FUN_0016f460();\n    *(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;\n    local_1b4 = local_178;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;\n    FUN_0016f700();\n    local_1f4 = &local_94;\n    *(char ***)((int)ppppuVar9 + -0x10) = &local_104;\n                    /* try { // try from 0016ca02 to 0016ca7c has its CatchHandler @ 0016cd1f */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;\n    iVar10 = FUN_00191d40();\n    ppuVar8 = local_1f0;\n    if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }\n    if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }\n    if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }\n    if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }\n  }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_218 = local_194;\n    local_198 = 0;\n    *(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;\n    *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n    local_194[0] = 0;\n                    /* try { // try from 0016c83e to 0016c842 has its CatchHandler @ 0016ccf9 */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;\n    local_19c = local_218;\n    FUN_00168e00();\n    local_170 = 0;\n    local_16c = 0;\n    local_184 = local_19c;\n    local_17c = local_19c;\n    local_154 = local_19c;\n    local_180 = local_198;\n    local_178 = param_5;\n    local_f0 = param_4 == 3;\n    local_174 = param_4;\n    local_104 = local_1f8;\n    local_100 = *(undefined4 *)(param_2 + 0x5a90);\n    local_fc = *(undefined4 *)(param_2 + 0x5a94);\n    local_168 = 0;\n    local_f8 = *(undefined4 *)(param_2 + 0x5a98);\n    local_164 = 0;\n    local_f4 = *(undefined4 *)(param_2 + 0x5a9c);\n    local_160 = 0;\n    local_15c = 0;\n    local_ee = local_24;\n    local_158 = 1;\n    local_ef = 0;\n    local_ed = 0;\n    *(int ***)((int)ppppuVar9 + -8) = &local_1b4;\n    local_e4 = local_210;\n    local_e0 = local_210 + 0x68;\n    local_dc = &local_184;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;\n    local_d8 = 0;\n    local_d4 = 0;\n    local_d0[0] = 0;\n    local_d0[1] = 0;\n    local_d0[2] = 0;\n    local_d0[3] = 0;\n    local_d0[4] = 0;\n    local_d0[5] = 0;\n    local_b8 = (int *)0x0;\n    local_b4 = 0;\n    local_1b4 = (int *)0x0;\n                    /* try { // try from 0016c9c7 to 0016c9e6 has its CatchHandler @ 0016cd0c */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;\n    local_e8 = param_2;\n    FUN_0016f460();\n    *(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;\n    local_1b4 = local_178;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;\n    FUN_0016f700();\n    local_1f4 = &local_94;\n    *(char ***)((int)ppppuVar9 + -0x10) = &local_104;\n                    /* try { // try from 0016ca02 to 0016ca7c has its CatchHandler @ 0016cd1f */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;\n    iVar10 = FUN_00191d40();\n    ppuVar8 = local_1f0;\n    if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }\n    if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }\n    if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }\n    if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }\n  }" { (expression_statement "local_218 = local_194;" (assignment_expression "local_218 = local_194" identifier = identifier) ;) (expression_statement "local_198 = 0;" (assignment_expression "local_198 = 0" identifier = number_literal) ;) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_19c" & identifier)) ;) (expression_statement "*(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;" (assignment_expression "*(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0" (pointer_expression "*(undefined1 ****)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 ****)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_b0" & identifier)) ;) (expression_statement "local_194[0] = 0;" (assignment_expression "local_194[0] = 0" (subscript_expression "local_194[0]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_19c = local_218;" (assignment_expression "local_19c = local_218" identifier = identifier) ;) (expression_statement "FUN_00168e00();" (call_expression "FUN_00168e00()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_170 = 0;" (assignment_expression "local_170 = 0" identifier = number_literal) ;) (expression_statement "local_16c = 0;" (assignment_expression "local_16c = 0" identifier = number_literal) ;) (expression_statement "local_184 = local_19c;" (assignment_expression "local_184 = local_19c" identifier = identifier) ;) (expression_statement "local_17c = local_19c;" (assignment_expression "local_17c = local_19c" identifier = identifier) ;) (expression_statement "local_154 = local_19c;" (assignment_expression "local_154 = local_19c" identifier = identifier) ;) (expression_statement "local_180 = local_198;" (assignment_expression "local_180 = local_198" identifier = identifier) ;) (expression_statement "local_178 = param_5;" (assignment_expression "local_178 = param_5" identifier = identifier) ;) (expression_statement "local_f0 = param_4 == 3;" (assignment_expression "local_f0 = param_4 == 3" identifier = (binary_expression "param_4 == 3" identifier == number_literal)) ;) (expression_statement "local_174 = param_4;" (assignment_expression "local_174 = param_4" identifier = identifier) ;) (expression_statement "local_104 = local_1f8;" (assignment_expression "local_104 = local_1f8" identifier = identifier) ;) (expression_statement "local_100 = *(undefined4 *)(param_2 + 0x5a90);" (assignment_expression "local_100 = *(undefined4 *)(param_2 + 0x5a90)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x5a90)" * (cast_expression "(undefined4 *)(param_2 + 0x5a90)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x5a90)" ( (binary_expression "param_2 + 0x5a90" identifier + number_literal) ))))) ;) (expression_statement "local_fc = *(undefined4 *)(param_2 + 0x5a94);" (assignment_expression "local_fc = *(undefined4 *)(param_2 + 0x5a94)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x5a94)" * (cast_expression "(undefined4 *)(param_2 + 0x5a94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x5a94)" ( (binary_expression "param_2 + 0x5a94" identifier + number_literal) ))))) ;) (expression_statement "local_168 = 0;" (assignment_expression "local_168 = 0" identifier = number_literal) ;) (expression_statement "local_f8 = *(undefined4 *)(param_2 + 0x5a98);" (assignment_expression "local_f8 = *(undefined4 *)(param_2 + 0x5a98)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x5a98)" * (cast_expression "(undefined4 *)(param_2 + 0x5a98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x5a98)" ( (binary_expression "param_2 + 0x5a98" identifier + number_literal) ))))) ;) (expression_statement "local_164 = 0;" (assignment_expression "local_164 = 0" identifier = number_literal) ;) (expression_statement "local_f4 = *(undefined4 *)(param_2 + 0x5a9c);" (assignment_expression "local_f4 = *(undefined4 *)(param_2 + 0x5a9c)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x5a9c)" * (cast_expression "(undefined4 *)(param_2 + 0x5a9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x5a9c)" ( (binary_expression "param_2 + 0x5a9c" identifier + number_literal) ))))) ;) (expression_statement "local_160 = 0;" (assignment_expression "local_160 = 0" identifier = number_literal) ;) (expression_statement "local_15c = 0;" (assignment_expression "local_15c = 0" identifier = number_literal) ;) (expression_statement "local_ee = local_24;" (assignment_expression "local_ee = local_24" identifier = identifier) ;) (expression_statement "local_158 = 1;" (assignment_expression "local_158 = 1" identifier = number_literal) ;) (expression_statement "local_ef = 0;" (assignment_expression "local_ef = 0" identifier = number_literal) ;) (expression_statement "local_ed = 0;" (assignment_expression "local_ed = 0" identifier = number_literal) ;) (expression_statement "*(int ***)((int)ppppuVar9 + -8) = &local_1b4;" (assignment_expression "*(int ***)((int)ppppuVar9 + -8) = &local_1b4" (pointer_expression "*(int ***)((int)ppppuVar9 + -8)" * (cast_expression "(int ***)((int)ppppuVar9 + -8)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -8)" ( (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_1b4" & identifier)) ;) (expression_statement "local_e4 = local_210;" (assignment_expression "local_e4 = local_210" identifier = identifier) ;) (expression_statement "local_e0 = local_210 + 0x68;" (assignment_expression "local_e0 = local_210 + 0x68" identifier = (binary_expression "local_210 + 0x68" identifier + number_literal)) ;) (expression_statement "local_dc = &local_184;" (assignment_expression "local_dc = &local_184" identifier = (pointer_expression "&local_184" & identifier)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;" (assignment_expression "*(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3" (pointer_expression "*(int **)((int)ppppuVar9 + -0x10)" * (cast_expression "(int **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_d0 + 3" identifier + number_literal)) ;) (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" identifier = number_literal) ;) (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) (expression_statement "local_d0[0] = 0;" (assignment_expression "local_d0[0] = 0" (subscript_expression "local_d0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_d0[1] = 0;" (assignment_expression "local_d0[1] = 0" (subscript_expression "local_d0[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_d0[2] = 0;" (assignment_expression "local_d0[2] = 0" (subscript_expression "local_d0[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_d0[3] = 0;" (assignment_expression "local_d0[3] = 0" (subscript_expression "local_d0[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_d0[4] = 0;" (assignment_expression "local_d0[4] = 0" (subscript_expression "local_d0[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_d0[5] = 0;" (assignment_expression "local_d0[5] = 0" (subscript_expression "local_d0[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_b8 = (int *)0x0;" (assignment_expression "local_b8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;) (expression_statement "local_1b4 = (int *)0x0;" (assignment_expression "local_1b4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_e8 = param_2;" (assignment_expression "local_e8 = param_2" identifier = identifier) ;) (expression_statement "FUN_0016f460();" (call_expression "FUN_0016f460()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;" (assignment_expression "*(int ***)((int)ppppuVar9 + -0xc) = &local_1b4" (pointer_expression "*(int ***)((int)ppppuVar9 + -0xc)" * (cast_expression "(int ***)((int)ppppuVar9 + -0xc)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_1b4" & identifier)) ;) (expression_statement "local_1b4 = local_178;" (assignment_expression "local_1b4 = local_178" identifier = identifier) ;) (expression_statement "*(int **)((int)ppppuVar9 + -0x10) = local_d0;" (assignment_expression "*(int **)((int)ppppuVar9 + -0x10) = local_d0" (pointer_expression "*(int **)((int)ppppuVar9 + -0x10)" * (cast_expression "(int **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0016f700();" (call_expression "FUN_0016f700()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_1f4 = &local_94;" (assignment_expression "local_1f4 = &local_94" identifier = (pointer_expression "&local_94" & identifier)) ;) (expression_statement "*(char ***)((int)ppppuVar9 + -0x10) = &local_104;" (assignment_expression "*(char ***)((int)ppppuVar9 + -0x10) = &local_104" (pointer_expression "*(char ***)((int)ppppuVar9 + -0x10)" * (cast_expression "(char ***)((int)ppppuVar9 + -0x10)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_104" & identifier)) ;) comment (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar10 = FUN_00191d40();" (assignment_expression "iVar10 = FUN_00191d40()" identifier = (call_expression "FUN_00191d40()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppuVar8 = local_1f0;" (assignment_expression "ppuVar8 = local_1f0" identifier = identifier) ;) (if_statement "if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }" { (expression_statement "local_1f4 = &local_94;" (assignment_expression "local_1f4 = &local_94" identifier = (pointer_expression "&local_94" & identifier)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000679d0();" (call_expression "FUN_000679d0()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }" if (parenthesized_expression "((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8))" ( (binary_expression "(local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)" (parenthesized_expression "(local_b8 != (int *)0x0)" ( (binary_expression "local_b8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_b8[1] != *local_b8)" ( (binary_expression "local_b8[1] != *local_b8" (subscript_expression "local_b8[1]" identifier [ number_literal ]) != (pointer_expression "*local_b8" * identifier)) ))) )) (compound_statement "{\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -8)" * (cast_expression "(undefined ***)((int)ppppuVar9 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -8)" ( (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "ppuVar8 + -0x3d79d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined ***)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "ppuVar8 + -0x3dbb5" identifier + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }" else (compound_statement "{\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }" { (expression_statement "local_1f4 = &local_94;" (assignment_expression "local_1f4 = &local_94" identifier = (pointer_expression "&local_94" & identifier)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000679d0();" (call_expression "FUN_000679d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_200 = local_200 & 0xffffff00;" (assignment_expression "local_200 = local_200 & 0xffffff00" identifier = (binary_expression "local_200 & 0xffffff00" identifier & number_literal)) ;) }))) (if_statement "if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }" if (parenthesized_expression "(local_d0[3] != 0)" ( (binary_expression "local_d0[3] != 0" (subscript_expression "local_d0[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }" { (expression_statement "*(int *)((int)ppppuVar9 + -0x10) = local_d0[3];" (assignment_expression "*(int *)((int)ppppuVar9 + -0x10) = local_d0[3]" (pointer_expression "*(int *)((int)ppppuVar9 + -0x10)" * (cast_expression "(int *)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_d0[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }" if (parenthesized_expression "(local_d0[0] != 0)" ( (binary_expression "local_d0[0] != 0" (subscript_expression "local_d0[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }" { (expression_statement "*(int *)((int)ppppuVar9 + -0x10) = local_d0[0];" (assignment_expression "*(int *)((int)ppppuVar9 + -0x10) = local_d0[0]" (pointer_expression "*(int *)((int)ppppuVar9 + -0x10)" * (cast_expression "(int *)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_d0[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }" if (parenthesized_expression "(local_19c != local_218)" ( (binary_expression "local_19c != local_218" identifier != identifier) )) (compound_statement "{\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }" { (expression_statement "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "ppuVar8 = local_1f0;" (assignment_expression "ppuVar8 = local_1f0" identifier = identifier) ;) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c74c;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c74c" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00067cc0();" (call_expression "FUN_00067cc0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_ac != local_204) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;\n    FUN_001e6db0();\n  }" if (parenthesized_expression "(local_ac != local_204)" ( (binary_expression "local_ac != local_204" identifier != identifier) )) (compound_statement "{\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;\n    FUN_001e6db0();\n  }" { (expression_statement "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar2 = local_1f0;" (assignment_expression "ppuVar2 = local_1f0" identifier = identifier) ;) (if_statement "if ((int *)local_134[0] != local_20c) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" if (parenthesized_expression "((int *)local_134[0] != local_20c)" ( (binary_expression "(int *)local_134[0] != local_20c" (cast_expression "(int *)local_134[0]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_134[0]" identifier [ number_literal ])) != identifier) )) (compound_statement "{\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" { (expression_statement "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0]" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_134[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar8 = ppuVar2;" (assignment_expression "ppuVar8 = ppuVar2" identifier = identifier) ;) })) (expression_statement "ppuVar2 = local_1f0;" (assignment_expression "ppuVar2 = local_1f0" identifier = identifier) ;) (if_statement "if (local_150[0] != local_208) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" if (parenthesized_expression "(local_150[0] != local_208)" ( (binary_expression "local_150[0] != local_208" (subscript_expression "local_150[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" { (expression_statement "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0]" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_150[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar8 = ppuVar2;" (assignment_expression "ppuVar8 = ppuVar2" identifier = identifier) ;) })) (expression_statement "ppuVar2 = local_1f0;" (assignment_expression "ppuVar2 = local_1f0" identifier = identifier) ;) (if_statement "if (local_1cc != local_1fc) {\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" if (parenthesized_expression "(local_1cc != local_1fc)" ( (binary_expression "local_1cc != local_1fc" identifier != identifier) )) (compound_statement "{\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" { (expression_statement "*(int **)((int)ppppuVar9 + -0x10) = local_1cc;" (assignment_expression "*(int **)((int)ppppuVar9 + -0x10) = local_1cc" (pointer_expression "*(int **)((int)ppppuVar9 + -0x10)" * (cast_expression "(int **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar8 = ppuVar2;" (assignment_expression "ppuVar8 = ppuVar2" identifier = identifier) ;) })) (if_statement "if (local_1dc != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1dc;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 100;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;\n    FUN_00069d00();\n  }" if (parenthesized_expression "(local_1dc != 0)" ( (binary_expression "local_1dc != 0" identifier != number_literal) )) (compound_statement "{\n    *(int *)((int)ppppuVar9 + -4) = local_1dc;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 100;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    /* WARNING: Subroutine does not return */\n    *(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;\n    FUN_00069d00();\n  }" { (expression_statement "*(int *)((int)ppppuVar9 + -4) = local_1dc;" (assignment_expression "*(int *)((int)ppppuVar9 + -4) = local_1dc" (pointer_expression "*(int *)((int)ppppuVar9 + -4)" * (cast_expression "(int *)((int)ppppuVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -4)" ( (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -8)" * (cast_expression "(undefined ***)((int)ppppuVar9 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -8)" ( (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_1f0 + -0x3d7a0" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 100;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 100" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;" (assignment_expression "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43" (pointer_expression "*(int *)((int)ppppuVar9 + -0x10)" * (cast_expression "(int *)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_1f0 + -0x10ea43" (cast_expression "(int)local_1f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined1 **)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&LAB_0016cceb" & identifier)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_1d8 != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1d8;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;\n    FUN_00069d00();\n  }" if (parenthesized_expression "(local_1d8 != 0)" ( (binary_expression "local_1d8 != 0" identifier != number_literal) )) (compound_statement "{\n    *(int *)((int)ppppuVar9 + -4) = local_1d8;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;\n    FUN_00069d00();\n  }" { (expression_statement "*(int *)((int)ppppuVar9 + -4) = local_1d8;" (assignment_expression "*(int *)((int)ppppuVar9 + -4) = local_1d8" (pointer_expression "*(int *)((int)ppppuVar9 + -4)" * (cast_expression "(int *)((int)ppppuVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -4)" ( (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -8)" * (cast_expression "(undefined ***)((int)ppppuVar9 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -8)" ( (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_1f0 + -0x3d7a0" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;" (assignment_expression "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43" (pointer_expression "*(int *)((int)ppppuVar9 + -0x10)" * (cast_expression "(int *)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_1f0 + -0x10ea43" (cast_expression "(int)local_1f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((local_1d4 == 0) && (local_1d0 == 0)) {\n    return local_200 & 0xff;\n  }" if (parenthesized_expression "((local_1d4 == 0) && (local_1d0 == 0))" ( (binary_expression "(local_1d4 == 0) && (local_1d0 == 0)" (parenthesized_expression "(local_1d4 == 0)" ( (binary_expression "local_1d4 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_1d0 == 0)" ( (binary_expression "local_1d0 == 0" identifier == number_literal) ))) )) (compound_statement "{\n    return local_200 & 0xff;\n  }" { (return_statement "return local_200 & 0xff;" return (binary_expression "local_200 & 0xff" identifier & number_literal) ;) })) (expression_statement "*(undefined ***)((int)ppppuVar9 + -4) = ppuVar8;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -4) = ppuVar8" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -4)" * (cast_expression "(undefined ***)((int)ppppuVar9 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -4)" ( (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a3;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a3" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -8)" * (cast_expression "(undefined ***)((int)ppppuVar9 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -8)" ( (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_1f0 + -0x3d7a3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x2c;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x2c" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;" (assignment_expression "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43" (pointer_expression "*(int *)((int)ppppuVar9 + -0x10)" * (cast_expression "(int *)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_1f0 + -0x10ea43" (cast_expression "(int)local_1f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) comment (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ccb3;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ccb3" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (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\nbool __regparm3\ngold::read_script_file\n          (char *filename,Command_line *cmdline,Script_options *script_options,int first_token,\n          Mode lex_mode)\n\n{\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar1;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar2;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar3;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar4;\n  size_type *psVar5;\n  bool bVar6;\n  undefined2 uVar7;\n  Incremental_disposition IVar8;\n  _Alloc_hider _Var9;\n  undefined4 uVar10;\n  char *pcVar11;\n  size_t sVar12;\n  pointer pcVar13;\n  int iVar14;\n  Object_format OVar15;\n  Dirsearch *__file;\n  char local_200;\n  File_read *local_1f4;\n  int dummy;\n  Dirsearch dirsearch;\n  string name;\n  string local_1b4;\n  string input_string;\n  Lex lex;\n  Input_file_argument input_argument;\n  Parser_closure closure;\n  Input_file input_file;\n  \n  paVar1 = &name.field_2;\n  pcVar11 = (char *)0xffffffff;\n  dirsearch.directories_ = (Dir_list *)0x0;\n  dirsearch.token_.is_blocker_ = true;\n  dirsearch.token_.blockers_ = 0;\n  dirsearch.token_.writer_ = (Task *)0x0;\n  dirsearch.token_.waiting_.head_ = (Task *)0x0;\n  dirsearch.token_.waiting_.tail_ = (Task *)0x0;\n  name._M_dataplus._M_p = (pointer)paVar1;\n  if (filename != (char *)0x0) {\n    sVar12 = strlen(filename);\n    pcVar11 = filename + sVar12;\n  }\n                    /* try { // try from 0016c500 to 0016c504 has its CatchHandler @ 0016cd1a */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>(&name,filename,pcVar11,0);\n  if (*filename == '/') goto LAB_0016c511;\n  psVar5 = &input_file.found_name_._M_string_length;\n  input_file.input_argument_ = (Input_file_argument *)psVar5;\n                    /* try { // try from 0016cb2b to 0016cb2f has its CatchHandler @ 0016cd13 */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>\n            ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&input_file,".",""\n             ,0);\n                    /* try { // try from 0016cb48 to 0016cb4c has its CatchHandler @ 0016ccf2 */\n  Dirsearch::find_file_in_dir_list\n            (&local_1b4,&name,&(cmdline->options_).library_path_.value,(string *)&input_file);\n  uVar10 = name.field_2._M_allocated_capacity;\n  _Var9 = name._M_dataplus;\n  paVar2 = &local_1b4.field_2;\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_1b4._M_dataplus._M_p == paVar2) {\n    name._M_string_length = local_1b4._M_string_length;\n    if (local_1b4._M_string_length != 0) {\n      if (local_1b4._M_string_length == 1) {\n        *name._M_dataplus._M_p = local_1b4.field_2._M_local_buf[0];\n        name._M_string_length = local_1b4._M_string_length;\n      }\n      else {\n        memcpy(name._M_dataplus._M_p,paVar2,local_1b4._M_string_length);\n        name._M_string_length = local_1b4._M_string_length;\n      }\n    }\n    name._M_dataplus._M_p[name._M_string_length] = '\0';\n  }\n  else {\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)name._M_dataplus._M_p != paVar1) {\n      name._M_string_length = local_1b4._M_string_length;\n      name._M_dataplus._M_p = local_1b4._M_dataplus._M_p;\n      name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity;\n      if (_Var9._M_p != (pointer)0x0) {\n        local_1b4._M_dataplus._M_p = _Var9._M_p;\n        local_1b4.field_2._M_allocated_capacity = uVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity;\n    name._M_string_length = local_1b4._M_string_length;\n    name._M_dataplus._M_p = local_1b4._M_dataplus._M_p;\n    local_1b4._M_dataplus._M_p = (pointer)paVar2;\n  }\nLAB_0016cbba:\n  local_1b4._M_string_length = 0;\n  *local_1b4._M_dataplus._M_p = '\0';\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_1b4._M_dataplus._M_p != &local_1b4.field_2) {\n    operator_delete(local_1b4._M_dataplus._M_p);\n  }\n  if (input_file.input_argument_ != (Input_file_argument *)psVar5) {\n    operator_delete(input_file.input_argument_);\n  }\nLAB_0016c511:\n  _Var9._M_p = name._M_dataplus._M_p;\n  uVar7._0_1_ = (cmdline->position_options_).as_needed_;\n  uVar7._1_1_ = (cmdline->position_options_).Bdynamic_;\n  OVar15 = (cmdline->position_options_).format_enum_;\n  bVar6 = (cmdline->position_options_).whole_archive_;\n  IVar8 = (cmdline->position_options_).incremental_disposition_;\n  if (OVar15 == OBJECT_FORMAT_BINARY) {\n    OVar15 = OBJECT_FORMAT_ELF;\n  }\n  paVar2 = &input_argument.name_.field_2;\n  pcVar13 = (pointer)0xffffffff;\n  input_argument.name_._M_dataplus._M_p = (pointer)paVar2;\n  if (name._M_dataplus._M_p != (pointer)0x0) {\n    sVar12 = strlen(name._M_dataplus._M_p);\n    pcVar13 = _Var9._M_p + sVar12;\n  }\n                    /* try { // try from 0016c59b to 0016c59f has its CatchHandler @ 0016cd13 */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>(&input_argument.name_,_Var9._M_p,pcVar13,0);\n  paVar3 = &input_argument.extra_search_path_.field_2;\n  input_argument.type_ = INPUT_FILE_TYPE_FILE;\n  input_argument.extra_search_path_._M_dataplus._M_p = (pointer)paVar3;\n                    /* try { // try from 0016c5d6 to 0016c5da has its CatchHandler @ 0016cceb */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>(&input_argument.extra_search_path_,"","",0);\n  input_file.file_.is_descriptor_opened_ = false;\n  input_file.file_.name_._M_dataplus._M_p = (pointer)&input_file.file_.name_.field_2;\n  input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n       &input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header;\n  paVar4 = &input_file.found_name_.field_2;\n  input_file.file_.saved_views_.\n  super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl._M_node.\n  super__List_node_base._M_next = (_List_node_base *)&input_file.file_.saved_views_;\n  input_argument.just_symbols_ = false;\n  input_argument.arg_serial_ = 0;\n  input_file.found_name_._M_string_length = 0;\n  input_file.found_name_.field_2._M_local_buf[0] = '\0';\n  input_file.file_.name_._M_string_length = 0;\n  input_file.file_.name_.field_2._M_local_buf[0] = '\0';\n  input_file.file_.descriptor_ = -1;\n  input_file.file_.object_count_ = 0;\n  input_file.file_.size_._0_4_ = 0;\n  input_file.file_.size_._4_4_ = 0;\n  input_file.file_.token_.is_blocker_ = false;\n  input_file.file_.token_.blockers_ = 0;\n  input_file.file_.token_.writer_ = (Task *)0x0;\n  input_file.file_.token_.waiting_.head_ = (Task *)0x0;\n  input_file.file_.token_.waiting_.tail_ = (Task *)0x0;\n  input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n  input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n  input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n  __file = &dirsearch;\n  input_file.file_.saved_views_.\n  super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl._M_node.\n  _M_size = 0;\n  input_file.file_.mapped_bytes_ = 0;\n  input_file.file_.released_ = true;\n  input_file.file_.whole_file_view_ = (View *)0x0;\n  input_file.is_in_sysroot_ = false;\n  input_file.format_ = FORMAT_NONE;\n  dummy = 0;\n  input_argument.options_._0_2_ = uVar7;\n  input_argument.options_.format_enum_ = OVar15;\n  input_argument.options_.whole_archive_ = bVar6;\n  input_argument.options_.incremental_disposition_ = IVar8;\n  input_file.input_argument_ = &input_argument;\n  input_file.found_name_._M_dataplus._M_p = (pointer)paVar4;\n  input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n       input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n  input_file.file_.saved_views_.\n  super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl._M_node.\n  super__List_node_base._M_prev =\n       input_file.file_.saved_views_.\n       super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n       _M_node.super__List_node_base._M_next;\n                    /* try { // try from 0016c714 to 0016c718 has its CatchHandler @ 0016cd26 */\n  iVar14 = Input_file::open(&input_file,(char *)__file,-1,&dummy);\n  local_200 = (char)iVar14;\n  if (local_200 != '\0') {\n    input_string._M_string_length = 0;\n    input_string.field_2._M_local_buf[0] = '\0';\n    input_string._M_dataplus._M_p = (pointer)&input_string.field_2;\n                    /* try { // try from 0016c83e to 0016c842 has its CatchHandler @ 0016ccf9 */\n    Lex::read_file(&input_file,&input_string);\n    lex.token_.classification_ = TOKEN_INVALID;\n    lex.token_.value_ = (char *)0x0;\n    lex.input_string_ = input_string._M_dataplus._M_p;\n    lex.current_ = input_string._M_dataplus._M_p;\n    lex.linestart_ = input_string._M_dataplus._M_p;\n    lex.input_length_ = input_string._M_string_length;\n    lex.mode_ = lex_mode;\n    closure.parsing_defsym_ = first_token == 3;\n    lex.first_token_ = first_token;\n    closure.posdep_options_.as_needed_ = (cmdline->position_options_).as_needed_;\n    closure.posdep_options_.Bdynamic_ = (cmdline->position_options_).Bdynamic_;\n    closure.posdep_options_._2_2_ = *(undefined2 *)&(cmdline->position_options_).field_0x2;\n    closure.posdep_options_.format_enum_ = (cmdline->position_options_).format_enum_;\n    lex.token_.value_length_ = 0;\n    closure.posdep_options_.whole_archive_ = (cmdline->position_options_).whole_archive_;\n    closure.posdep_options_._9_3_ = *(undefined3 *)&(cmdline->position_options_).field_0x9;\n    lex.token_.opcode_ = 0;\n    closure.posdep_options_.incremental_disposition_ =\n         (cmdline->position_options_).incremental_disposition_;\n    lex.token_.lineno_ = 0;\n    lex.token_.charpos_ = 0;\n    closure.is_in_sysroot_ = input_file.is_in_sysroot_;\n    lex.lineno_ = 1;\n    closure.in_group_ = false;\n    closure.skip_on_incompatible_target_ = false;\n    closure.found_incompatible_target_ = false;\n    closure.version_script_info_ = &script_options->version_script_info_;\n    closure.lex_ = &lex;\n    closure.lineno_ = 0;\n    closure.charpos_ = 0;\n    closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n    _M_impl._M_start = (pointer)0x0;\n    closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n    _M_impl._M_finish = (pointer)0x0;\n    closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n    _M_impl._M_end_of_storage = (pointer)0x0;\n    closure.language_stack_.\n    super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ._M_impl._M_start = (pointer)0x0;\n    closure.language_stack_.\n    super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    closure.language_stack_.\n    super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    closure.inputs_ = (Input_arguments *)0x0;\n    closure.script_info_ = (Script_info *)0x0;\n    local_1b4._M_dataplus._M_p = (pointer)0x0;\n    closure.filename_ = filename;\n    closure.command_line_ = cmdline;\n    closure.script_options_ = script_options;\n                    /* try { // try from 0016c9c7 to 0016c9e6 has its CatchHandler @ 0016cd0c */\n    std::\n    vector<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ::_M_realloc_insert<gold::Version_script_info::Language>\n              (&closure.language_stack_,(iterator)0x0,(Language *)&local_1b4);\n    local_1b4._M_dataplus._M_p = (pointer)lex.mode_;\n    std::vector<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>::emplace_back<gold::Lex::Mode>\n              (&closure.lex_mode_stack_,(Mode *)&local_1b4);\n                    /* try { // try from 0016ca02 to 0016ca7c has its CatchHandler @ 0016cd1f */\n    iVar14 = yyparse(&closure);\n    if (iVar14 == 0) {\n      __file = (Dirsearch *)0xffffffff;\n      File_read::unlock(&input_file.file_,(Task *)0xffffffff);\n      if ((closure.inputs_ != (Input_arguments *)0x0) &&\n         (((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish !=\n          ((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_start)) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script.cc",0x666,"read_script_file");\n      }\n    }\n    else {\n      __file = (Dirsearch *)0xffffffff;\n      File_read::unlock(&input_file.file_,(Task *)0xffffffff);\n      local_200 = '\0';\n    }\n    if (closure.language_stack_.\n        super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n        ._M_impl._M_start != (pointer)0x0) {\n      operator_delete(closure.language_stack_.\n                      super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n                      ._M_impl._M_start);\n    }\n    if (closure.lex_mode_stack_.\n        super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>._M_impl._M_start !=\n        (pointer)0x0) {\n      operator_delete(closure.lex_mode_stack_.\n                      super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>._M_impl.\n                      _M_start);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)input_string._M_dataplus._M_p != &input_string.field_2) {\n      operator_delete(input_string._M_dataplus._M_p);\n    }\n  }\n  local_1f4 = &input_file.file_;\n  File_read::~File_read(local_1f4,(int)__file);\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)input_file.found_name_._M_dataplus._M_p != paVar4) {\n    operator_delete(input_file.found_name_._M_dataplus._M_p);\n  }\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)input_argument.extra_search_path_._M_dataplus._M_p != paVar3) {\n    operator_delete(input_argument.extra_search_path_._M_dataplus._M_p);\n  }\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)input_argument.name_._M_dataplus._M_p != paVar2) {\n    operator_delete(input_argument.name_._M_dataplus._M_p);\n  }\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)name._M_dataplus._M_p != paVar1) {\n    operator_delete(name._M_dataplus._M_p);\n  }\n  if (dirsearch.token_.blockers_ != 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/token.h",100,"~Task_token");\n  }\n  if (dirsearch.token_.writer_ != (Task *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/token.h",0x65,"~Task_token");\n  }\n  if ((dirsearch.token_.waiting_.head_ == (Task *)0x0) &&\n     (dirsearch.token_.waiting_.tail_ == (Task *)0x0)) {\n    return (bool)local_200;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/token.h",0x2c,"~Task_list");\n}\n\n" comment comment comment (declaration "bool __regparm3" primitive_type identifier ;) (labeled_statement "gold::read_script_file\n          (char *filename,Command_line *cmdline,Script_options *script_options,int first_token,\n          Mode lex_mode)\n\n{\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar1;" statement_identifier : (ERROR ":read_script_file\n          (char *filename,Command_line *cmdline,Script_options *script_options,int first_token,\n          Mode lex_mode)\n\n{\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" : (call_expression "read_script_file\n          (char *filename,Command_line *cmdline,Script_options *script_options,int first_token,\n          Mode lex_mode)" identifier (argument_list "(char *filename,Command_line *cmdline,Script_options *script_options,int first_token,\n          Mode lex_mode)" ( (binary_expression "char *filename" identifier * identifier) , (binary_expression "Command_line *cmdline" identifier * identifier) , (binary_expression "Script_options *script_options" identifier * identifier) , (ERROR "int" identifier) identifier , (ERROR "Mode" identifier) identifier ))) { (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  *paVar1;" (binary_expression "allocator<char>_>_9\n  *paVar1" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar1" identifier * identifier)) ;)) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char," (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) ,) (labeled_statement "_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar2;" statement_identifier (ERROR "::char_traits<char>,_std:" : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) :) : (expression_statement "allocator<char>_>_9\n  *paVar2;" (binary_expression "allocator<char>_>_9\n  *paVar2" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar2" identifier * identifier)) ;)) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char," (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) ,) (labeled_statement "_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar3;" statement_identifier (ERROR "::char_traits<char>,_std:" : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) :) : (expression_statement "allocator<char>_>_9\n  *paVar3;" (binary_expression "allocator<char>_>_9\n  *paVar3" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar3" identifier * identifier)) ;)) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char," (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) ,) (labeled_statement "_std::char_traits<char>,_std::allocator<char>_>_9\n  *paVar4;" statement_identifier (ERROR "::char_traits<char>,_std:" : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) :) : (expression_statement "allocator<char>_>_9\n  *paVar4;" (binary_expression "allocator<char>_>_9\n  *paVar4" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *paVar4" identifier * identifier)) ;)) (declaration "size_type *psVar5;" type_identifier (pointer_declarator "*psVar5" * identifier) ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "undefined2 uVar7;" type_identifier identifier ;) (declaration "Incremental_disposition IVar8;" type_identifier identifier ;) (declaration "_Alloc_hider _Var9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "pointer pcVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "Object_format OVar15;" type_identifier identifier ;) (declaration "Dirsearch *__file;" type_identifier (pointer_declarator "*__file" * identifier) ;) (declaration "char local_200;" primitive_type identifier ;) (declaration "File_read *local_1f4;" type_identifier (pointer_declarator "*local_1f4" * identifier) ;) (declaration "int dummy;" primitive_type identifier ;) (declaration "Dirsearch dirsearch;" type_identifier identifier ;) (declaration "string name;" type_identifier identifier ;) (declaration "string local_1b4;" type_identifier identifier ;) (declaration "string input_string;" type_identifier identifier ;) (declaration "Lex lex;" type_identifier identifier ;) (declaration "Input_file_argument input_argument;" type_identifier identifier ;) (declaration "Parser_closure closure;" type_identifier identifier ;) (declaration "Input_file input_file;" type_identifier identifier ;) (expression_statement "paVar1 = &name.field_2;" (assignment_expression "paVar1 = &name.field_2" identifier = (pointer_expression "&name.field_2" & (field_expression "name.field_2" identifier . field_identifier))) ;) (expression_statement "pcVar11 = (char *)0xffffffff;" (assignment_expression "pcVar11 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dirsearch.directories_ = (Dir_list *)0x0;" (assignment_expression "dirsearch.directories_ = (Dir_list *)0x0" (field_expression "dirsearch.directories_" identifier . field_identifier) = (cast_expression "(Dir_list *)0x0" ( (type_descriptor "Dir_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dirsearch.token_.is_blocker_ = true;" (assignment_expression "dirsearch.token_.is_blocker_ = true" (field_expression "dirsearch.token_.is_blocker_" (field_expression "dirsearch.token_" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "dirsearch.token_.blockers_ = 0;" (assignment_expression "dirsearch.token_.blockers_ = 0" (field_expression "dirsearch.token_.blockers_" (field_expression "dirsearch.token_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "dirsearch.token_.writer_ = (Task *)0x0;" (assignment_expression "dirsearch.token_.writer_ = (Task *)0x0" (field_expression "dirsearch.token_.writer_" (field_expression "dirsearch.token_" identifier . field_identifier) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dirsearch.token_.waiting_.head_ = (Task *)0x0;" (assignment_expression "dirsearch.token_.waiting_.head_ = (Task *)0x0" (field_expression "dirsearch.token_.waiting_.head_" (field_expression "dirsearch.token_.waiting_" (field_expression "dirsearch.token_" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dirsearch.token_.waiting_.tail_ = (Task *)0x0;" (assignment_expression "dirsearch.token_.waiting_.tail_ = (Task *)0x0" (field_expression "dirsearch.token_.waiting_.tail_" (field_expression "dirsearch.token_.waiting_" (field_expression "dirsearch.token_" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "name._M_dataplus._M_p = (pointer)paVar1;" (assignment_expression "name._M_dataplus._M_p = (pointer)paVar1" (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar1" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (if_statement "if (filename != (char *)0x0) {\n    sVar12 = strlen(filename);\n    pcVar11 = filename + sVar12;\n  }" if (parenthesized_expression "(filename != (char *)0x0)" ( (binary_expression "filename != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    sVar12 = strlen(filename);\n    pcVar11 = filename + sVar12;\n  }" { (expression_statement "sVar12 = strlen(filename);" (assignment_expression "sVar12 = strlen(filename)" identifier = (call_expression "strlen(filename)" identifier (argument_list "(filename)" ( identifier )))) ;) (expression_statement "pcVar11 = filename + sVar12;" (assignment_expression "pcVar11 = filename + sVar12" identifier = (binary_expression "filename + sVar12" identifier + identifier)) ;) })) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>(&name,filename,pcVar11,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*>(&name,filename,pcVar11,0);" (binary_expression "_M_construct<char_const*>(&name,filename,pcVar11,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&name,filename,pcVar11,0)" ( (comma_expression "&name,filename,pcVar11,0" (pointer_expression "&name" & identifier) , (comma_expression "filename,pcVar11,0" identifier , (comma_expression "pcVar11,0" identifier , number_literal))) ))) ;)) (if_statement "if (*filename == '/') goto LAB_0016c511;" if (parenthesized_expression "(*filename == '/')" ( (binary_expression "*filename == '/'" (pointer_expression "*filename" * identifier) == (char_literal "'/'" ' character ')) )) (goto_statement "goto LAB_0016c511;" goto statement_identifier ;)) (expression_statement "psVar5 = &input_file.found_name_._M_string_length;" (assignment_expression "psVar5 = &input_file.found_name_._M_string_length" identifier = (pointer_expression "&input_file.found_name_._M_string_length" & (field_expression "input_file.found_name_._M_string_length" (field_expression "input_file.found_name_" identifier . field_identifier) . field_identifier))) ;) (expression_statement "input_file.input_argument_ = (Input_file_argument *)psVar5;" (assignment_expression "input_file.input_argument_ = (Input_file_argument *)psVar5" (field_expression "input_file.input_argument_" identifier . field_identifier) = (cast_expression "(Input_file_argument *)psVar5" ( (type_descriptor "Input_file_argument *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>\n            ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&input_file,".",""\n             ,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*>\n            ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&input_file,".",""\n             ,0);" (binary_expression "_M_construct<char_const*>\n            ((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&input_file,".",""\n             ,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&input_file,".",""\n             ,0)" ( (comma_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&input_file,".",""\n             ,0" (binary_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)&input_file" (parenthesized_expression "(basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)" ( (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_> *" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*" * identifier)) )) & identifier) , (comma_expression "".",""\n             ,0" (string_literal ""."" " string_content ") , (comma_expression """\n             ,0" (string_literal """" " ") , number_literal))) ))) ;)) comment (labeled_statement "Dirsearch::find_file_in_dir_list\n            (&local_1b4,&name,&(cmdline->options_).library_path_.value,(string *)&input_file);" statement_identifier : (ERROR ":" :) (expression_statement "find_file_in_dir_list\n            (&local_1b4,&name,&(cmdline->options_).library_path_.value,(string *)&input_file);" (call_expression "find_file_in_dir_list\n            (&local_1b4,&name,&(cmdline->options_).library_path_.value,(string *)&input_file)" identifier (argument_list "(&local_1b4,&name,&(cmdline->options_).library_path_.value,(string *)&input_file)" ( (pointer_expression "&local_1b4" & identifier) , (pointer_expression "&name" & identifier) , (pointer_expression "&(cmdline->options_).library_path_.value" & (field_expression "(cmdline->options_).library_path_.value" (field_expression "(cmdline->options_).library_path_" (parenthesized_expression "(cmdline->options_)" ( (field_expression "cmdline->options_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) , (cast_expression "(string *)&input_file" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&input_file" & identifier)) ))) ;)) (expression_statement "uVar10 = name.field_2._M_allocated_capacity;" (assignment_expression "uVar10 = name.field_2._M_allocated_capacity" identifier = (field_expression "name.field_2._M_allocated_capacity" (field_expression "name.field_2" identifier . field_identifier) . field_identifier)) ;) (expression_statement "_Var9 = name._M_dataplus;" (assignment_expression "_Var9 = name._M_dataplus" identifier = (field_expression "name._M_dataplus" identifier . field_identifier)) ;) (expression_statement "paVar2 = &local_1b4.field_2;" (assignment_expression "paVar2 = &local_1b4.field_2" identifier = (pointer_expression "&local_1b4.field_2" & (field_expression "local_1b4.field_2" identifier . field_identifier))) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_1b4._M_dataplus._M_p == paVar2) {\n    name._M_string_length = local_1b4._M_string_length;\n    if (local_1b4._M_string_length != 0) {\n      if (local_1b4._M_string_length == 1) {\n        *name._M_dataplus._M_p = local_1b4.field_2._M_local_buf[0];\n        name._M_string_length = local_1b4._M_string_length;\n      }\n      else {\n        memcpy(name._M_dataplus._M_p,paVar2,local_1b4._M_string_length);\n        name._M_string_length = local_1b4._M_string_length;\n      }\n    }\n    name._M_dataplus._M_p[name._M_string_length] = '\0';\n  }\n  else {\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)name._M_dataplus._M_p != paVar1) {\n      name._M_string_length = local_1b4._M_string_length;\n      name._M_dataplus._M_p = local_1b4._M_dataplus._M_p;\n      name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity;\n      if (_Var9._M_p != (pointer)0x0) {\n        local_1b4._M_dataplus._M_p = _Var9._M_p;\n        local_1b4.field_2._M_allocated_capacity = uVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity;\n    name._M_string_length = local_1b4._M_string_length;\n    name._M_dataplus._M_p = local_1b4._M_dataplus._M_p;\n    local_1b4._M_dataplus._M_p = (pointer)paVar2;\n  }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_1b4._M_dataplus._M_p == paVar2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_1b4._M_dataplus._M_p == paVar2)" ( (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_1b4._M_dataplus._M_p == paVar2" (binary_expression "allocator<char>_>_9\n       *)local_1b4._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)local_1b4._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_1b4._M_dataplus._M_p" (field_expression "local_1b4._M_dataplus" identifier . field_identifier) . field_identifier))) == identifier) )) )) (compound_statement "{\n    name._M_string_length = local_1b4._M_string_length;\n    if (local_1b4._M_string_length != 0) {\n      if (local_1b4._M_string_length == 1) {\n        *name._M_dataplus._M_p = local_1b4.field_2._M_local_buf[0];\n        name._M_string_length = local_1b4._M_string_length;\n      }\n      else {\n        memcpy(name._M_dataplus._M_p,paVar2,local_1b4._M_string_length);\n        name._M_string_length = local_1b4._M_string_length;\n      }\n    }\n    name._M_dataplus._M_p[name._M_string_length] = '\0';\n  }" { (expression_statement "name._M_string_length = local_1b4._M_string_length;" (assignment_expression "name._M_string_length = local_1b4._M_string_length" (field_expression "name._M_string_length" identifier . field_identifier) = (field_expression "local_1b4._M_string_length" identifier . field_identifier)) ;) (if_statement "if (local_1b4._M_string_length != 0) {\n      if (local_1b4._M_string_length == 1) {\n        *name._M_dataplus._M_p = local_1b4.field_2._M_local_buf[0];\n        name._M_string_length = local_1b4._M_string_length;\n      }\n      else {\n        memcpy(name._M_dataplus._M_p,paVar2,local_1b4._M_string_length);\n        name._M_string_length = local_1b4._M_string_length;\n      }\n    }" if (parenthesized_expression "(local_1b4._M_string_length != 0)" ( (binary_expression "local_1b4._M_string_length != 0" (field_expression "local_1b4._M_string_length" identifier . field_identifier) != number_literal) )) (compound_statement "{\n      if (local_1b4._M_string_length == 1) {\n        *name._M_dataplus._M_p = local_1b4.field_2._M_local_buf[0];\n        name._M_string_length = local_1b4._M_string_length;\n      }\n      else {\n        memcpy(name._M_dataplus._M_p,paVar2,local_1b4._M_string_length);\n        name._M_string_length = local_1b4._M_string_length;\n      }\n    }" { (if_statement "if (local_1b4._M_string_length == 1) {\n        *name._M_dataplus._M_p = local_1b4.field_2._M_local_buf[0];\n        name._M_string_length = local_1b4._M_string_length;\n      }\n      else {\n        memcpy(name._M_dataplus._M_p,paVar2,local_1b4._M_string_length);\n        name._M_string_length = local_1b4._M_string_length;\n      }" if (parenthesized_expression "(local_1b4._M_string_length == 1)" ( (binary_expression "local_1b4._M_string_length == 1" (field_expression "local_1b4._M_string_length" identifier . field_identifier) == number_literal) )) (compound_statement "{\n        *name._M_dataplus._M_p = local_1b4.field_2._M_local_buf[0];\n        name._M_string_length = local_1b4._M_string_length;\n      }" { (expression_statement "*name._M_dataplus._M_p = local_1b4.field_2._M_local_buf[0];" (assignment_expression "*name._M_dataplus._M_p = local_1b4.field_2._M_local_buf[0]" (pointer_expression "*name._M_dataplus._M_p" * (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier)) = (subscript_expression "local_1b4.field_2._M_local_buf[0]" (field_expression "local_1b4.field_2._M_local_buf" (field_expression "local_1b4.field_2" identifier . field_identifier) . field_identifier) [ number_literal ])) ;) (expression_statement "name._M_string_length = local_1b4._M_string_length;" (assignment_expression "name._M_string_length = local_1b4._M_string_length" (field_expression "name._M_string_length" identifier . field_identifier) = (field_expression "local_1b4._M_string_length" identifier . field_identifier)) ;) }) (else_clause "else {\n        memcpy(name._M_dataplus._M_p,paVar2,local_1b4._M_string_length);\n        name._M_string_length = local_1b4._M_string_length;\n      }" else (compound_statement "{\n        memcpy(name._M_dataplus._M_p,paVar2,local_1b4._M_string_length);\n        name._M_string_length = local_1b4._M_string_length;\n      }" { (expression_statement "memcpy(name._M_dataplus._M_p,paVar2,local_1b4._M_string_length);" (call_expression "memcpy(name._M_dataplus._M_p,paVar2,local_1b4._M_string_length)" identifier (argument_list "(name._M_dataplus._M_p,paVar2,local_1b4._M_string_length)" ( (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier) , identifier , (field_expression "local_1b4._M_string_length" identifier . field_identifier) ))) ;) (expression_statement "name._M_string_length = local_1b4._M_string_length;" (assignment_expression "name._M_string_length = local_1b4._M_string_length" (field_expression "name._M_string_length" identifier . field_identifier) = (field_expression "local_1b4._M_string_length" identifier . field_identifier)) ;) }))) })) (expression_statement "name._M_dataplus._M_p[name._M_string_length] = '\0';" (assignment_expression "name._M_dataplus._M_p[name._M_string_length] = '\0'" (subscript_expression "name._M_dataplus._M_p[name._M_string_length]" (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier) [ (field_expression "name._M_string_length" identifier . field_identifier) ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)name._M_dataplus._M_p != paVar1) {\n      name._M_string_length = local_1b4._M_string_length;\n      name._M_dataplus._M_p = local_1b4._M_dataplus._M_p;\n      name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity;\n      if (_Var9._M_p != (pointer)0x0) {\n        local_1b4._M_dataplus._M_p = _Var9._M_p;\n        local_1b4.field_2._M_allocated_capacity = uVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity;\n    name._M_string_length = local_1b4._M_string_length;\n    name._M_dataplus._M_p = local_1b4._M_dataplus._M_p;\n    local_1b4._M_dataplus._M_p = (pointer)paVar2;\n  }" else (compound_statement "{\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)name._M_dataplus._M_p != paVar1) {\n      name._M_string_length = local_1b4._M_string_length;\n      name._M_dataplus._M_p = local_1b4._M_dataplus._M_p;\n      name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity;\n      if (_Var9._M_p != (pointer)0x0) {\n        local_1b4._M_dataplus._M_p = _Var9._M_p;\n        local_1b4.field_2._M_allocated_capacity = uVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity;\n    name._M_string_length = local_1b4._M_string_length;\n    name._M_dataplus._M_p = local_1b4._M_dataplus._M_p;\n    local_1b4._M_dataplus._M_p = (pointer)paVar2;\n  }" { (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)name._M_dataplus._M_p != paVar1) {\n      name._M_string_length = local_1b4._M_string_length;\n      name._M_dataplus._M_p = local_1b4._M_dataplus._M_p;\n      name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity;\n      if (_Var9._M_p != (pointer)0x0) {\n        local_1b4._M_dataplus._M_p = _Var9._M_p;\n        local_1b4.field_2._M_allocated_capacity = uVar10;\n        goto LAB_0016cbba;\n      }\n    }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)name._M_dataplus._M_p != paVar1)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)name._M_dataplus._M_p != paVar1)" ( (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         *)name._M_dataplus._M_p != paVar1" (binary_expression "allocator<char>_>_9\n         *)name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n         *)name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n      name._M_string_length = local_1b4._M_string_length;\n      name._M_dataplus._M_p = local_1b4._M_dataplus._M_p;\n      name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity;\n      if (_Var9._M_p != (pointer)0x0) {\n        local_1b4._M_dataplus._M_p = _Var9._M_p;\n        local_1b4.field_2._M_allocated_capacity = uVar10;\n        goto LAB_0016cbba;\n      }\n    }" { (expression_statement "name._M_string_length = local_1b4._M_string_length;" (assignment_expression "name._M_string_length = local_1b4._M_string_length" (field_expression "name._M_string_length" identifier . field_identifier) = (field_expression "local_1b4._M_string_length" identifier . field_identifier)) ;) (expression_statement "name._M_dataplus._M_p = local_1b4._M_dataplus._M_p;" (assignment_expression "name._M_dataplus._M_p = local_1b4._M_dataplus._M_p" (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier) = (field_expression "local_1b4._M_dataplus._M_p" (field_expression "local_1b4._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity;" (assignment_expression "name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity" (field_expression "name.field_2._M_allocated_capacity" (field_expression "name.field_2" identifier . field_identifier) . field_identifier) = (field_expression "local_1b4.field_2._M_allocated_capacity" (field_expression "local_1b4.field_2" identifier . field_identifier) . field_identifier)) ;) (if_statement "if (_Var9._M_p != (pointer)0x0) {\n        local_1b4._M_dataplus._M_p = _Var9._M_p;\n        local_1b4.field_2._M_allocated_capacity = uVar10;\n        goto LAB_0016cbba;\n      }" if (parenthesized_expression "(_Var9._M_p != (pointer)0x0)" ( (binary_expression "_Var9._M_p != (pointer)0x0" (field_expression "_Var9._M_p" identifier . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n        local_1b4._M_dataplus._M_p = _Var9._M_p;\n        local_1b4.field_2._M_allocated_capacity = uVar10;\n        goto LAB_0016cbba;\n      }" { (expression_statement "local_1b4._M_dataplus._M_p = _Var9._M_p;" (assignment_expression "local_1b4._M_dataplus._M_p = _Var9._M_p" (field_expression "local_1b4._M_dataplus._M_p" (field_expression "local_1b4._M_dataplus" identifier . field_identifier) . field_identifier) = (field_expression "_Var9._M_p" identifier . field_identifier)) ;) (expression_statement "local_1b4.field_2._M_allocated_capacity = uVar10;" (assignment_expression "local_1b4.field_2._M_allocated_capacity = uVar10" (field_expression "local_1b4.field_2._M_allocated_capacity" (field_expression "local_1b4.field_2" identifier . field_identifier) . field_identifier) = identifier) ;) (goto_statement "goto LAB_0016cbba;" goto statement_identifier ;) })) })) (expression_statement "name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity;" (assignment_expression "name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity" (field_expression "name.field_2._M_allocated_capacity" (field_expression "name.field_2" identifier . field_identifier) . field_identifier) = (field_expression "local_1b4.field_2._M_allocated_capacity" (field_expression "local_1b4.field_2" identifier . field_identifier) . field_identifier)) ;) (expression_statement "name._M_string_length = local_1b4._M_string_length;" (assignment_expression "name._M_string_length = local_1b4._M_string_length" (field_expression "name._M_string_length" identifier . field_identifier) = (field_expression "local_1b4._M_string_length" identifier . field_identifier)) ;) (expression_statement "name._M_dataplus._M_p = local_1b4._M_dataplus._M_p;" (assignment_expression "name._M_dataplus._M_p = local_1b4._M_dataplus._M_p" (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier) = (field_expression "local_1b4._M_dataplus._M_p" (field_expression "local_1b4._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "local_1b4._M_dataplus._M_p = (pointer)paVar2;" (assignment_expression "local_1b4._M_dataplus._M_p = (pointer)paVar2" (field_expression "local_1b4._M_dataplus._M_p" (field_expression "local_1b4._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar2" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) }))) (labeled_statement "LAB_0016cbba:\n  local_1b4._M_string_length = 0;" statement_identifier : (expression_statement "local_1b4._M_string_length = 0;" (assignment_expression "local_1b4._M_string_length = 0" (field_expression "local_1b4._M_string_length" identifier . field_identifier) = number_literal) ;)) (expression_statement "*local_1b4._M_dataplus._M_p = '\0';" (assignment_expression "*local_1b4._M_dataplus._M_p = '\0'" (pointer_expression "*local_1b4._M_dataplus._M_p" * (field_expression "local_1b4._M_dataplus._M_p" (field_expression "local_1b4._M_dataplus" identifier . field_identifier) . field_identifier)) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_1b4._M_dataplus._M_p != &local_1b4.field_2) {\n    operator_delete(local_1b4._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_1b4._M_dataplus._M_p != &local_1b4.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_1b4._M_dataplus._M_p != &local_1b4.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_1b4._M_dataplus._M_p != &local_1b4.field_2" (binary_expression "allocator<char>_>_9\n       *)local_1b4._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)local_1b4._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_1b4._M_dataplus._M_p" (field_expression "local_1b4._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&local_1b4.field_2" & (field_expression "local_1b4.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n    operator_delete(local_1b4._M_dataplus._M_p);\n  }" { (expression_statement "operator_delete(local_1b4._M_dataplus._M_p);" (call_expression "operator_delete(local_1b4._M_dataplus._M_p)" identifier (argument_list "(local_1b4._M_dataplus._M_p)" ( (field_expression "local_1b4._M_dataplus._M_p" (field_expression "local_1b4._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (if_statement "if (input_file.input_argument_ != (Input_file_argument *)psVar5) {\n    operator_delete(input_file.input_argument_);\n  }" if (parenthesized_expression "(input_file.input_argument_ != (Input_file_argument *)psVar5)" ( (binary_expression "input_file.input_argument_ != (Input_file_argument *)psVar5" (field_expression "input_file.input_argument_" identifier . field_identifier) != (cast_expression "(Input_file_argument *)psVar5" ( (type_descriptor "Input_file_argument *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n    operator_delete(input_file.input_argument_);\n  }" { (expression_statement "operator_delete(input_file.input_argument_);" (call_expression "operator_delete(input_file.input_argument_)" identifier (argument_list "(input_file.input_argument_)" ( (field_expression "input_file.input_argument_" identifier . field_identifier) ))) ;) })) (labeled_statement "LAB_0016c511:\n  _Var9._M_p = name._M_dataplus._M_p;" statement_identifier : (expression_statement "_Var9._M_p = name._M_dataplus._M_p;" (assignment_expression "_Var9._M_p = name._M_dataplus._M_p" (field_expression "_Var9._M_p" identifier . field_identifier) = (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier)) ;)) (expression_statement "uVar7._0_1_ = (cmdline->position_options_).as_needed_;" (assignment_expression "uVar7._0_1_ = (cmdline->position_options_).as_needed_" (field_expression "uVar7._0_1_" identifier . field_identifier) = (field_expression "(cmdline->position_options_).as_needed_" (parenthesized_expression "(cmdline->position_options_)" ( (field_expression "cmdline->position_options_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar7._1_1_ = (cmdline->position_options_).Bdynamic_;" (assignment_expression "uVar7._1_1_ = (cmdline->position_options_).Bdynamic_" (field_expression "uVar7._1_1_" identifier . field_identifier) = (field_expression "(cmdline->position_options_).Bdynamic_" (parenthesized_expression "(cmdline->position_options_)" ( (field_expression "cmdline->position_options_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "OVar15 = (cmdline->position_options_).format_enum_;" (assignment_expression "OVar15 = (cmdline->position_options_).format_enum_" identifier = (field_expression "(cmdline->position_options_).format_enum_" (parenthesized_expression "(cmdline->position_options_)" ( (field_expression "cmdline->position_options_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "bVar6 = (cmdline->position_options_).whole_archive_;" (assignment_expression "bVar6 = (cmdline->position_options_).whole_archive_" identifier = (field_expression "(cmdline->position_options_).whole_archive_" (parenthesized_expression "(cmdline->position_options_)" ( (field_expression "cmdline->position_options_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "IVar8 = (cmdline->position_options_).incremental_disposition_;" (assignment_expression "IVar8 = (cmdline->position_options_).incremental_disposition_" identifier = (field_expression "(cmdline->position_options_).incremental_disposition_" (parenthesized_expression "(cmdline->position_options_)" ( (field_expression "cmdline->position_options_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (OVar15 == OBJECT_FORMAT_BINARY) {\n    OVar15 = OBJECT_FORMAT_ELF;\n  }" if (parenthesized_expression "(OVar15 == OBJECT_FORMAT_BINARY)" ( (binary_expression "OVar15 == OBJECT_FORMAT_BINARY" identifier == identifier) )) (compound_statement "{\n    OVar15 = OBJECT_FORMAT_ELF;\n  }" { (expression_statement "OVar15 = OBJECT_FORMAT_ELF;" (assignment_expression "OVar15 = OBJECT_FORMAT_ELF" identifier = identifier) ;) })) (expression_statement "paVar2 = &input_argument.name_.field_2;" (assignment_expression "paVar2 = &input_argument.name_.field_2" identifier = (pointer_expression "&input_argument.name_.field_2" & (field_expression "input_argument.name_.field_2" (field_expression "input_argument.name_" identifier . field_identifier) . field_identifier))) ;) (expression_statement "pcVar13 = (pointer)0xffffffff;" (assignment_expression "pcVar13 = (pointer)0xffffffff" identifier = (cast_expression "(pointer)0xffffffff" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "input_argument.name_._M_dataplus._M_p = (pointer)paVar2;" (assignment_expression "input_argument.name_._M_dataplus._M_p = (pointer)paVar2" (field_expression "input_argument.name_._M_dataplus._M_p" (field_expression "input_argument.name_._M_dataplus" (field_expression "input_argument.name_" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar2" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (if_statement "if (name._M_dataplus._M_p != (pointer)0x0) {\n    sVar12 = strlen(name._M_dataplus._M_p);\n    pcVar13 = _Var9._M_p + sVar12;\n  }" if (parenthesized_expression "(name._M_dataplus._M_p != (pointer)0x0)" ( (binary_expression "name._M_dataplus._M_p != (pointer)0x0" (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n    sVar12 = strlen(name._M_dataplus._M_p);\n    pcVar13 = _Var9._M_p + sVar12;\n  }" { (expression_statement "sVar12 = strlen(name._M_dataplus._M_p);" (assignment_expression "sVar12 = strlen(name._M_dataplus._M_p)" identifier = (call_expression "strlen(name._M_dataplus._M_p)" identifier (argument_list "(name._M_dataplus._M_p)" ( (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier) )))) ;) (expression_statement "pcVar13 = _Var9._M_p + sVar12;" (assignment_expression "pcVar13 = _Var9._M_p + sVar12" identifier = (binary_expression "_Var9._M_p + sVar12" (field_expression "_Var9._M_p" identifier . field_identifier) + identifier)) ;) })) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>(&input_argument.name_,_Var9._M_p,pcVar13,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*>(&input_argument.name_,_Var9._M_p,pcVar13,0);" (binary_expression "_M_construct<char_const*>(&input_argument.name_,_Var9._M_p,pcVar13,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&input_argument.name_,_Var9._M_p,pcVar13,0)" ( (comma_expression "&input_argument.name_,_Var9._M_p,pcVar13,0" (pointer_expression "&input_argument.name_" & (field_expression "input_argument.name_" identifier . field_identifier)) , (comma_expression "_Var9._M_p,pcVar13,0" (field_expression "_Var9._M_p" identifier . field_identifier) , (comma_expression "pcVar13,0" identifier , number_literal))) ))) ;)) (expression_statement "paVar3 = &input_argument.extra_search_path_.field_2;" (assignment_expression "paVar3 = &input_argument.extra_search_path_.field_2" identifier = (pointer_expression "&input_argument.extra_search_path_.field_2" & (field_expression "input_argument.extra_search_path_.field_2" (field_expression "input_argument.extra_search_path_" identifier . field_identifier) . field_identifier))) ;) (expression_statement "input_argument.type_ = INPUT_FILE_TYPE_FILE;" (assignment_expression "input_argument.type_ = INPUT_FILE_TYPE_FILE" (field_expression "input_argument.type_" identifier . field_identifier) = identifier) ;) (expression_statement "input_argument.extra_search_path_._M_dataplus._M_p = (pointer)paVar3;" (assignment_expression "input_argument.extra_search_path_._M_dataplus._M_p = (pointer)paVar3" (field_expression "input_argument.extra_search_path_._M_dataplus._M_p" (field_expression "input_argument.extra_search_path_._M_dataplus" (field_expression "input_argument.extra_search_path_" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar3" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>(&input_argument.extra_search_path_,"","",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*>(&input_argument.extra_search_path_,"","",0);" (binary_expression "_M_construct<char_const*>(&input_argument.extra_search_path_,"","",0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&input_argument.extra_search_path_,"","",0)" ( (comma_expression "&input_argument.extra_search_path_,"","",0" (pointer_expression "&input_argument.extra_search_path_" & (field_expression "input_argument.extra_search_path_" identifier . field_identifier)) , (comma_expression ""","",0" (string_literal """" " ") , (comma_expression """,0" (string_literal """" " ") , number_literal))) ))) ;)) (expression_statement "input_file.file_.is_descriptor_opened_ = false;" (assignment_expression "input_file.file_.is_descriptor_opened_ = false" (field_expression "input_file.file_.is_descriptor_opened_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) = false) ;) (expression_statement "input_file.file_.name_._M_dataplus._M_p = (pointer)&input_file.file_.name_.field_2;" (assignment_expression "input_file.file_.name_._M_dataplus._M_p = (pointer)&input_file.file_.name_.field_2" (field_expression "input_file.file_.name_._M_dataplus._M_p" (field_expression "input_file.file_.name_._M_dataplus" (field_expression "input_file.file_.name_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(pointer)&input_file.file_.name_.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "input_file.file_.name_.field_2" (field_expression "input_file.file_.name_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n       &input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header;" (assignment_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n       &input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header" (field_expression "input_file.file_.views_._M_t._M_impl" (field_expression "input_file.file_.views_._M_t" (field_expression "input_file.file_.views_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header" & (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header" (field_expression "input_file.file_.views_._M_t._M_impl" (field_expression "input_file.file_.views_._M_t" (field_expression "input_file.file_.views_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "paVar4 = &input_file.found_name_.field_2;" (assignment_expression "paVar4 = &input_file.found_name_.field_2" identifier = (pointer_expression "&input_file.found_name_.field_2" & (field_expression "input_file.found_name_.field_2" (field_expression "input_file.found_name_" identifier . field_identifier) . field_identifier))) ;) (ERROR "input_file.file_.saved_views_.\n  super__List_base<gold::" (binary_expression "input_file.file_.saved_views_.\n  super__List_base<gold" (field_expression "input_file.file_.saved_views_.\n  super__List_base" (field_expression "input_file.file_.saved_views_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl._M_node.\n  super__List_node_base._M_next = (_List_node_base *)&input_file.file_.saved_views_;" statement_identifier (ERROR "::View*,_std::allocator<gold:" : : (binary_expression "View*,_std" identifier * (ERROR "," ,) identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (expression_statement "File_read::View*>_>._M_impl._M_node.\n  super__List_node_base._M_next = (_List_node_base *)&input_file.file_.saved_views_;" (assignment_expression "File_read::View*>_>._M_impl._M_node.\n  super__List_node_base._M_next = (_List_node_base *)&input_file.file_.saved_views_" (field_expression "File_read::View*>_>._M_impl._M_node.\n  super__List_node_base._M_next" (field_expression "File_read::View*>_>._M_impl._M_node.\n  super__List_node_base" (field_expression "File_read::View*>_>._M_impl._M_node" (field_expression "File_read::View*>_>._M_impl" (binary_expression "File_read::View*>_" identifier (ERROR "::View*" : : identifier *) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)&input_file.file_.saved_views_" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&input_file.file_.saved_views_" & (field_expression "input_file.file_.saved_views_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier)))) ;)) (expression_statement "input_argument.just_symbols_ = false;" (assignment_expression "input_argument.just_symbols_ = false" (field_expression "input_argument.just_symbols_" identifier . field_identifier) = false) ;) (expression_statement "input_argument.arg_serial_ = 0;" (assignment_expression "input_argument.arg_serial_ = 0" (field_expression "input_argument.arg_serial_" identifier . field_identifier) = number_literal) ;) (expression_statement "input_file.found_name_._M_string_length = 0;" (assignment_expression "input_file.found_name_._M_string_length = 0" (field_expression "input_file.found_name_._M_string_length" (field_expression "input_file.found_name_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "input_file.found_name_.field_2._M_local_buf[0] = '\0';" (assignment_expression "input_file.found_name_.field_2._M_local_buf[0] = '\0'" (subscript_expression "input_file.found_name_.field_2._M_local_buf[0]" (field_expression "input_file.found_name_.field_2._M_local_buf" (field_expression "input_file.found_name_.field_2" (field_expression "input_file.found_name_" identifier . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "input_file.file_.name_._M_string_length = 0;" (assignment_expression "input_file.file_.name_._M_string_length = 0" (field_expression "input_file.file_.name_._M_string_length" (field_expression "input_file.file_.name_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "input_file.file_.name_.field_2._M_local_buf[0] = '\0';" (assignment_expression "input_file.file_.name_.field_2._M_local_buf[0] = '\0'" (subscript_expression "input_file.file_.name_.field_2._M_local_buf[0]" (field_expression "input_file.file_.name_.field_2._M_local_buf" (field_expression "input_file.file_.name_.field_2" (field_expression "input_file.file_.name_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "input_file.file_.descriptor_ = -1;" (assignment_expression "input_file.file_.descriptor_ = -1" (field_expression "input_file.file_.descriptor_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "input_file.file_.object_count_ = 0;" (assignment_expression "input_file.file_.object_count_ = 0" (field_expression "input_file.file_.object_count_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "input_file.file_.size_._0_4_ = 0;" (assignment_expression "input_file.file_.size_._0_4_ = 0" (field_expression "input_file.file_.size_._0_4_" (field_expression "input_file.file_.size_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "input_file.file_.size_._4_4_ = 0;" (assignment_expression "input_file.file_.size_._4_4_ = 0" (field_expression "input_file.file_.size_._4_4_" (field_expression "input_file.file_.size_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "input_file.file_.token_.is_blocker_ = false;" (assignment_expression "input_file.file_.token_.is_blocker_ = false" (field_expression "input_file.file_.token_.is_blocker_" (field_expression "input_file.file_.token_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) = false) ;) (expression_statement "input_file.file_.token_.blockers_ = 0;" (assignment_expression "input_file.file_.token_.blockers_ = 0" (field_expression "input_file.file_.token_.blockers_" (field_expression "input_file.file_.token_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "input_file.file_.token_.writer_ = (Task *)0x0;" (assignment_expression "input_file.file_.token_.writer_ = (Task *)0x0" (field_expression "input_file.file_.token_.writer_" (field_expression "input_file.file_.token_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "input_file.file_.token_.waiting_.head_ = (Task *)0x0;" (assignment_expression "input_file.file_.token_.waiting_.head_ = (Task *)0x0" (field_expression "input_file.file_.token_.waiting_.head_" (field_expression "input_file.file_.token_.waiting_" (field_expression "input_file.file_.token_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "input_file.file_.token_.waiting_.tail_ = (Task *)0x0;" (assignment_expression "input_file.file_.token_.waiting_.tail_ = (Task *)0x0" (field_expression "input_file.file_.token_.waiting_.tail_" (field_expression "input_file.file_.token_.waiting_" (field_expression "input_file.file_.token_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;" (assignment_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header" (field_expression "input_file.file_.views_._M_t._M_impl" (field_expression "input_file.file_.views_._M_t" (field_expression "input_file.file_.views_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;" (assignment_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header" (field_expression "input_file.file_.views_._M_t._M_impl" (field_expression "input_file.file_.views_._M_t" (field_expression "input_file.file_.views_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) ;) (expression_statement "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;" (assignment_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_node_count" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header" (field_expression "input_file.file_.views_._M_t._M_impl" (field_expression "input_file.file_.views_._M_t" (field_expression "input_file.file_.views_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "__file = &dirsearch;" (assignment_expression "__file = &dirsearch" identifier = (pointer_expression "&dirsearch" & identifier)) ;) (ERROR "input_file.file_.saved_views_.\n  super__List_base<gold::" (binary_expression "input_file.file_.saved_views_.\n  super__List_base<gold" (field_expression "input_file.file_.saved_views_.\n  super__List_base" (field_expression "input_file.file_.saved_views_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl._M_node.\n  _M_size = 0;" statement_identifier (ERROR "::View*,_std::allocator<gold:" : : (binary_expression "View*,_std" identifier * (ERROR "," ,) identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (expression_statement "File_read::View*>_>._M_impl._M_node.\n  _M_size = 0;" (assignment_expression "File_read::View*>_>._M_impl._M_node.\n  _M_size = 0" (field_expression "File_read::View*>_>._M_impl._M_node.\n  _M_size" (field_expression "File_read::View*>_>._M_impl._M_node" (field_expression "File_read::View*>_>._M_impl" (binary_expression "File_read::View*>_" identifier (ERROR "::View*" : : identifier *) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;)) (expression_statement "input_file.file_.mapped_bytes_ = 0;" (assignment_expression "input_file.file_.mapped_bytes_ = 0" (field_expression "input_file.file_.mapped_bytes_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "input_file.file_.released_ = true;" (assignment_expression "input_file.file_.released_ = true" (field_expression "input_file.file_.released_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) = true) ;) (expression_statement "input_file.file_.whole_file_view_ = (View *)0x0;" (assignment_expression "input_file.file_.whole_file_view_ = (View *)0x0" (field_expression "input_file.file_.whole_file_view_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) = (cast_expression "(View *)0x0" ( (type_descriptor "View *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "input_file.is_in_sysroot_ = false;" (assignment_expression "input_file.is_in_sysroot_ = false" (field_expression "input_file.is_in_sysroot_" identifier . field_identifier) = false) ;) (expression_statement "input_file.format_ = FORMAT_NONE;" (assignment_expression "input_file.format_ = FORMAT_NONE" (field_expression "input_file.format_" identifier . field_identifier) = identifier) ;) (expression_statement "dummy = 0;" (assignment_expression "dummy = 0" identifier = number_literal) ;) (expression_statement "input_argument.options_._0_2_ = uVar7;" (assignment_expression "input_argument.options_._0_2_ = uVar7" (field_expression "input_argument.options_._0_2_" (field_expression "input_argument.options_" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "input_argument.options_.format_enum_ = OVar15;" (assignment_expression "input_argument.options_.format_enum_ = OVar15" (field_expression "input_argument.options_.format_enum_" (field_expression "input_argument.options_" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "input_argument.options_.whole_archive_ = bVar6;" (assignment_expression "input_argument.options_.whole_archive_ = bVar6" (field_expression "input_argument.options_.whole_archive_" (field_expression "input_argument.options_" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "input_argument.options_.incremental_disposition_ = IVar8;" (assignment_expression "input_argument.options_.incremental_disposition_ = IVar8" (field_expression "input_argument.options_.incremental_disposition_" (field_expression "input_argument.options_" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "input_file.input_argument_ = &input_argument;" (assignment_expression "input_file.input_argument_ = &input_argument" (field_expression "input_file.input_argument_" identifier . field_identifier) = (pointer_expression "&input_argument" & identifier)) ;) (expression_statement "input_file.found_name_._M_dataplus._M_p = (pointer)paVar4;" (assignment_expression "input_file.found_name_._M_dataplus._M_p = (pointer)paVar4" (field_expression "input_file.found_name_._M_dataplus._M_p" (field_expression "input_file.found_name_._M_dataplus" (field_expression "input_file.found_name_" identifier . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)paVar4" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n       input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left;" (assignment_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n       input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header" (field_expression "input_file.file_.views_._M_t._M_impl" (field_expression "input_file.file_.views_._M_t" (field_expression "input_file.file_.views_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "input_file.file_.views_._M_t._M_impl.super__Rb_tree_header" (field_expression "input_file.file_.views_._M_t._M_impl" (field_expression "input_file.file_.views_._M_t" (field_expression "input_file.file_.views_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (ERROR "input_file.file_.saved_views_.\n  super__List_base<gold::" (binary_expression "input_file.file_.saved_views_.\n  super__List_base<gold" (field_expression "input_file.file_.saved_views_.\n  super__List_base" (field_expression "input_file.file_.saved_views_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl._M_node.\n  super__List_node_base._M_prev =\n       input_file.file_.saved_views_.\n       super__List_base<gold::File_read::View*,_std::allocator<gold::File_read::View*>_>._M_impl.\n       _M_node.super__List_node_base._M_next;" statement_identifier (ERROR "::View*,_std::allocator<gold::File_read::View*>_>._M_impl._M_node.\n  super__List_node_base._M_prev =\n       input_file.file_.saved_views_.\n       super__List_base<gold::File_read::View*,_std::allocator<gold:" : : (binary_expression "View*,_std" identifier * (ERROR "," ,) identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (assignment_expression "File_read::View*>_>._M_impl._M_node.\n  super__List_node_base._M_prev =\n       input_file.file_.saved_views_.\n       super__List_base<gold" (field_expression "File_read::View*>_>._M_impl._M_node.\n  super__List_node_base._M_prev" (field_expression "File_read::View*>_>._M_impl._M_node.\n  super__List_node_base" (field_expression "File_read::View*>_>._M_impl._M_node" (field_expression "File_read::View*>_>._M_impl" (binary_expression "File_read::View*>_" identifier (ERROR "::View*" : : identifier *) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (binary_expression "input_file.file_.saved_views_.\n       super__List_base<gold" (field_expression "input_file.file_.saved_views_.\n       super__List_base" (field_expression "input_file.file_.saved_views_" (field_expression "input_file.file_" identifier . field_identifier) . field_identifier) . field_identifier) < identifier)) : : (comma_expression "File_read::View*,_std" identifier (ERROR "::View*" : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (expression_statement "File_read::View*>_>._M_impl.\n       _M_node.super__List_node_base._M_next;" (field_expression "File_read::View*>_>._M_impl.\n       _M_node.super__List_node_base._M_next" (field_expression "File_read::View*>_>._M_impl.\n       _M_node.super__List_node_base" (field_expression "File_read::View*>_>._M_impl.\n       _M_node" (field_expression "File_read::View*>_>._M_impl" (binary_expression "File_read::View*>_" identifier (ERROR "::View*" : : identifier *) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;)) comment (ERROR "iVar14 = Input_file::" (assignment_expression "iVar14 = Input_file" identifier = identifier) : :) (expression_statement "open(&input_file,(char *)__file,-1,&dummy);" (call_expression "open(&input_file,(char *)__file,-1,&dummy)" identifier (argument_list "(&input_file,(char *)__file,-1,&dummy)" ( (pointer_expression "&input_file" & identifier) , (cast_expression "(char *)__file" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (pointer_expression "&dummy" & identifier) ))) ;) (expression_statement "local_200 = (char)iVar14;" (assignment_expression "local_200 = (char)iVar14" identifier = (cast_expression "(char)iVar14" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (local_200 != '\0') {\n    input_string._M_string_length = 0;\n    input_string.field_2._M_local_buf[0] = '\0';\n    input_string._M_dataplus._M_p = (pointer)&input_string.field_2;\n                    /* try { // try from 0016c83e to 0016c842 has its CatchHandler @ 0016ccf9 */\n    Lex::read_file(&input_file,&input_string);\n    lex.token_.classification_ = TOKEN_INVALID;\n    lex.token_.value_ = (char *)0x0;\n    lex.input_string_ = input_string._M_dataplus._M_p;\n    lex.current_ = input_string._M_dataplus._M_p;\n    lex.linestart_ = input_string._M_dataplus._M_p;\n    lex.input_length_ = input_string._M_string_length;\n    lex.mode_ = lex_mode;\n    closure.parsing_defsym_ = first_token == 3;\n    lex.first_token_ = first_token;\n    closure.posdep_options_.as_needed_ = (cmdline->position_options_).as_needed_;\n    closure.posdep_options_.Bdynamic_ = (cmdline->position_options_).Bdynamic_;\n    closure.posdep_options_._2_2_ = *(undefined2 *)&(cmdline->position_options_).field_0x2;\n    closure.posdep_options_.format_enum_ = (cmdline->position_options_).format_enum_;\n    lex.token_.value_length_ = 0;\n    closure.posdep_options_.whole_archive_ = (cmdline->position_options_).whole_archive_;\n    closure.posdep_options_._9_3_ = *(undefined3 *)&(cmdline->position_options_).field_0x9;\n    lex.token_.opcode_ = 0;\n    closure.posdep_options_.incremental_disposition_ =\n         (cmdline->position_options_).incremental_disposition_;\n    lex.token_.lineno_ = 0;\n    lex.token_.charpos_ = 0;\n    closure.is_in_sysroot_ = input_file.is_in_sysroot_;\n    lex.lineno_ = 1;\n    closure.in_group_ = false;\n    closure.skip_on_incompatible_target_ = false;\n    closure.found_incompatible_target_ = false;\n    closure.version_script_info_ = &script_options->version_script_info_;\n    closure.lex_ = &lex;\n    closure.lineno_ = 0;\n    closure.charpos_ = 0;\n    closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n    _M_impl._M_start = (pointer)0x0;\n    closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n    _M_impl._M_finish = (pointer)0x0;\n    closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n    _M_impl._M_end_of_storage = (pointer)0x0;\n    closure.language_stack_.\n    super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ._M_impl._M_start = (pointer)0x0;\n    closure.language_stack_.\n    super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    closure.language_stack_.\n    super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    closure.inputs_ = (Input_arguments *)0x0;\n    closure.script_info_ = (Script_info *)0x0;\n    local_1b4._M_dataplus._M_p = (pointer)0x0;\n    closure.filename_ = filename;\n    closure.command_line_ = cmdline;\n    closure.script_options_ = script_options;\n                    /* try { // try from 0016c9c7 to 0016c9e6 has its CatchHandler @ 0016cd0c */\n    std::\n    vector<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ::_M_realloc_insert<gold::Version_script_info::Language>\n              (&closure.language_stack_,(iterator)0x0,(Language *)&local_1b4);\n    local_1b4._M_dataplus._M_p = (pointer)lex.mode_;\n    std::vector<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>::emplace_back<gold::Lex::Mode>\n              (&closure.lex_mode_stack_,(Mode *)&local_1b4);\n                    /* try { // try from 0016ca02 to 0016ca7c has its CatchHandler @ 0016cd1f */\n    iVar14 = yyparse(&closure);\n    if (iVar14 == 0) {\n      __file = (Dirsearch *)0xffffffff;\n      File_read::unlock(&input_file.file_,(Task *)0xffffffff);\n      if ((closure.inputs_ != (Input_arguments *)0x0) &&\n         (((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish !=\n          ((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_start)) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script.cc",0x666,"read_script_file");\n      }\n    }\n    else {\n      __file = (Dirsearch *)0xffffffff;\n      File_read::unlock(&input_file.file_,(Task *)0xffffffff);\n      local_200 = '\0';\n    }\n    if (closure.language_stack_.\n        super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n        ._M_impl._M_start != (pointer)0x0) {\n      operator_delete(closure.language_stack_.\n                      super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n                      ._M_impl._M_start);\n    }\n    if (closure.lex_mode_stack_.\n        super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>._M_impl._M_start !=\n        (pointer)0x0) {\n      operator_delete(closure.lex_mode_stack_.\n                      super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>._M_impl.\n                      _M_start);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)input_string._M_dataplus._M_p != &input_string.field_2) {\n      operator_delete(input_string._M_dataplus._M_p);\n    }\n  }" if (parenthesized_expression "(local_200 != '\0')" ( (binary_expression "local_200 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    input_string._M_string_length = 0;\n    input_string.field_2._M_local_buf[0] = '\0';\n    input_string._M_dataplus._M_p = (pointer)&input_string.field_2;\n                    /* try { // try from 0016c83e to 0016c842 has its CatchHandler @ 0016ccf9 */\n    Lex::read_file(&input_file,&input_string);\n    lex.token_.classification_ = TOKEN_INVALID;\n    lex.token_.value_ = (char *)0x0;\n    lex.input_string_ = input_string._M_dataplus._M_p;\n    lex.current_ = input_string._M_dataplus._M_p;\n    lex.linestart_ = input_string._M_dataplus._M_p;\n    lex.input_length_ = input_string._M_string_length;\n    lex.mode_ = lex_mode;\n    closure.parsing_defsym_ = first_token == 3;\n    lex.first_token_ = first_token;\n    closure.posdep_options_.as_needed_ = (cmdline->position_options_).as_needed_;\n    closure.posdep_options_.Bdynamic_ = (cmdline->position_options_).Bdynamic_;\n    closure.posdep_options_._2_2_ = *(undefined2 *)&(cmdline->position_options_).field_0x2;\n    closure.posdep_options_.format_enum_ = (cmdline->position_options_).format_enum_;\n    lex.token_.value_length_ = 0;\n    closure.posdep_options_.whole_archive_ = (cmdline->position_options_).whole_archive_;\n    closure.posdep_options_._9_3_ = *(undefined3 *)&(cmdline->position_options_).field_0x9;\n    lex.token_.opcode_ = 0;\n    closure.posdep_options_.incremental_disposition_ =\n         (cmdline->position_options_).incremental_disposition_;\n    lex.token_.lineno_ = 0;\n    lex.token_.charpos_ = 0;\n    closure.is_in_sysroot_ = input_file.is_in_sysroot_;\n    lex.lineno_ = 1;\n    closure.in_group_ = false;\n    closure.skip_on_incompatible_target_ = false;\n    closure.found_incompatible_target_ = false;\n    closure.version_script_info_ = &script_options->version_script_info_;\n    closure.lex_ = &lex;\n    closure.lineno_ = 0;\n    closure.charpos_ = 0;\n    closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n    _M_impl._M_start = (pointer)0x0;\n    closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n    _M_impl._M_finish = (pointer)0x0;\n    closure.lex_mode_stack_.super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n    _M_impl._M_end_of_storage = (pointer)0x0;\n    closure.language_stack_.\n    super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ._M_impl._M_start = (pointer)0x0;\n    closure.language_stack_.\n    super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    closure.language_stack_.\n    super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    closure.inputs_ = (Input_arguments *)0x0;\n    closure.script_info_ = (Script_info *)0x0;\n    local_1b4._M_dataplus._M_p = (pointer)0x0;\n    closure.filename_ = filename;\n    closure.command_line_ = cmdline;\n    closure.script_options_ = script_options;\n                    /* try { // try from 0016c9c7 to 0016c9e6 has its CatchHandler @ 0016cd0c */\n    std::\n    vector<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ::_M_realloc_insert<gold::Version_script_info::Language>\n              (&closure.language_stack_,(iterator)0x0,(Language *)&local_1b4);\n    local_1b4._M_dataplus._M_p = (pointer)lex.mode_;\n    std::vector<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>::emplace_back<gold::Lex::Mode>\n              (&closure.lex_mode_stack_,(Mode *)&local_1b4);\n                    /* try { // try from 0016ca02 to 0016ca7c has its CatchHandler @ 0016cd1f */\n    iVar14 = yyparse(&closure);\n    if (iVar14 == 0) {\n      __file = (Dirsearch *)0xffffffff;\n      File_read::unlock(&input_file.file_,(Task *)0xffffffff);\n      if ((closure.inputs_ != (Input_arguments *)0x0) &&\n         (((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish !=\n          ((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_start)) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script.cc",0x666,"read_script_file");\n      }\n    }\n    else {\n      __file = (Dirsearch *)0xffffffff;\n      File_read::unlock(&input_file.file_,(Task *)0xffffffff);\n      local_200 = '\0';\n    }\n    if (closure.language_stack_.\n        super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n        ._M_impl._M_start != (pointer)0x0) {\n      operator_delete(closure.language_stack_.\n                      super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n                      ._M_impl._M_start);\n    }\n    if (closure.lex_mode_stack_.\n        super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>._M_impl._M_start !=\n        (pointer)0x0) {\n      operator_delete(closure.lex_mode_stack_.\n                      super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>._M_impl.\n                      _M_start);\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)input_string._M_dataplus._M_p != &input_string.field_2) {\n      operator_delete(input_string._M_dataplus._M_p);\n    }\n  }" { (expression_statement "input_string._M_string_length = 0;" (assignment_expression "input_string._M_string_length = 0" (field_expression "input_string._M_string_length" identifier . field_identifier) = number_literal) ;) (expression_statement "input_string.field_2._M_local_buf[0] = '\0';" (assignment_expression "input_string.field_2._M_local_buf[0] = '\0'" (subscript_expression "input_string.field_2._M_local_buf[0]" (field_expression "input_string.field_2._M_local_buf" (field_expression "input_string.field_2" identifier . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "input_string._M_dataplus._M_p = (pointer)&input_string.field_2;" (assignment_expression "input_string._M_dataplus._M_p = (pointer)&input_string.field_2" (field_expression "input_string._M_dataplus._M_p" (field_expression "input_string._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "(pointer)&input_string.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "input_string.field_2" identifier . field_identifier))) ;) comment (labeled_statement "Lex::read_file(&input_file,&input_string);" statement_identifier : (ERROR ":" :) (expression_statement "read_file(&input_file,&input_string);" (call_expression "read_file(&input_file,&input_string)" identifier (argument_list "(&input_file,&input_string)" ( (pointer_expression "&input_file" & identifier) , (pointer_expression "&input_string" & identifier) ))) ;)) (expression_statement "lex.token_.classification_ = TOKEN_INVALID;" (assignment_expression "lex.token_.classification_ = TOKEN_INVALID" (field_expression "lex.token_.classification_" (field_expression "lex.token_" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "lex.token_.value_ = (char *)0x0;" (assignment_expression "lex.token_.value_ = (char *)0x0" (field_expression "lex.token_.value_" (field_expression "lex.token_" identifier . field_identifier) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "lex.input_string_ = input_string._M_dataplus._M_p;" (assignment_expression "lex.input_string_ = input_string._M_dataplus._M_p" (field_expression "lex.input_string_" identifier . field_identifier) = (field_expression "input_string._M_dataplus._M_p" (field_expression "input_string._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "lex.current_ = input_string._M_dataplus._M_p;" (assignment_expression "lex.current_ = input_string._M_dataplus._M_p" (field_expression "lex.current_" identifier . field_identifier) = (field_expression "input_string._M_dataplus._M_p" (field_expression "input_string._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "lex.linestart_ = input_string._M_dataplus._M_p;" (assignment_expression "lex.linestart_ = input_string._M_dataplus._M_p" (field_expression "lex.linestart_" identifier . field_identifier) = (field_expression "input_string._M_dataplus._M_p" (field_expression "input_string._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "lex.input_length_ = input_string._M_string_length;" (assignment_expression "lex.input_length_ = input_string._M_string_length" (field_expression "lex.input_length_" identifier . field_identifier) = (field_expression "input_string._M_string_length" identifier . field_identifier)) ;) (expression_statement "lex.mode_ = lex_mode;" (assignment_expression "lex.mode_ = lex_mode" (field_expression "lex.mode_" identifier . field_identifier) = identifier) ;) (expression_statement "closure.parsing_defsym_ = first_token == 3;" (assignment_expression "closure.parsing_defsym_ = first_token == 3" (field_expression "closure.parsing_defsym_" identifier . field_identifier) = (binary_expression "first_token == 3" identifier == number_literal)) ;) (expression_statement "lex.first_token_ = first_token;" (assignment_expression "lex.first_token_ = first_token" (field_expression "lex.first_token_" identifier . field_identifier) = identifier) ;) (expression_statement "closure.posdep_options_.as_needed_ = (cmdline->position_options_).as_needed_;" (assignment_expression "closure.posdep_options_.as_needed_ = (cmdline->position_options_).as_needed_" (field_expression "closure.posdep_options_.as_needed_" (field_expression "closure.posdep_options_" identifier . field_identifier) . field_identifier) = (field_expression "(cmdline->position_options_).as_needed_" (parenthesized_expression "(cmdline->position_options_)" ( (field_expression "cmdline->position_options_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "closure.posdep_options_.Bdynamic_ = (cmdline->position_options_).Bdynamic_;" (assignment_expression "closure.posdep_options_.Bdynamic_ = (cmdline->position_options_).Bdynamic_" (field_expression "closure.posdep_options_.Bdynamic_" (field_expression "closure.posdep_options_" identifier . field_identifier) . field_identifier) = (field_expression "(cmdline->position_options_).Bdynamic_" (parenthesized_expression "(cmdline->position_options_)" ( (field_expression "cmdline->position_options_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "closure.posdep_options_._2_2_ = *(undefined2 *)&(cmdline->position_options_).field_0x2;" (assignment_expression "closure.posdep_options_._2_2_ = *(undefined2 *)&(cmdline->position_options_).field_0x2" (field_expression "closure.posdep_options_._2_2_" (field_expression "closure.posdep_options_" identifier . field_identifier) . field_identifier) = (pointer_expression "*(undefined2 *)&(cmdline->position_options_).field_0x2" * (cast_expression "(undefined2 *)&(cmdline->position_options_).field_0x2" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(cmdline->position_options_).field_0x2" & (field_expression "(cmdline->position_options_).field_0x2" (parenthesized_expression "(cmdline->position_options_)" ( (field_expression "cmdline->position_options_" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "closure.posdep_options_.format_enum_ = (cmdline->position_options_).format_enum_;" (assignment_expression "closure.posdep_options_.format_enum_ = (cmdline->position_options_).format_enum_" (field_expression "closure.posdep_options_.format_enum_" (field_expression "closure.posdep_options_" identifier . field_identifier) . field_identifier) = (field_expression "(cmdline->position_options_).format_enum_" (parenthesized_expression "(cmdline->position_options_)" ( (field_expression "cmdline->position_options_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "lex.token_.value_length_ = 0;" (assignment_expression "lex.token_.value_length_ = 0" (field_expression "lex.token_.value_length_" (field_expression "lex.token_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "closure.posdep_options_.whole_archive_ = (cmdline->position_options_).whole_archive_;" (assignment_expression "closure.posdep_options_.whole_archive_ = (cmdline->position_options_).whole_archive_" (field_expression "closure.posdep_options_.whole_archive_" (field_expression "closure.posdep_options_" identifier . field_identifier) . field_identifier) = (field_expression "(cmdline->position_options_).whole_archive_" (parenthesized_expression "(cmdline->position_options_)" ( (field_expression "cmdline->position_options_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "closure.posdep_options_._9_3_ = *(undefined3 *)&(cmdline->position_options_).field_0x9;" (assignment_expression "closure.posdep_options_._9_3_ = *(undefined3 *)&(cmdline->position_options_).field_0x9" (field_expression "closure.posdep_options_._9_3_" (field_expression "closure.posdep_options_" identifier . field_identifier) . field_identifier) = (pointer_expression "*(undefined3 *)&(cmdline->position_options_).field_0x9" * (cast_expression "(undefined3 *)&(cmdline->position_options_).field_0x9" ( (type_descriptor "undefined3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(cmdline->position_options_).field_0x9" & (field_expression "(cmdline->position_options_).field_0x9" (parenthesized_expression "(cmdline->position_options_)" ( (field_expression "cmdline->position_options_" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "lex.token_.opcode_ = 0;" (assignment_expression "lex.token_.opcode_ = 0" (field_expression "lex.token_.opcode_" (field_expression "lex.token_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "closure.posdep_options_.incremental_disposition_ =\n         (cmdline->position_options_).incremental_disposition_;" (assignment_expression "closure.posdep_options_.incremental_disposition_ =\n         (cmdline->position_options_).incremental_disposition_" (field_expression "closure.posdep_options_.incremental_disposition_" (field_expression "closure.posdep_options_" identifier . field_identifier) . field_identifier) = (field_expression "(cmdline->position_options_).incremental_disposition_" (parenthesized_expression "(cmdline->position_options_)" ( (field_expression "cmdline->position_options_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "lex.token_.lineno_ = 0;" (assignment_expression "lex.token_.lineno_ = 0" (field_expression "lex.token_.lineno_" (field_expression "lex.token_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "lex.token_.charpos_ = 0;" (assignment_expression "lex.token_.charpos_ = 0" (field_expression "lex.token_.charpos_" (field_expression "lex.token_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "closure.is_in_sysroot_ = input_file.is_in_sysroot_;" (assignment_expression "closure.is_in_sysroot_ = input_file.is_in_sysroot_" (field_expression "closure.is_in_sysroot_" identifier . field_identifier) = (field_expression "input_file.is_in_sysroot_" identifier . field_identifier)) ;) (expression_statement "lex.lineno_ = 1;" (assignment_expression "lex.lineno_ = 1" (field_expression "lex.lineno_" identifier . field_identifier) = number_literal) ;) (expression_statement "closure.in_group_ = false;" (assignment_expression "closure.in_group_ = false" (field_expression "closure.in_group_" identifier . field_identifier) = false) ;) (expression_statement "closure.skip_on_incompatible_target_ = false;" (assignment_expression "closure.skip_on_incompatible_target_ = false" (field_expression "closure.skip_on_incompatible_target_" identifier . field_identifier) = false) ;) (expression_statement "closure.found_incompatible_target_ = false;" (assignment_expression "closure.found_incompatible_target_ = false" (field_expression "closure.found_incompatible_target_" identifier . field_identifier) = false) ;) (expression_statement "closure.version_script_info_ = &script_options->version_script_info_;" (assignment_expression "closure.version_script_info_ = &script_options->version_script_info_" (field_expression "closure.version_script_info_" identifier . field_identifier) = (pointer_expression "&script_options->version_script_info_" & (field_expression "script_options->version_script_info_" identifier -> field_identifier))) ;) (expression_statement "closure.lex_ = &lex;" (assignment_expression "closure.lex_ = &lex" (field_expression "closure.lex_" identifier . field_identifier) = (pointer_expression "&lex" & identifier)) ;) (expression_statement "closure.lineno_ = 0;" (assignment_expression "closure.lineno_ = 0" (field_expression "closure.lineno_" identifier . field_identifier) = number_literal) ;) (expression_statement "closure.charpos_ = 0;" (assignment_expression "closure.charpos_ = 0" (field_expression "closure.charpos_" identifier . field_identifier) = number_literal) ;) (ERROR "closure.lex_mode_stack_.super__Vector_base<gold::" (binary_expression "closure.lex_mode_stack_.super__Vector_base<gold" (field_expression "closure.lex_mode_stack_.super__Vector_base" (field_expression "closure.lex_mode_stack_" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n    _M_impl._M_start = (pointer)0x0;" statement_identifier (ERROR "::Mode,_std::allocator<gold:" : : (comma_expression "Mode,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode>_>.\n    _M_impl._M_start = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Mode>_>.\n    _M_impl._M_start = (pointer)0x0;" (assignment_expression "Mode>_>.\n    _M_impl._M_start = (pointer)0x0" (field_expression "Mode>_>.\n    _M_impl._M_start" (field_expression "Mode>_>.\n    _M_impl" (binary_expression "Mode>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "closure.lex_mode_stack_.super__Vector_base<gold::" (binary_expression "closure.lex_mode_stack_.super__Vector_base<gold" (field_expression "closure.lex_mode_stack_.super__Vector_base" (field_expression "closure.lex_mode_stack_" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n    _M_impl._M_finish = (pointer)0x0;" statement_identifier (ERROR "::Mode,_std::allocator<gold:" : : (comma_expression "Mode,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode>_>.\n    _M_impl._M_finish = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Mode>_>.\n    _M_impl._M_finish = (pointer)0x0;" (assignment_expression "Mode>_>.\n    _M_impl._M_finish = (pointer)0x0" (field_expression "Mode>_>.\n    _M_impl._M_finish" (field_expression "Mode>_>.\n    _M_impl" (binary_expression "Mode>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "closure.lex_mode_stack_.super__Vector_base<gold::" (binary_expression "closure.lex_mode_stack_.super__Vector_base<gold" (field_expression "closure.lex_mode_stack_.super__Vector_base" (field_expression "closure.lex_mode_stack_" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Lex::Mode,_std::allocator<gold::Lex::Mode>_>.\n    _M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier (ERROR "::Mode,_std::allocator<gold:" : : (comma_expression "Mode,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode>_>.\n    _M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Mode>_>.\n    _M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "Mode>_>.\n    _M_impl._M_end_of_storage = (pointer)0x0" (field_expression "Mode>_>.\n    _M_impl._M_end_of_storage" (field_expression "Mode>_>.\n    _M_impl" (binary_expression "Mode>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "closure.language_stack_.\n    super__Vector_base<gold::" (binary_expression "closure.language_stack_.\n    super__Vector_base<gold" (field_expression "closure.language_stack_.\n    super__Vector_base" (field_expression "closure.language_stack_" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ._M_impl._M_start = (pointer)0x0;" statement_identifier (ERROR "::Language,_std::allocator<gold:" : : (comma_expression "Language,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language>_>\n    ._M_impl._M_start = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Language>_>\n    ._M_impl._M_start = (pointer)0x0;" (assignment_expression "Language>_>\n    ._M_impl._M_start = (pointer)0x0" (field_expression "Language>_>\n    ._M_impl._M_start" (field_expression "Language>_>\n    ._M_impl" (binary_expression "Language>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "closure.language_stack_.\n    super__Vector_base<gold::" (binary_expression "closure.language_stack_.\n    super__Vector_base<gold" (field_expression "closure.language_stack_.\n    super__Vector_base" (field_expression "closure.language_stack_" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ._M_impl._M_finish = (pointer)0x0;" statement_identifier (ERROR "::Language,_std::allocator<gold:" : : (comma_expression "Language,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language>_>\n    ._M_impl._M_finish = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Language>_>\n    ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "Language>_>\n    ._M_impl._M_finish = (pointer)0x0" (field_expression "Language>_>\n    ._M_impl._M_finish" (field_expression "Language>_>\n    ._M_impl" (binary_expression "Language>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "closure.language_stack_.\n    super__Vector_base<gold::" (binary_expression "closure.language_stack_.\n    super__Vector_base<gold" (field_expression "closure.language_stack_.\n    super__Vector_base" (field_expression "closure.language_stack_" identifier . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier (ERROR "::Language,_std::allocator<gold:" : : (comma_expression "Language,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Language>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "Language>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "Language>_>\n    ._M_impl._M_end_of_storage" (field_expression "Language>_>\n    ._M_impl" (binary_expression "Language>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (expression_statement "closure.inputs_ = (Input_arguments *)0x0;" (assignment_expression "closure.inputs_ = (Input_arguments *)0x0" (field_expression "closure.inputs_" identifier . field_identifier) = (cast_expression "(Input_arguments *)0x0" ( (type_descriptor "Input_arguments *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "closure.script_info_ = (Script_info *)0x0;" (assignment_expression "closure.script_info_ = (Script_info *)0x0" (field_expression "closure.script_info_" identifier . field_identifier) = (cast_expression "(Script_info *)0x0" ( (type_descriptor "Script_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1b4._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "local_1b4._M_dataplus._M_p = (pointer)0x0" (field_expression "local_1b4._M_dataplus._M_p" (field_expression "local_1b4._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "closure.filename_ = filename;" (assignment_expression "closure.filename_ = filename" (field_expression "closure.filename_" identifier . field_identifier) = identifier) ;) (expression_statement "closure.command_line_ = cmdline;" (assignment_expression "closure.command_line_ = cmdline" (field_expression "closure.command_line_" identifier . field_identifier) = identifier) ;) (expression_statement "closure.script_options_ = script_options;" (assignment_expression "closure.script_options_ = script_options" (field_expression "closure.script_options_" identifier . field_identifier) = identifier) ;) comment (labeled_statement "std::\n    vector<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ::_M_realloc_insert<gold::Version_script_info::Language>\n              (&closure.language_stack_,(iterator)0x0,(Language *)&local_1b4);" statement_identifier (ERROR "::\n    vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n    ::_M_realloc_insert<gold::Version_script_info::Language>\n              (&closure.language_stack_,(iterator)0x0,(Language *)&local_1b4);" statement_identifier (ERROR "::Language,_std::allocator<gold:" : : (comma_expression "Language,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language>_>\n    ::_M_realloc_insert<gold::Version_script_info::Language>\n              (&closure.language_stack_,(iterator)0x0,(Language *)&local_1b4);" statement_identifier (ERROR "::Language>_>\n    ::_M_realloc_insert<gold:" : : (binary_expression "Language>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<gold" identifier < identifier) :) : (labeled_statement "Version_script_info::Language>\n              (&closure.language_stack_,(iterator)0x0,(Language *)&local_1b4);" statement_identifier : (ERROR ":" :) (expression_statement "Language>\n              (&closure.language_stack_,(iterator)0x0,(Language *)&local_1b4);" (binary_expression "Language>\n              (&closure.language_stack_,(iterator)0x0,(Language *)&local_1b4)" identifier > (parenthesized_expression "(&closure.language_stack_,(iterator)0x0,(Language *)&local_1b4)" ( (comma_expression "&closure.language_stack_,(iterator)0x0,(Language *)&local_1b4" (pointer_expression "&closure.language_stack_" & (field_expression "closure.language_stack_" identifier . field_identifier)) , (comma_expression "(iterator)0x0,(Language *)&local_1b4" (cast_expression "(iterator)0x0" ( (type_descriptor "iterator" type_identifier) ) number_literal) , (cast_expression "(Language *)&local_1b4" ( (type_descriptor "Language *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_1b4" & identifier)))) ))) ;))))) (expression_statement "local_1b4._M_dataplus._M_p = (pointer)lex.mode_;" (assignment_expression "local_1b4._M_dataplus._M_p = (pointer)lex.mode_" (field_expression "local_1b4._M_dataplus._M_p" (field_expression "local_1b4._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)lex.mode_" ( (type_descriptor "pointer" type_identifier) ) (field_expression "lex.mode_" identifier . field_identifier))) ;) (labeled_statement "std::vector<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>::emplace_back<gold::Lex::Mode>\n              (&closure.lex_mode_stack_,(Mode *)&local_1b4);" statement_identifier (ERROR "::vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode,_std::allocator<gold::Lex::Mode>_>::emplace_back<gold::Lex::Mode>\n              (&closure.lex_mode_stack_,(Mode *)&local_1b4);" statement_identifier (ERROR "::Mode,_std::allocator<gold:" : : (comma_expression "Mode,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode>_>::emplace_back<gold::Lex::Mode>\n              (&closure.lex_mode_stack_,(Mode *)&local_1b4);" statement_identifier (ERROR "::Mode>_>::emplace_back<gold:" : : (binary_expression "Mode>_" identifier > identifier) > : : (binary_expression "emplace_back<gold" identifier < identifier) :) : (labeled_statement "Lex::Mode>\n              (&closure.lex_mode_stack_,(Mode *)&local_1b4);" statement_identifier : (ERROR ":" :) (expression_statement "Mode>\n              (&closure.lex_mode_stack_,(Mode *)&local_1b4);" (binary_expression "Mode>\n              (&closure.lex_mode_stack_,(Mode *)&local_1b4)" identifier > (parenthesized_expression "(&closure.lex_mode_stack_,(Mode *)&local_1b4)" ( (comma_expression "&closure.lex_mode_stack_,(Mode *)&local_1b4" (pointer_expression "&closure.lex_mode_stack_" & (field_expression "closure.lex_mode_stack_" identifier . field_identifier)) , (cast_expression "(Mode *)&local_1b4" ( (type_descriptor "Mode *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_1b4" & identifier))) ))) ;))))) comment (expression_statement "iVar14 = yyparse(&closure);" (assignment_expression "iVar14 = yyparse(&closure)" identifier = (call_expression "yyparse(&closure)" identifier (argument_list "(&closure)" ( (pointer_expression "&closure" & identifier) )))) ;) (if_statement "if (iVar14 == 0) {\n      __file = (Dirsearch *)0xffffffff;\n      File_read::unlock(&input_file.file_,(Task *)0xffffffff);\n      if ((closure.inputs_ != (Input_arguments *)0x0) &&\n         (((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish !=\n          ((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_start)) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script.cc",0x666,"read_script_file");\n      }\n    }\n    else {\n      __file = (Dirsearch *)0xffffffff;\n      File_read::unlock(&input_file.file_,(Task *)0xffffffff);\n      local_200 = '\0';\n    }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n      __file = (Dirsearch *)0xffffffff;\n      File_read::unlock(&input_file.file_,(Task *)0xffffffff);\n      if ((closure.inputs_ != (Input_arguments *)0x0) &&\n         (((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish !=\n          ((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_start)) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script.cc",0x666,"read_script_file");\n      }\n    }" { (expression_statement "__file = (Dirsearch *)0xffffffff;" (assignment_expression "__file = (Dirsearch *)0xffffffff" identifier = (cast_expression "(Dirsearch *)0xffffffff" ( (type_descriptor "Dirsearch *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "File_read::unlock(&input_file.file_,(Task *)0xffffffff);" statement_identifier : (ERROR ":" :) (expression_statement "unlock(&input_file.file_,(Task *)0xffffffff);" (call_expression "unlock(&input_file.file_,(Task *)0xffffffff)" identifier (argument_list "(&input_file.file_,(Task *)0xffffffff)" ( (pointer_expression "&input_file.file_" & (field_expression "input_file.file_" identifier . field_identifier)) , (cast_expression "(Task *)0xffffffff" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) (if_statement "if ((closure.inputs_ != (Input_arguments *)0x0) &&\n         (((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish !=\n          ((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_start)) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script.cc",0x666,"read_script_file");\n      }" if (parenthesized_expression "((closure.inputs_ != (Input_arguments *)0x0) &&\n         (((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish !=\n          ((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_start))" ( (binary_expression "(closure.inputs_ != (Input_arguments *)0x0) &&\n         (((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish !=\n          ((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_start)" (parenthesized_expression "(closure.inputs_ != (Input_arguments *)0x0)" ( (binary_expression "closure.inputs_ != (Input_arguments *)0x0" (field_expression "closure.inputs_" identifier . field_identifier) != (cast_expression "(Input_arguments *)0x0" ( (type_descriptor "Input_arguments *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish !=\n          ((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_start)" ( (ERROR "((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish !=\n          ((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::" (comma_expression "((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold::Input_argument,_std" (binary_expression "((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold" (field_expression "((closure.inputs_)->input_argument_list_).\n          super__Vector_base" (parenthesized_expression "((closure.inputs_)->input_argument_list_)" ( (field_expression "(closure.inputs_)->input_argument_list_" (parenthesized_expression "(closure.inputs_)" ( (field_expression "closure.inputs_" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Input_argument" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Input_argument>_>._M_impl.\n          _M_finish !=\n          ((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold" (field_expression "Input_argument>_>._M_impl.\n          _M_finish" (field_expression "Input_argument>_>._M_impl" (binary_expression "Input_argument>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (binary_expression "((closure.inputs_)->input_argument_list_).\n          super__Vector_base<gold" (field_expression "((closure.inputs_)->input_argument_list_).\n          super__Vector_base" (parenthesized_expression "((closure.inputs_)->input_argument_list_)" ( (field_expression "(closure.inputs_)->input_argument_list_" (parenthesized_expression "(closure.inputs_)" ( (field_expression "closure.inputs_" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier)) : : (comma_expression "Input_argument,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (field_expression "Input_argument>_>._M_impl.\n          _M_start" (field_expression "Input_argument>_>._M_impl" (binary_expression "Input_argument>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/script.cc",0x666,"read_script_file");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/script.cc",0x666,"read_script_file");" (call_expression "do_gold_unreachable("../../gold/script.cc",0x666,"read_script_file")" identifier (argument_list "("../../gold/script.cc",0x666,"read_script_file")" ( (string_literal ""../../gold/script.cc"" " string_content ") , number_literal , (string_literal ""read_script_file"" " string_content ") ))) ;) })) }) (else_clause "else {\n      __file = (Dirsearch *)0xffffffff;\n      File_read::unlock(&input_file.file_,(Task *)0xffffffff);\n      local_200 = '\0';\n    }" else (compound_statement "{\n      __file = (Dirsearch *)0xffffffff;\n      File_read::unlock(&input_file.file_,(Task *)0xffffffff);\n      local_200 = '\0';\n    }" { (expression_statement "__file = (Dirsearch *)0xffffffff;" (assignment_expression "__file = (Dirsearch *)0xffffffff" identifier = (cast_expression "(Dirsearch *)0xffffffff" ( (type_descriptor "Dirsearch *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "File_read::unlock(&input_file.file_,(Task *)0xffffffff);" statement_identifier : (ERROR ":" :) (expression_statement "unlock(&input_file.file_,(Task *)0xffffffff);" (call_expression "unlock(&input_file.file_,(Task *)0xffffffff)" identifier (argument_list "(&input_file.file_,(Task *)0xffffffff)" ( (pointer_expression "&input_file.file_" & (field_expression "input_file.file_" identifier . field_identifier)) , (cast_expression "(Task *)0xffffffff" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) (expression_statement "local_200 = '\0';" (assignment_expression "local_200 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }))) (if_statement "if (closure.language_stack_.\n        super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n        ._M_impl._M_start != (pointer)0x0) {\n      operator_delete(closure.language_stack_.\n                      super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n                      ._M_impl._M_start);\n    }" if (parenthesized_expression "(closure.language_stack_.\n        super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n        ._M_impl._M_start != (pointer)0x0)" ( (ERROR "closure.language_stack_.\n        super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::" (comma_expression "closure.language_stack_.\n        super__Vector_base<gold::Version_script_info::Language,_std" (binary_expression "closure.language_stack_.\n        super__Vector_base<gold" (field_expression "closure.language_stack_.\n        super__Vector_base" (field_expression "closure.language_stack_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::Version_script_info::Language" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (binary_expression "Language>_>\n        ._M_impl._M_start != (pointer)0x0" (field_expression "Language>_>\n        ._M_impl._M_start" (field_expression "Language>_>\n        ._M_impl" (binary_expression "Language>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n      operator_delete(closure.language_stack_.\n                      super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n                      ._M_impl._M_start);\n    }" { (expression_statement "operator_delete(closure.language_stack_.\n                      super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n                      ._M_impl._M_start);" (call_expression "operator_delete(closure.language_stack_.\n                      super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n                      ._M_impl._M_start)" identifier (argument_list "(closure.language_stack_.\n                      super__Vector_base<gold::Version_script_info::Language,_std::allocator<gold::Version_script_info::Language>_>\n                      ._M_impl._M_start)" ( (binary_expression "closure.language_stack_.\n                      super__Vector_base<gold" (field_expression "closure.language_stack_.\n                      super__Vector_base" (field_expression "closure.language_stack_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::Version_script_info::Language" : : identifier : : identifier) , (ERROR "_std::allocator<gold::Version_script_info::" identifier : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Language>_>\n                      ._M_impl._M_start" (field_expression "Language>_>\n                      ._M_impl" (binary_expression "Language>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if (closure.lex_mode_stack_.\n        super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>._M_impl._M_start !=\n        (pointer)0x0) {\n      operator_delete(closure.lex_mode_stack_.\n                      super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>._M_impl.\n                      _M_start);\n    }" if (parenthesized_expression "(closure.lex_mode_stack_.\n        super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>._M_impl._M_start !=\n        (pointer)0x0)" ( (ERROR "closure.lex_mode_stack_.\n        super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::" (comma_expression "closure.lex_mode_stack_.\n        super__Vector_base<gold::Lex::Mode,_std" (binary_expression "closure.lex_mode_stack_.\n        super__Vector_base<gold" (field_expression "closure.lex_mode_stack_.\n        super__Vector_base" (field_expression "closure.lex_mode_stack_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::Lex::Mode" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (binary_expression "Mode>_>._M_impl._M_start !=\n        (pointer)0x0" (field_expression "Mode>_>._M_impl._M_start" (field_expression "Mode>_>._M_impl" (binary_expression "Mode>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n      operator_delete(closure.lex_mode_stack_.\n                      super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>._M_impl.\n                      _M_start);\n    }" { (expression_statement "operator_delete(closure.lex_mode_stack_.\n                      super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>._M_impl.\n                      _M_start);" (call_expression "operator_delete(closure.lex_mode_stack_.\n                      super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>._M_impl.\n                      _M_start)" identifier (argument_list "(closure.lex_mode_stack_.\n                      super__Vector_base<gold::Lex::Mode,_std::allocator<gold::Lex::Mode>_>._M_impl.\n                      _M_start)" ( (binary_expression "closure.lex_mode_stack_.\n                      super__Vector_base<gold" (field_expression "closure.lex_mode_stack_.\n                      super__Vector_base" (field_expression "closure.lex_mode_stack_" identifier . field_identifier) . field_identifier) < identifier) (ERROR "::Lex::Mode" : : identifier : : identifier) , (ERROR "_std::allocator<gold::Lex::" identifier : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Mode>_>._M_impl.\n                      _M_start" (field_expression "Mode>_>._M_impl" (binary_expression "Mode>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)input_string._M_dataplus._M_p != &input_string.field_2) {\n      operator_delete(input_string._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         *)input_string._M_dataplus._M_p != &input_string.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)input_string._M_dataplus._M_p != &input_string.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         *)input_string._M_dataplus._M_p != &input_string.field_2" (binary_expression "allocator<char>_>_9\n         *)input_string._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n         *)input_string._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "input_string._M_dataplus._M_p" (field_expression "input_string._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&input_string.field_2" & (field_expression "input_string.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n      operator_delete(input_string._M_dataplus._M_p);\n    }" { (expression_statement "operator_delete(input_string._M_dataplus._M_p);" (call_expression "operator_delete(input_string._M_dataplus._M_p)" identifier (argument_list "(input_string._M_dataplus._M_p)" ( (field_expression "input_string._M_dataplus._M_p" (field_expression "input_string._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) })) (expression_statement "local_1f4 = &input_file.file_;" (assignment_expression "local_1f4 = &input_file.file_" identifier = (pointer_expression "&input_file.file_" & (field_expression "input_file.file_" identifier . field_identifier))) ;) (labeled_statement "File_read::~File_read(local_1f4,(int)__file);" statement_identifier : (ERROR ":" :) (expression_statement "~File_read(local_1f4,(int)__file);" (unary_expression "~File_read(local_1f4,(int)__file)" ~ (call_expression "File_read(local_1f4,(int)__file)" identifier (argument_list "(local_1f4,(int)__file)" ( identifier , (cast_expression "(int)__file" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)input_file.found_name_._M_dataplus._M_p != paVar4) {\n    operator_delete(input_file.found_name_._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       *)input_file.found_name_._M_dataplus._M_p != paVar4)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)input_file.found_name_._M_dataplus._M_p != paVar4)" ( (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       *)input_file.found_name_._M_dataplus._M_p != paVar4" (binary_expression "allocator<char>_>_9\n       *)input_file.found_name_._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)input_file.found_name_._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "input_file.found_name_._M_dataplus._M_p" (field_expression "input_file.found_name_._M_dataplus" (field_expression "input_file.found_name_" identifier . field_identifier) . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n    operator_delete(input_file.found_name_._M_dataplus._M_p);\n  }" { (expression_statement "operator_delete(input_file.found_name_._M_dataplus._M_p);" (call_expression "operator_delete(input_file.found_name_._M_dataplus._M_p)" identifier (argument_list "(input_file.found_name_._M_dataplus._M_p)" ( (field_expression "input_file.found_name_._M_dataplus._M_p" (field_expression "input_file.found_name_._M_dataplus" (field_expression "input_file.found_name_" identifier . field_identifier) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)input_argument.extra_search_path_._M_dataplus._M_p != paVar3) {\n    operator_delete(input_argument.extra_search_path_._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       *)input_argument.extra_search_path_._M_dataplus._M_p != paVar3)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)input_argument.extra_search_path_._M_dataplus._M_p != paVar3)" ( (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       *)input_argument.extra_search_path_._M_dataplus._M_p != paVar3" (binary_expression "allocator<char>_>_9\n       *)input_argument.extra_search_path_._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)input_argument.extra_search_path_._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "input_argument.extra_search_path_._M_dataplus._M_p" (field_expression "input_argument.extra_search_path_._M_dataplus" (field_expression "input_argument.extra_search_path_" identifier . field_identifier) . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n    operator_delete(input_argument.extra_search_path_._M_dataplus._M_p);\n  }" { (expression_statement "operator_delete(input_argument.extra_search_path_._M_dataplus._M_p);" (call_expression "operator_delete(input_argument.extra_search_path_._M_dataplus._M_p)" identifier (argument_list "(input_argument.extra_search_path_._M_dataplus._M_p)" ( (field_expression "input_argument.extra_search_path_._M_dataplus._M_p" (field_expression "input_argument.extra_search_path_._M_dataplus" (field_expression "input_argument.extra_search_path_" identifier . field_identifier) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)input_argument.name_._M_dataplus._M_p != paVar2) {\n    operator_delete(input_argument.name_._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       *)input_argument.name_._M_dataplus._M_p != paVar2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)input_argument.name_._M_dataplus._M_p != paVar2)" ( (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       *)input_argument.name_._M_dataplus._M_p != paVar2" (binary_expression "allocator<char>_>_9\n       *)input_argument.name_._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)input_argument.name_._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "input_argument.name_._M_dataplus._M_p" (field_expression "input_argument.name_._M_dataplus" (field_expression "input_argument.name_" identifier . field_identifier) . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n    operator_delete(input_argument.name_._M_dataplus._M_p);\n  }" { (expression_statement "operator_delete(input_argument.name_._M_dataplus._M_p);" (call_expression "operator_delete(input_argument.name_._M_dataplus._M_p)" identifier (argument_list "(input_argument.name_._M_dataplus._M_p)" ( (field_expression "input_argument.name_._M_dataplus._M_p" (field_expression "input_argument.name_._M_dataplus" (field_expression "input_argument.name_" identifier . field_identifier) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)name._M_dataplus._M_p != paVar1) {\n    operator_delete(name._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       *)name._M_dataplus._M_p != paVar1)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)name._M_dataplus._M_p != paVar1)" ( (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       *)name._M_dataplus._M_p != paVar1" (binary_expression "allocator<char>_>_9\n       *)name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n    operator_delete(name._M_dataplus._M_p);\n  }" { (expression_statement "operator_delete(name._M_dataplus._M_p);" (call_expression "operator_delete(name._M_dataplus._M_p)" identifier (argument_list "(name._M_dataplus._M_p)" ( (field_expression "name._M_dataplus._M_p" (field_expression "name._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (if_statement "if (dirsearch.token_.blockers_ != 0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/token.h",100,"~Task_token");\n  }" if (parenthesized_expression "(dirsearch.token_.blockers_ != 0)" ( (binary_expression "dirsearch.token_.blockers_ != 0" (field_expression "dirsearch.token_.blockers_" (field_expression "dirsearch.token_" identifier . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/token.h",100,"~Task_token");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/token.h",100,"~Task_token");" (call_expression "do_gold_unreachable("../../gold/token.h",100,"~Task_token")" identifier (argument_list "("../../gold/token.h",100,"~Task_token")" ( (string_literal ""../../gold/token.h"" " string_content ") , number_literal , (string_literal ""~Task_token"" " string_content ") ))) ;) })) (if_statement "if (dirsearch.token_.writer_ != (Task *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/token.h",0x65,"~Task_token");\n  }" if (parenthesized_expression "(dirsearch.token_.writer_ != (Task *)0x0)" ( (binary_expression "dirsearch.token_.writer_ != (Task *)0x0" (field_expression "dirsearch.token_.writer_" (field_expression "dirsearch.token_" identifier . field_identifier) . field_identifier) != (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/token.h",0x65,"~Task_token");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/token.h",0x65,"~Task_token");" (call_expression "do_gold_unreachable("../../gold/token.h",0x65,"~Task_token")" identifier (argument_list "("../../gold/token.h",0x65,"~Task_token")" ( (string_literal ""../../gold/token.h"" " string_content ") , number_literal , (string_literal ""~Task_token"" " string_content ") ))) ;) })) (if_statement "if ((dirsearch.token_.waiting_.head_ == (Task *)0x0) &&\n     (dirsearch.token_.waiting_.tail_ == (Task *)0x0)) {\n    return (bool)local_200;\n  }" if (parenthesized_expression "((dirsearch.token_.waiting_.head_ == (Task *)0x0) &&\n     (dirsearch.token_.waiting_.tail_ == (Task *)0x0))" ( (binary_expression "(dirsearch.token_.waiting_.head_ == (Task *)0x0) &&\n     (dirsearch.token_.waiting_.tail_ == (Task *)0x0)" (parenthesized_expression "(dirsearch.token_.waiting_.head_ == (Task *)0x0)" ( (binary_expression "dirsearch.token_.waiting_.head_ == (Task *)0x0" (field_expression "dirsearch.token_.waiting_.head_" (field_expression "dirsearch.token_.waiting_" (field_expression "dirsearch.token_" identifier . field_identifier) . field_identifier) . field_identifier) == (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(dirsearch.token_.waiting_.tail_ == (Task *)0x0)" ( (binary_expression "dirsearch.token_.waiting_.tail_ == (Task *)0x0" (field_expression "dirsearch.token_.waiting_.tail_" (field_expression "dirsearch.token_.waiting_" (field_expression "dirsearch.token_" identifier . field_identifier) . field_identifier) . field_identifier) == (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    return (bool)local_200;\n  }" { (return_statement "return (bool)local_200;" return (cast_expression "(bool)local_200" ( (type_descriptor "bool" primitive_type) ) identifier) ;) })) comment (expression_statement "do_gold_unreachable("../../gold/token.h",0x2c,"~Task_list");" (call_expression "do_gold_unreachable("../../gold/token.h",0x2c,"~Task_list")" identifier (argument_list "("../../gold/token.h",0x2c,"~Task_list")" ( (string_literal ""../../gold/token.h"" " string_content ") , number_literal , (string_literal ""~Task_list"" " string_content ") ))) ;) (ERROR "}" }))
(translation_unit "uint __regparm3 FUN_0016c460(char *param_1,int param_2,int param_3,int param_4,int *param_5)\n\n{\n  char *pcVar1;\n  undefined **ppuVar2;\n  char cVar3;\n  char *pcVar4;\n  size_t sVar5;\n  undefined1 *puVar6;\n  int *piVar7;\n  undefined **ppuVar8;\n  undefined1 ****ppppuVar9;\n  int iVar10;\n  undefined1 ***pppuStack_220;\n  undefined1 auStack_21c [4];\n  undefined1 *local_218;\n  undefined1 **local_214;\n  int local_210;\n  int *local_20c;\n  undefined1 *local_208;\n  undefined1 *local_204;\n  uint local_200;\n  int *local_1fc;\n  char *local_1f8;\n  undefined1 **local_1f4;\n  undefined **local_1f0;\n  undefined4 local_1e8;\n  undefined4 local_1e4;\n  undefined1 local_1e0;\n  int local_1dc;\n  int local_1d8;\n  int local_1d4;\n  int local_1d0;\n  int *local_1cc;\n  size_t local_1c8;\n  int local_1c4 [4];\n  int *local_1b4;\n  size_t local_1b0;\n  int local_1ac [4];\n  undefined1 *local_19c;\n  undefined4 local_198;\n  undefined1 local_194 [16];\n  undefined1 *local_184;\n  undefined4 local_180;\n  undefined1 *local_17c;\n  int *local_178;\n  int local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined4 local_168;\n  undefined4 local_164;\n  undefined4 local_160;\n  undefined4 local_15c;\n  undefined4 local_158;\n  undefined1 *local_154;\n  undefined1 *local_150 [2];\n  undefined1 local_148 [16];\n  undefined4 local_138;\n  undefined1 *local_134 [2];\n  undefined1 local_12c [16];\n  undefined1 local_11c;\n  undefined2 local_118;\n  int local_114;\n  undefined1 local_110;\n  undefined4 local_10c;\n  undefined4 local_108;\n  char *local_104;\n  undefined4 local_100;\n  undefined4 local_fc;\n  undefined4 local_f8;\n  undefined4 local_f4;\n  undefined1 local_f0;\n  undefined1 local_ef;\n  undefined1 local_ee;\n  undefined2 local_ed;\n  int local_e8;\n  int local_e4;\n  int local_e0;\n  undefined1 **local_dc;\n  undefined4 local_d8;\n  undefined4 local_d4;\n  int local_d0 [6];\n  int *local_b8;\n  undefined4 local_b4;\n  undefined1 **local_b0;\n  undefined1 *local_ac;\n  undefined1 *local_a8;\n  undefined1 local_a4 [16];\n  undefined1 *local_94;\n  undefined4 local_90;\n  undefined1 local_8c [16];\n  undefined4 local_7c;\n  undefined1 local_78;\n  undefined4 local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  undefined1 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 *local_48;\n  undefined4 *local_44;\n  undefined4 local_40;\n  undefined4 ****local_3c;\n  undefined4 ****local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined1 local_2c;\n  undefined4 local_28;\n  undefined1 local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x16c46f;\n  local_1f0 = &__DT_PLTGOT;\n  local_1fc = local_1c4;\n  pcVar4 = (char *)0xffffffff;\n  local_1e4 = 0;\n  local_1e0 = 1;\n  local_1dc = 0;\n  local_1d8 = 0;\n  local_1d4 = 0;\n  local_1d0 = 0;\n  local_210 = param_3;\n  local_1f8 = param_1;\n  local_1cc = local_1fc;\n  if (param_1 != (char *)0x0) {\n    sVar5 = strlen(param_1);\n    pcVar4 = param_1 + sVar5;\n  }\n  pcVar1 = local_1f8;\n  pppuStack_220 = (undefined1 ***)0x0;\n                    \n  FUN_00050e40(&local_1cc,local_1f8,pcVar4);\n  ppppuVar9 = (undefined1 ****)auStack_21c;\n  if (*pcVar1 == '/') goto LAB_0016c511;\n  local_200 = param_2 + 0x2188;\n  pppuStack_220 = (undefined1 ***)0x0;\n  local_1f4 = &local_a8;\n  local_b0 = local_1f4;\n                    \n  FUN_00050e40(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed);\n  pppuStack_220 = &local_b0;\n                    \n  FUN_001a2000(&local_1b4,&local_1cc,local_200);\n  iVar10 = local_1c4[0];\n  piVar7 = local_1cc;\n  if (local_1b4 == local_1ac) {\n    local_1c8 = local_1b0;\n    if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }\n    *(undefined1 *)((int)local_1cc + local_1c8) = 0;\n  }\n  else {\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }\nLAB_0016cbba:\n  local_1b0 = 0;\n  *(undefined1 *)local_1b4 = 0;\n  if (local_1b4 != local_1ac) {\n    FUN_001e6db0(local_1b4);\n  }\n  ppppuVar9 = &pppuStack_220;\n  if (local_b0 != local_1f4) {\n    FUN_001e6db0(local_b0);\n    ppppuVar9 = &pppuStack_220;\n  }\nLAB_0016c511:\n  iVar10 = *(int *)(param_2 + 0x5a94);\n  local_1f4 = (undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90));\n  local_204 = (undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98));\n  local_200 = *(undefined4 *)(param_2 + 0x5a9c);\n  if (iVar10 == 1) {\n    iVar10 = 0;\n  }\n  local_208 = local_148;\n  puVar6 = (undefined1 *)0xffffffff;\n  piVar7 = local_1cc;\n  local_150[0] = local_208;\n  if (local_1cc != (int *)0x0) {\n    local_20c = local_1cc;\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;\n    sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));\n    puVar6 = (undefined1 *)(sVar5 + (int)local_20c);\n    piVar7 = local_20c;\n  }\n  *(undefined4 *)((int)ppppuVar9 + -4) = 0;\n  *(undefined1 **)((int)ppppuVar9 + -8) = puVar6;\n  *(int **)((int)ppppuVar9 + -0xc) = piVar7;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_150;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5a0;\n  local_214 = local_150;\n  FUN_00050e40();\n  local_20c = (int *)local_12c;\n  local_138 = 0;\n  *(undefined4 *)((int)ppppuVar9 + -4) = 0;\n  *(int *)((int)ppppuVar9 + -8) = (int)local_1f0 + -0xf11ea;\n  *(int *)((int)ppppuVar9 + -0xc) = (int)local_1f0 + -0xf11ea;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_134;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5db;\n  local_134[0] = (undefined1 *)local_20c;\n  FUN_00050e40();\n  local_78 = 0;\n  local_110 = local_204._0_1_;\n  local_94 = local_8c;\n  local_48 = &local_50;\n  local_10c = local_200;\n  local_204 = local_a4;\n  local_3c = &local_3c;\n  local_11c = 0;\n  local_118 = local_1f4._0_2_;\n  local_108 = 0;\n  local_a8 = (undefined1 *)0x0;\n  local_a4[0] = 0;\n  local_90 = 0;\n  local_8c[0] = 0;\n  local_7c = 0xffffffff;\n  local_74 = 0;\n  local_70 = 0;\n  local_6c = 0;\n  local_68 = 0;\n  local_64 = 0;\n  local_60 = 0;\n  local_5c = 0;\n  local_58 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  local_40 = 0;\n  *(undefined4 **)((int)ppppuVar9 + -4) = &local_1e8;\n  *(undefined4 *)((int)ppppuVar9 + -8) = 0xffffffff;\n  *(undefined4 **)((int)ppppuVar9 + -0xc) = &local_1e4;\n  *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n  local_34 = 0;\n  local_30 = 0;\n  local_2c = 1;\n  local_28 = 0;\n  local_24 = 0;\n  local_20 = 0;\n  local_1e8 = 0;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c719;\n  local_114 = iVar10;\n  local_b0 = local_150;\n  local_ac = local_204;\n  local_44 = local_48;\n  local_38 = local_3c;\n  cVar3 = FUN_00069870();\n  local_1f4 = &local_94;\n  local_200 = CONCAT31(local_200._1_3_,cVar3);\n  if (cVar3 != '\0') {\n    local_218 = local_194;\n    local_198 = 0;\n    *(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;\n    *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n    local_194[0] = 0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;\n    local_19c = local_218;\n    FUN_00168e00();\n    local_170 = 0;\n    local_16c = 0;\n    local_184 = local_19c;\n    local_17c = local_19c;\n    local_154 = local_19c;\n    local_180 = local_198;\n    local_178 = param_5;\n    local_f0 = param_4 == 3;\n    local_174 = param_4;\n    local_104 = local_1f8;\n    local_100 = *(undefined4 *)(param_2 + 0x5a90);\n    local_fc = *(undefined4 *)(param_2 + 0x5a94);\n    local_168 = 0;\n    local_f8 = *(undefined4 *)(param_2 + 0x5a98);\n    local_164 = 0;\n    local_f4 = *(undefined4 *)(param_2 + 0x5a9c);\n    local_160 = 0;\n    local_15c = 0;\n    local_ee = local_24;\n    local_158 = 1;\n    local_ef = 0;\n    local_ed = 0;\n    *(int ***)((int)ppppuVar9 + -8) = &local_1b4;\n    local_e4 = local_210;\n    local_e0 = local_210 + 0x68;\n    local_dc = &local_184;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;\n    local_d8 = 0;\n    local_d4 = 0;\n    local_d0[0] = 0;\n    local_d0[1] = 0;\n    local_d0[2] = 0;\n    local_d0[3] = 0;\n    local_d0[4] = 0;\n    local_d0[5] = 0;\n    local_b8 = (int *)0x0;\n    local_b4 = 0;\n    local_1b4 = (int *)0x0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;\n    local_e8 = param_2;\n    FUN_0016f460();\n    *(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;\n    local_1b4 = local_178;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;\n    FUN_0016f700();\n    local_1f4 = &local_94;\n    *(char ***)((int)ppppuVar9 + -0x10) = &local_104;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;\n    iVar10 = FUN_00191d40();\n    ppuVar8 = local_1f0;\n    if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }\n    if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }\n    if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }\n    if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }\n  }\n  ppuVar8 = local_1f0;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c74c;\n  FUN_00067cc0();\n  if (local_ac != local_204) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;\n    FUN_001e6db0();\n  }\n  ppuVar2 = local_1f0;\n  if ((int *)local_134[0] != local_20c) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  ppuVar2 = local_1f0;\n  if (local_150[0] != local_208) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  ppuVar2 = local_1f0;\n  if (local_1cc != local_1fc) {\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  if (local_1dc != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1dc;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 100;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;\n    FUN_00069d00();\n  }\n  if (local_1d8 != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1d8;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;\n    FUN_00069d00();\n  }\n  if ((local_1d4 == 0) && (local_1d0 == 0)) {\n    return local_200 & 0xff;\n  }\n  *(undefined ***)((int)ppppuVar9 + -4) = ppuVar8;\n  *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a3;\n  *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x2c;\n  *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ccb3;\n  FUN_00069d00();\n}\n\n" (function_definition "uint __regparm3 FUN_0016c460(char *param_1,int param_2,int param_3,int param_4,int *param_5)\n\n{\n  char *pcVar1;\n  undefined **ppuVar2;\n  char cVar3;\n  char *pcVar4;\n  size_t sVar5;\n  undefined1 *puVar6;\n  int *piVar7;\n  undefined **ppuVar8;\n  undefined1 ****ppppuVar9;\n  int iVar10;\n  undefined1 ***pppuStack_220;\n  undefined1 auStack_21c [4];\n  undefined1 *local_218;\n  undefined1 **local_214;\n  int local_210;\n  int *local_20c;\n  undefined1 *local_208;\n  undefined1 *local_204;\n  uint local_200;\n  int *local_1fc;\n  char *local_1f8;\n  undefined1 **local_1f4;\n  undefined **local_1f0;\n  undefined4 local_1e8;\n  undefined4 local_1e4;\n  undefined1 local_1e0;\n  int local_1dc;\n  int local_1d8;\n  int local_1d4;\n  int local_1d0;\n  int *local_1cc;\n  size_t local_1c8;\n  int local_1c4 [4];\n  int *local_1b4;\n  size_t local_1b0;\n  int local_1ac [4];\n  undefined1 *local_19c;\n  undefined4 local_198;\n  undefined1 local_194 [16];\n  undefined1 *local_184;\n  undefined4 local_180;\n  undefined1 *local_17c;\n  int *local_178;\n  int local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined4 local_168;\n  undefined4 local_164;\n  undefined4 local_160;\n  undefined4 local_15c;\n  undefined4 local_158;\n  undefined1 *local_154;\n  undefined1 *local_150 [2];\n  undefined1 local_148 [16];\n  undefined4 local_138;\n  undefined1 *local_134 [2];\n  undefined1 local_12c [16];\n  undefined1 local_11c;\n  undefined2 local_118;\n  int local_114;\n  undefined1 local_110;\n  undefined4 local_10c;\n  undefined4 local_108;\n  char *local_104;\n  undefined4 local_100;\n  undefined4 local_fc;\n  undefined4 local_f8;\n  undefined4 local_f4;\n  undefined1 local_f0;\n  undefined1 local_ef;\n  undefined1 local_ee;\n  undefined2 local_ed;\n  int local_e8;\n  int local_e4;\n  int local_e0;\n  undefined1 **local_dc;\n  undefined4 local_d8;\n  undefined4 local_d4;\n  int local_d0 [6];\n  int *local_b8;\n  undefined4 local_b4;\n  undefined1 **local_b0;\n  undefined1 *local_ac;\n  undefined1 *local_a8;\n  undefined1 local_a4 [16];\n  undefined1 *local_94;\n  undefined4 local_90;\n  undefined1 local_8c [16];\n  undefined4 local_7c;\n  undefined1 local_78;\n  undefined4 local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  undefined1 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 *local_48;\n  undefined4 *local_44;\n  undefined4 local_40;\n  undefined4 ****local_3c;\n  undefined4 ****local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined1 local_2c;\n  undefined4 local_28;\n  undefined1 local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x16c46f;\n  local_1f0 = &__DT_PLTGOT;\n  local_1fc = local_1c4;\n  pcVar4 = (char *)0xffffffff;\n  local_1e4 = 0;\n  local_1e0 = 1;\n  local_1dc = 0;\n  local_1d8 = 0;\n  local_1d4 = 0;\n  local_1d0 = 0;\n  local_210 = param_3;\n  local_1f8 = param_1;\n  local_1cc = local_1fc;\n  if (param_1 != (char *)0x0) {\n    sVar5 = strlen(param_1);\n    pcVar4 = param_1 + sVar5;\n  }\n  pcVar1 = local_1f8;\n  pppuStack_220 = (undefined1 ***)0x0;\n                    \n  FUN_00050e40(&local_1cc,local_1f8,pcVar4);\n  ppppuVar9 = (undefined1 ****)auStack_21c;\n  if (*pcVar1 == '/') goto LAB_0016c511;\n  local_200 = param_2 + 0x2188;\n  pppuStack_220 = (undefined1 ***)0x0;\n  local_1f4 = &local_a8;\n  local_b0 = local_1f4;\n                    \n  FUN_00050e40(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed);\n  pppuStack_220 = &local_b0;\n                    \n  FUN_001a2000(&local_1b4,&local_1cc,local_200);\n  iVar10 = local_1c4[0];\n  piVar7 = local_1cc;\n  if (local_1b4 == local_1ac) {\n    local_1c8 = local_1b0;\n    if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }\n    *(undefined1 *)((int)local_1cc + local_1c8) = 0;\n  }\n  else {\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }\nLAB_0016cbba:\n  local_1b0 = 0;\n  *(undefined1 *)local_1b4 = 0;\n  if (local_1b4 != local_1ac) {\n    FUN_001e6db0(local_1b4);\n  }\n  ppppuVar9 = &pppuStack_220;\n  if (local_b0 != local_1f4) {\n    FUN_001e6db0(local_b0);\n    ppppuVar9 = &pppuStack_220;\n  }\nLAB_0016c511:\n  iVar10 = *(int *)(param_2 + 0x5a94);\n  local_1f4 = (undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90));\n  local_204 = (undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98));\n  local_200 = *(undefined4 *)(param_2 + 0x5a9c);\n  if (iVar10 == 1) {\n    iVar10 = 0;\n  }\n  local_208 = local_148;\n  puVar6 = (undefined1 *)0xffffffff;\n  piVar7 = local_1cc;\n  local_150[0] = local_208;\n  if (local_1cc != (int *)0x0) {\n    local_20c = local_1cc;\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;\n    sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));\n    puVar6 = (undefined1 *)(sVar5 + (int)local_20c);\n    piVar7 = local_20c;\n  }\n  *(undefined4 *)((int)ppppuVar9 + -4) = 0;\n  *(undefined1 **)((int)ppppuVar9 + -8) = puVar6;\n  *(int **)((int)ppppuVar9 + -0xc) = piVar7;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_150;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5a0;\n  local_214 = local_150;\n  FUN_00050e40();\n  local_20c = (int *)local_12c;\n  local_138 = 0;\n  *(undefined4 *)((int)ppppuVar9 + -4) = 0;\n  *(int *)((int)ppppuVar9 + -8) = (int)local_1f0 + -0xf11ea;\n  *(int *)((int)ppppuVar9 + -0xc) = (int)local_1f0 + -0xf11ea;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_134;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5db;\n  local_134[0] = (undefined1 *)local_20c;\n  FUN_00050e40();\n  local_78 = 0;\n  local_110 = local_204._0_1_;\n  local_94 = local_8c;\n  local_48 = &local_50;\n  local_10c = local_200;\n  local_204 = local_a4;\n  local_3c = &local_3c;\n  local_11c = 0;\n  local_118 = local_1f4._0_2_;\n  local_108 = 0;\n  local_a8 = (undefined1 *)0x0;\n  local_a4[0] = 0;\n  local_90 = 0;\n  local_8c[0] = 0;\n  local_7c = 0xffffffff;\n  local_74 = 0;\n  local_70 = 0;\n  local_6c = 0;\n  local_68 = 0;\n  local_64 = 0;\n  local_60 = 0;\n  local_5c = 0;\n  local_58 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  local_40 = 0;\n  *(undefined4 **)((int)ppppuVar9 + -4) = &local_1e8;\n  *(undefined4 *)((int)ppppuVar9 + -8) = 0xffffffff;\n  *(undefined4 **)((int)ppppuVar9 + -0xc) = &local_1e4;\n  *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n  local_34 = 0;\n  local_30 = 0;\n  local_2c = 1;\n  local_28 = 0;\n  local_24 = 0;\n  local_20 = 0;\n  local_1e8 = 0;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c719;\n  local_114 = iVar10;\n  local_b0 = local_150;\n  local_ac = local_204;\n  local_44 = local_48;\n  local_38 = local_3c;\n  cVar3 = FUN_00069870();\n  local_1f4 = &local_94;\n  local_200 = CONCAT31(local_200._1_3_,cVar3);\n  if (cVar3 != '\0') {\n    local_218 = local_194;\n    local_198 = 0;\n    *(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;\n    *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n    local_194[0] = 0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;\n    local_19c = local_218;\n    FUN_00168e00();\n    local_170 = 0;\n    local_16c = 0;\n    local_184 = local_19c;\n    local_17c = local_19c;\n    local_154 = local_19c;\n    local_180 = local_198;\n    local_178 = param_5;\n    local_f0 = param_4 == 3;\n    local_174 = param_4;\n    local_104 = local_1f8;\n    local_100 = *(undefined4 *)(param_2 + 0x5a90);\n    local_fc = *(undefined4 *)(param_2 + 0x5a94);\n    local_168 = 0;\n    local_f8 = *(undefined4 *)(param_2 + 0x5a98);\n    local_164 = 0;\n    local_f4 = *(undefined4 *)(param_2 + 0x5a9c);\n    local_160 = 0;\n    local_15c = 0;\n    local_ee = local_24;\n    local_158 = 1;\n    local_ef = 0;\n    local_ed = 0;\n    *(int ***)((int)ppppuVar9 + -8) = &local_1b4;\n    local_e4 = local_210;\n    local_e0 = local_210 + 0x68;\n    local_dc = &local_184;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;\n    local_d8 = 0;\n    local_d4 = 0;\n    local_d0[0] = 0;\n    local_d0[1] = 0;\n    local_d0[2] = 0;\n    local_d0[3] = 0;\n    local_d0[4] = 0;\n    local_d0[5] = 0;\n    local_b8 = (int *)0x0;\n    local_b4 = 0;\n    local_1b4 = (int *)0x0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;\n    local_e8 = param_2;\n    FUN_0016f460();\n    *(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;\n    local_1b4 = local_178;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;\n    FUN_0016f700();\n    local_1f4 = &local_94;\n    *(char ***)((int)ppppuVar9 + -0x10) = &local_104;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;\n    iVar10 = FUN_00191d40();\n    ppuVar8 = local_1f0;\n    if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }\n    if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }\n    if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }\n    if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }\n  }\n  ppuVar8 = local_1f0;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c74c;\n  FUN_00067cc0();\n  if (local_ac != local_204) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;\n    FUN_001e6db0();\n  }\n  ppuVar2 = local_1f0;\n  if ((int *)local_134[0] != local_20c) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  ppuVar2 = local_1f0;\n  if (local_150[0] != local_208) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  ppuVar2 = local_1f0;\n  if (local_1cc != local_1fc) {\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  if (local_1dc != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1dc;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 100;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;\n    FUN_00069d00();\n  }\n  if (local_1d8 != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1d8;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;\n    FUN_00069d00();\n  }\n  if ((local_1d4 == 0) && (local_1d0 == 0)) {\n    return local_200 & 0xff;\n  }\n  *(undefined ***)((int)ppppuVar9 + -4) = ppuVar8;\n  *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a3;\n  *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x2c;\n  *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ccb3;\n  FUN_00069d00();\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_0016c460(char *param_1,int param_2,int param_3,int param_4,int *param_5)" identifier (parameter_list "(char *param_1,int param_2,int param_3,int param_4,int *param_5)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int *param_5" primitive_type (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  char *pcVar1;\n  undefined **ppuVar2;\n  char cVar3;\n  char *pcVar4;\n  size_t sVar5;\n  undefined1 *puVar6;\n  int *piVar7;\n  undefined **ppuVar8;\n  undefined1 ****ppppuVar9;\n  int iVar10;\n  undefined1 ***pppuStack_220;\n  undefined1 auStack_21c [4];\n  undefined1 *local_218;\n  undefined1 **local_214;\n  int local_210;\n  int *local_20c;\n  undefined1 *local_208;\n  undefined1 *local_204;\n  uint local_200;\n  int *local_1fc;\n  char *local_1f8;\n  undefined1 **local_1f4;\n  undefined **local_1f0;\n  undefined4 local_1e8;\n  undefined4 local_1e4;\n  undefined1 local_1e0;\n  int local_1dc;\n  int local_1d8;\n  int local_1d4;\n  int local_1d0;\n  int *local_1cc;\n  size_t local_1c8;\n  int local_1c4 [4];\n  int *local_1b4;\n  size_t local_1b0;\n  int local_1ac [4];\n  undefined1 *local_19c;\n  undefined4 local_198;\n  undefined1 local_194 [16];\n  undefined1 *local_184;\n  undefined4 local_180;\n  undefined1 *local_17c;\n  int *local_178;\n  int local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined4 local_168;\n  undefined4 local_164;\n  undefined4 local_160;\n  undefined4 local_15c;\n  undefined4 local_158;\n  undefined1 *local_154;\n  undefined1 *local_150 [2];\n  undefined1 local_148 [16];\n  undefined4 local_138;\n  undefined1 *local_134 [2];\n  undefined1 local_12c [16];\n  undefined1 local_11c;\n  undefined2 local_118;\n  int local_114;\n  undefined1 local_110;\n  undefined4 local_10c;\n  undefined4 local_108;\n  char *local_104;\n  undefined4 local_100;\n  undefined4 local_fc;\n  undefined4 local_f8;\n  undefined4 local_f4;\n  undefined1 local_f0;\n  undefined1 local_ef;\n  undefined1 local_ee;\n  undefined2 local_ed;\n  int local_e8;\n  int local_e4;\n  int local_e0;\n  undefined1 **local_dc;\n  undefined4 local_d8;\n  undefined4 local_d4;\n  int local_d0 [6];\n  int *local_b8;\n  undefined4 local_b4;\n  undefined1 **local_b0;\n  undefined1 *local_ac;\n  undefined1 *local_a8;\n  undefined1 local_a4 [16];\n  undefined1 *local_94;\n  undefined4 local_90;\n  undefined1 local_8c [16];\n  undefined4 local_7c;\n  undefined1 local_78;\n  undefined4 local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  undefined1 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 *local_48;\n  undefined4 *local_44;\n  undefined4 local_40;\n  undefined4 ****local_3c;\n  undefined4 ****local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined1 local_2c;\n  undefined4 local_28;\n  undefined1 local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x16c46f;\n  local_1f0 = &__DT_PLTGOT;\n  local_1fc = local_1c4;\n  pcVar4 = (char *)0xffffffff;\n  local_1e4 = 0;\n  local_1e0 = 1;\n  local_1dc = 0;\n  local_1d8 = 0;\n  local_1d4 = 0;\n  local_1d0 = 0;\n  local_210 = param_3;\n  local_1f8 = param_1;\n  local_1cc = local_1fc;\n  if (param_1 != (char *)0x0) {\n    sVar5 = strlen(param_1);\n    pcVar4 = param_1 + sVar5;\n  }\n  pcVar1 = local_1f8;\n  pppuStack_220 = (undefined1 ***)0x0;\n                    \n  FUN_00050e40(&local_1cc,local_1f8,pcVar4);\n  ppppuVar9 = (undefined1 ****)auStack_21c;\n  if (*pcVar1 == '/') goto LAB_0016c511;\n  local_200 = param_2 + 0x2188;\n  pppuStack_220 = (undefined1 ***)0x0;\n  local_1f4 = &local_a8;\n  local_b0 = local_1f4;\n                    \n  FUN_00050e40(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed);\n  pppuStack_220 = &local_b0;\n                    \n  FUN_001a2000(&local_1b4,&local_1cc,local_200);\n  iVar10 = local_1c4[0];\n  piVar7 = local_1cc;\n  if (local_1b4 == local_1ac) {\n    local_1c8 = local_1b0;\n    if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }\n    *(undefined1 *)((int)local_1cc + local_1c8) = 0;\n  }\n  else {\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }\nLAB_0016cbba:\n  local_1b0 = 0;\n  *(undefined1 *)local_1b4 = 0;\n  if (local_1b4 != local_1ac) {\n    FUN_001e6db0(local_1b4);\n  }\n  ppppuVar9 = &pppuStack_220;\n  if (local_b0 != local_1f4) {\n    FUN_001e6db0(local_b0);\n    ppppuVar9 = &pppuStack_220;\n  }\nLAB_0016c511:\n  iVar10 = *(int *)(param_2 + 0x5a94);\n  local_1f4 = (undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90));\n  local_204 = (undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98));\n  local_200 = *(undefined4 *)(param_2 + 0x5a9c);\n  if (iVar10 == 1) {\n    iVar10 = 0;\n  }\n  local_208 = local_148;\n  puVar6 = (undefined1 *)0xffffffff;\n  piVar7 = local_1cc;\n  local_150[0] = local_208;\n  if (local_1cc != (int *)0x0) {\n    local_20c = local_1cc;\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;\n    sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));\n    puVar6 = (undefined1 *)(sVar5 + (int)local_20c);\n    piVar7 = local_20c;\n  }\n  *(undefined4 *)((int)ppppuVar9 + -4) = 0;\n  *(undefined1 **)((int)ppppuVar9 + -8) = puVar6;\n  *(int **)((int)ppppuVar9 + -0xc) = piVar7;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_150;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5a0;\n  local_214 = local_150;\n  FUN_00050e40();\n  local_20c = (int *)local_12c;\n  local_138 = 0;\n  *(undefined4 *)((int)ppppuVar9 + -4) = 0;\n  *(int *)((int)ppppuVar9 + -8) = (int)local_1f0 + -0xf11ea;\n  *(int *)((int)ppppuVar9 + -0xc) = (int)local_1f0 + -0xf11ea;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_134;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5db;\n  local_134[0] = (undefined1 *)local_20c;\n  FUN_00050e40();\n  local_78 = 0;\n  local_110 = local_204._0_1_;\n  local_94 = local_8c;\n  local_48 = &local_50;\n  local_10c = local_200;\n  local_204 = local_a4;\n  local_3c = &local_3c;\n  local_11c = 0;\n  local_118 = local_1f4._0_2_;\n  local_108 = 0;\n  local_a8 = (undefined1 *)0x0;\n  local_a4[0] = 0;\n  local_90 = 0;\n  local_8c[0] = 0;\n  local_7c = 0xffffffff;\n  local_74 = 0;\n  local_70 = 0;\n  local_6c = 0;\n  local_68 = 0;\n  local_64 = 0;\n  local_60 = 0;\n  local_5c = 0;\n  local_58 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  local_40 = 0;\n  *(undefined4 **)((int)ppppuVar9 + -4) = &local_1e8;\n  *(undefined4 *)((int)ppppuVar9 + -8) = 0xffffffff;\n  *(undefined4 **)((int)ppppuVar9 + -0xc) = &local_1e4;\n  *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n  local_34 = 0;\n  local_30 = 0;\n  local_2c = 1;\n  local_28 = 0;\n  local_24 = 0;\n  local_20 = 0;\n  local_1e8 = 0;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c719;\n  local_114 = iVar10;\n  local_b0 = local_150;\n  local_ac = local_204;\n  local_44 = local_48;\n  local_38 = local_3c;\n  cVar3 = FUN_00069870();\n  local_1f4 = &local_94;\n  local_200 = CONCAT31(local_200._1_3_,cVar3);\n  if (cVar3 != '\0') {\n    local_218 = local_194;\n    local_198 = 0;\n    *(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;\n    *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n    local_194[0] = 0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;\n    local_19c = local_218;\n    FUN_00168e00();\n    local_170 = 0;\n    local_16c = 0;\n    local_184 = local_19c;\n    local_17c = local_19c;\n    local_154 = local_19c;\n    local_180 = local_198;\n    local_178 = param_5;\n    local_f0 = param_4 == 3;\n    local_174 = param_4;\n    local_104 = local_1f8;\n    local_100 = *(undefined4 *)(param_2 + 0x5a90);\n    local_fc = *(undefined4 *)(param_2 + 0x5a94);\n    local_168 = 0;\n    local_f8 = *(undefined4 *)(param_2 + 0x5a98);\n    local_164 = 0;\n    local_f4 = *(undefined4 *)(param_2 + 0x5a9c);\n    local_160 = 0;\n    local_15c = 0;\n    local_ee = local_24;\n    local_158 = 1;\n    local_ef = 0;\n    local_ed = 0;\n    *(int ***)((int)ppppuVar9 + -8) = &local_1b4;\n    local_e4 = local_210;\n    local_e0 = local_210 + 0x68;\n    local_dc = &local_184;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;\n    local_d8 = 0;\n    local_d4 = 0;\n    local_d0[0] = 0;\n    local_d0[1] = 0;\n    local_d0[2] = 0;\n    local_d0[3] = 0;\n    local_d0[4] = 0;\n    local_d0[5] = 0;\n    local_b8 = (int *)0x0;\n    local_b4 = 0;\n    local_1b4 = (int *)0x0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;\n    local_e8 = param_2;\n    FUN_0016f460();\n    *(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;\n    local_1b4 = local_178;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;\n    FUN_0016f700();\n    local_1f4 = &local_94;\n    *(char ***)((int)ppppuVar9 + -0x10) = &local_104;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;\n    iVar10 = FUN_00191d40();\n    ppuVar8 = local_1f0;\n    if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }\n    if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }\n    if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }\n    if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }\n  }\n  ppuVar8 = local_1f0;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c74c;\n  FUN_00067cc0();\n  if (local_ac != local_204) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;\n    FUN_001e6db0();\n  }\n  ppuVar2 = local_1f0;\n  if ((int *)local_134[0] != local_20c) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  ppuVar2 = local_1f0;\n  if (local_150[0] != local_208) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  ppuVar2 = local_1f0;\n  if (local_1cc != local_1fc) {\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  if (local_1dc != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1dc;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 100;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;\n    FUN_00069d00();\n  }\n  if (local_1d8 != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1d8;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;\n    FUN_00069d00();\n  }\n  if ((local_1d4 == 0) && (local_1d0 == 0)) {\n    return local_200 & 0xff;\n  }\n  *(undefined ***)((int)ppppuVar9 + -4) = ppuVar8;\n  *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a3;\n  *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x2c;\n  *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ccb3;\n  FUN_00069d00();\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "undefined **ppuVar2;" type_identifier (pointer_declarator "**ppuVar2" * (pointer_declarator "*ppuVar2" * identifier)) ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "undefined1 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "undefined **ppuVar8;" type_identifier (pointer_declarator "**ppuVar8" * (pointer_declarator "*ppuVar8" * identifier)) ;) (declaration "undefined1 ****ppppuVar9;" type_identifier (pointer_declarator "****ppppuVar9" * (pointer_declarator "***ppppuVar9" * (pointer_declarator "**ppppuVar9" * (pointer_declarator "*ppppuVar9" * identifier)))) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined1 ***pppuStack_220;" type_identifier (pointer_declarator "***pppuStack_220" * (pointer_declarator "**pppuStack_220" * (pointer_declarator "*pppuStack_220" * identifier))) ;) (declaration "undefined1 auStack_21c [4];" type_identifier (array_declarator "auStack_21c [4]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_218;" type_identifier (pointer_declarator "*local_218" * identifier) ;) (declaration "undefined1 **local_214;" type_identifier (pointer_declarator "**local_214" * (pointer_declarator "*local_214" * identifier)) ;) (declaration "int local_210;" primitive_type identifier ;) (declaration "int *local_20c;" primitive_type (pointer_declarator "*local_20c" * identifier) ;) (declaration "undefined1 *local_208;" type_identifier (pointer_declarator "*local_208" * identifier) ;) (declaration "undefined1 *local_204;" type_identifier (pointer_declarator "*local_204" * identifier) ;) (declaration "uint local_200;" type_identifier identifier ;) (declaration "int *local_1fc;" primitive_type (pointer_declarator "*local_1fc" * identifier) ;) (declaration "char *local_1f8;" primitive_type (pointer_declarator "*local_1f8" * identifier) ;) (declaration "undefined1 **local_1f4;" type_identifier (pointer_declarator "**local_1f4" * (pointer_declarator "*local_1f4" * identifier)) ;) (declaration "undefined **local_1f0;" type_identifier (pointer_declarator "**local_1f0" * (pointer_declarator "*local_1f0" * identifier)) ;) (declaration "undefined4 local_1e8;" type_identifier identifier ;) (declaration "undefined4 local_1e4;" type_identifier identifier ;) (declaration "undefined1 local_1e0;" type_identifier identifier ;) (declaration "int local_1dc;" primitive_type identifier ;) (declaration "int local_1d8;" primitive_type identifier ;) (declaration "int local_1d4;" primitive_type identifier ;) (declaration "int local_1d0;" primitive_type identifier ;) (declaration "int *local_1cc;" primitive_type (pointer_declarator "*local_1cc" * identifier) ;) (declaration "size_t local_1c8;" primitive_type identifier ;) (declaration "int local_1c4 [4];" primitive_type (array_declarator "local_1c4 [4]" identifier [ number_literal ]) ;) (declaration "int *local_1b4;" primitive_type (pointer_declarator "*local_1b4" * identifier) ;) (declaration "size_t local_1b0;" primitive_type identifier ;) (declaration "int local_1ac [4];" primitive_type (array_declarator "local_1ac [4]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_19c;" type_identifier (pointer_declarator "*local_19c" * identifier) ;) (declaration "undefined4 local_198;" type_identifier identifier ;) (declaration "undefined1 local_194 [16];" type_identifier (array_declarator "local_194 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_184;" type_identifier (pointer_declarator "*local_184" * identifier) ;) (declaration "undefined4 local_180;" type_identifier identifier ;) (declaration "undefined1 *local_17c;" type_identifier (pointer_declarator "*local_17c" * identifier) ;) (declaration "int *local_178;" primitive_type (pointer_declarator "*local_178" * identifier) ;) (declaration "int local_174;" primitive_type identifier ;) (declaration "undefined4 local_170;" type_identifier identifier ;) (declaration "undefined4 local_16c;" type_identifier identifier ;) (declaration "undefined4 local_168;" type_identifier identifier ;) (declaration "undefined4 local_164;" type_identifier identifier ;) (declaration "undefined4 local_160;" type_identifier identifier ;) (declaration "undefined4 local_15c;" type_identifier identifier ;) (declaration "undefined4 local_158;" type_identifier identifier ;) (declaration "undefined1 *local_154;" type_identifier (pointer_declarator "*local_154" * identifier) ;) (declaration "undefined1 *local_150 [2];" type_identifier (pointer_declarator "*local_150 [2]" * (array_declarator "local_150 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_148 [16];" type_identifier (array_declarator "local_148 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_138;" type_identifier identifier ;) (declaration "undefined1 *local_134 [2];" type_identifier (pointer_declarator "*local_134 [2]" * (array_declarator "local_134 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 local_12c [16];" type_identifier (array_declarator "local_12c [16]" identifier [ number_literal ]) ;) (declaration "undefined1 local_11c;" type_identifier identifier ;) (declaration "undefined2 local_118;" type_identifier identifier ;) (declaration "int local_114;" primitive_type identifier ;) (declaration "undefined1 local_110;" type_identifier identifier ;) (declaration "undefined4 local_10c;" type_identifier identifier ;) (declaration "undefined4 local_108;" type_identifier identifier ;) (declaration "char *local_104;" primitive_type (pointer_declarator "*local_104" * identifier) ;) (declaration "undefined4 local_100;" type_identifier identifier ;) (declaration "undefined4 local_fc;" type_identifier identifier ;) (declaration "undefined4 local_f8;" type_identifier identifier ;) (declaration "undefined4 local_f4;" type_identifier identifier ;) (declaration "undefined1 local_f0;" type_identifier identifier ;) (declaration "undefined1 local_ef;" type_identifier identifier ;) (declaration "undefined1 local_ee;" type_identifier identifier ;) (declaration "undefined2 local_ed;" type_identifier identifier ;) (declaration "int local_e8;" primitive_type identifier ;) (declaration "int local_e4;" primitive_type identifier ;) (declaration "int local_e0;" primitive_type identifier ;) (declaration "undefined1 **local_dc;" type_identifier (pointer_declarator "**local_dc" * (pointer_declarator "*local_dc" * identifier)) ;) (declaration "undefined4 local_d8;" type_identifier identifier ;) (declaration "undefined4 local_d4;" type_identifier identifier ;) (declaration "int local_d0 [6];" primitive_type (array_declarator "local_d0 [6]" identifier [ number_literal ]) ;) (declaration "int *local_b8;" primitive_type (pointer_declarator "*local_b8" * identifier) ;) (declaration "undefined4 local_b4;" type_identifier identifier ;) (declaration "undefined1 **local_b0;" type_identifier (pointer_declarator "**local_b0" * (pointer_declarator "*local_b0" * identifier)) ;) (declaration "undefined1 *local_ac;" type_identifier (pointer_declarator "*local_ac" * identifier) ;) (declaration "undefined1 *local_a8;" type_identifier (pointer_declarator "*local_a8" * identifier) ;) (declaration "undefined1 local_a4 [16];" type_identifier (array_declarator "local_a4 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_94;" type_identifier (pointer_declarator "*local_94" * identifier) ;) (declaration "undefined4 local_90;" type_identifier identifier ;) (declaration "undefined1 local_8c [16];" type_identifier (array_declarator "local_8c [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_7c;" type_identifier identifier ;) (declaration "undefined1 local_78;" type_identifier identifier ;) (declaration "undefined4 local_74;" type_identifier identifier ;) (declaration "undefined4 local_70;" type_identifier identifier ;) (declaration "undefined4 local_6c;" type_identifier identifier ;) (declaration "undefined1 local_68;" type_identifier identifier ;) (declaration "undefined4 local_64;" type_identifier identifier ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined4 *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "undefined4 *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 ****local_3c;" type_identifier (pointer_declarator "****local_3c" * (pointer_declarator "***local_3c" * (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier)))) ;) (declaration "undefined4 ****local_38;" type_identifier (pointer_declarator "****local_38" * (pointer_declarator "***local_38" * (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier)))) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined1 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined1 local_24;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x16c46f;" (assignment_expression "uStack_14 = 0x16c46f" identifier = number_literal) ;) (expression_statement "local_1f0 = &__DT_PLTGOT;" (assignment_expression "local_1f0 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "local_1fc = local_1c4;" (assignment_expression "local_1fc = local_1c4" identifier = identifier) ;) (expression_statement "pcVar4 = (char *)0xffffffff;" (assignment_expression "pcVar4 = (char *)0xffffffff" identifier = (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_1e4 = 0;" (assignment_expression "local_1e4 = 0" identifier = number_literal) ;) (expression_statement "local_1e0 = 1;" (assignment_expression "local_1e0 = 1" identifier = number_literal) ;) (expression_statement "local_1dc = 0;" (assignment_expression "local_1dc = 0" identifier = number_literal) ;) (expression_statement "local_1d8 = 0;" (assignment_expression "local_1d8 = 0" identifier = number_literal) ;) (expression_statement "local_1d4 = 0;" (assignment_expression "local_1d4 = 0" identifier = number_literal) ;) (expression_statement "local_1d0 = 0;" (assignment_expression "local_1d0 = 0" identifier = number_literal) ;) (expression_statement "local_210 = param_3;" (assignment_expression "local_210 = param_3" identifier = identifier) ;) (expression_statement "local_1f8 = param_1;" (assignment_expression "local_1f8 = param_1" identifier = identifier) ;) (expression_statement "local_1cc = local_1fc;" (assignment_expression "local_1cc = local_1fc" identifier = identifier) ;) (if_statement "if (param_1 != (char *)0x0) {\n    sVar5 = strlen(param_1);\n    pcVar4 = param_1 + sVar5;\n  }" if (parenthesized_expression "(param_1 != (char *)0x0)" ( (binary_expression "param_1 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    sVar5 = strlen(param_1);\n    pcVar4 = param_1 + sVar5;\n  }" { (expression_statement "sVar5 = strlen(param_1);" (assignment_expression "sVar5 = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "pcVar4 = param_1 + sVar5;" (assignment_expression "pcVar4 = param_1 + sVar5" identifier = (binary_expression "param_1 + sVar5" identifier + identifier)) ;) })) (expression_statement "pcVar1 = local_1f8;" (assignment_expression "pcVar1 = local_1f8" identifier = identifier) ;) (expression_statement "pppuStack_220 = (undefined1 ***)0x0;" (assignment_expression "pppuStack_220 = (undefined1 ***)0x0" identifier = (cast_expression "(undefined1 ***)0x0" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "FUN_00050e40(&local_1cc,local_1f8,pcVar4);" (call_expression "FUN_00050e40(&local_1cc,local_1f8,pcVar4)" identifier (argument_list "(&local_1cc,local_1f8,pcVar4)" ( (pointer_expression "&local_1cc" & identifier) , identifier , identifier ))) ;) (expression_statement "ppppuVar9 = (undefined1 ****)auStack_21c;" (assignment_expression "ppppuVar9 = (undefined1 ****)auStack_21c" identifier = (cast_expression "(undefined1 ****)auStack_21c" ( (type_descriptor "undefined1 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (*pcVar1 == '/') goto LAB_0016c511;" if (parenthesized_expression "(*pcVar1 == '/')" ( (binary_expression "*pcVar1 == '/'" (pointer_expression "*pcVar1" * identifier) == (char_literal "'/'" ' character ')) )) (goto_statement "goto LAB_0016c511;" goto statement_identifier ;)) (expression_statement "local_200 = param_2 + 0x2188;" (assignment_expression "local_200 = param_2 + 0x2188" identifier = (binary_expression "param_2 + 0x2188" identifier + number_literal)) ;) (expression_statement "pppuStack_220 = (undefined1 ***)0x0;" (assignment_expression "pppuStack_220 = (undefined1 ***)0x0" identifier = (cast_expression "(undefined1 ***)0x0" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_1f4 = &local_a8;" (assignment_expression "local_1f4 = &local_a8" identifier = (pointer_expression "&local_a8" & identifier)) ;) (expression_statement "local_b0 = local_1f4;" (assignment_expression "local_b0 = local_1f4" identifier = identifier) ;) (expression_statement "FUN_00050e40(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed);" (call_expression "FUN_00050e40(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed)" identifier (argument_list "(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed)" ( (pointer_expression "&local_b0" & identifier) , (binary_expression "(int)local_1f0 + -0x1013b5" (cast_expression "(int)local_1f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "local_1f0 + -0x404ed" identifier + number_literal) ))) ;) (expression_statement "pppuStack_220 = &local_b0;" (assignment_expression "pppuStack_220 = &local_b0" identifier = (pointer_expression "&local_b0" & identifier)) ;) (expression_statement "FUN_001a2000(&local_1b4,&local_1cc,local_200);" (call_expression "FUN_001a2000(&local_1b4,&local_1cc,local_200)" identifier (argument_list "(&local_1b4,&local_1cc,local_200)" ( (pointer_expression "&local_1b4" & identifier) , (pointer_expression "&local_1cc" & identifier) , identifier ))) ;) (expression_statement "iVar10 = local_1c4[0];" (assignment_expression "iVar10 = local_1c4[0]" identifier = (subscript_expression "local_1c4[0]" identifier [ number_literal ])) ;) (expression_statement "piVar7 = local_1cc;" (assignment_expression "piVar7 = local_1cc" identifier = identifier) ;) (if_statement "if (local_1b4 == local_1ac) {\n    local_1c8 = local_1b0;\n    if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }\n    *(undefined1 *)((int)local_1cc + local_1c8) = 0;\n  }\n  else {\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }" if (parenthesized_expression "(local_1b4 == local_1ac)" ( (binary_expression "local_1b4 == local_1ac" identifier == identifier) )) (compound_statement "{\n    local_1c8 = local_1b0;\n    if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }\n    *(undefined1 *)((int)local_1cc + local_1c8) = 0;\n  }" { (expression_statement "local_1c8 = local_1b0;" (assignment_expression "local_1c8 = local_1b0" identifier = identifier) ;) (if_statement "if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }" if (parenthesized_expression "(local_1b0 != 0)" ( (binary_expression "local_1b0 != 0" identifier != number_literal) )) (compound_statement "{\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }" { (if_statement "if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }" if (parenthesized_expression "(local_1b0 == 1)" ( (binary_expression "local_1b0 == 1" identifier == number_literal) )) (compound_statement "{\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }" { (expression_statement "*(undefined1 *)local_1cc = (undefined1)local_1ac[0];" (assignment_expression "*(undefined1 *)local_1cc = (undefined1)local_1ac[0]" (pointer_expression "*(undefined1 *)local_1cc" * (cast_expression "(undefined1 *)local_1cc" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(undefined1)local_1ac[0]" ( (type_descriptor "undefined1" type_identifier) ) (subscript_expression "local_1ac[0]" identifier [ number_literal ]))) ;) (expression_statement "local_1c8 = local_1b0;" (assignment_expression "local_1c8 = local_1b0" identifier = identifier) ;) }) (else_clause "else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }" else (compound_statement "{\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }" { (expression_statement "memcpy(local_1cc,local_1ac,local_1b0);" (call_expression "memcpy(local_1cc,local_1ac,local_1b0)" identifier (argument_list "(local_1cc,local_1ac,local_1b0)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_1c8 = local_1b0;" (assignment_expression "local_1c8 = local_1b0" identifier = identifier) ;) }))) })) (expression_statement "*(undefined1 *)((int)local_1cc + local_1c8) = 0;" (assignment_expression "*(undefined1 *)((int)local_1cc + local_1c8) = 0" (pointer_expression "*(undefined1 *)((int)local_1cc + local_1c8)" * (cast_expression "(undefined1 *)((int)local_1cc + local_1c8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_1cc + local_1c8)" ( (binary_expression "(int)local_1cc + local_1c8" (cast_expression "(int)local_1cc" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) }) (else_clause "else {\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }" else (compound_statement "{\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }" { (expression_statement "local_200 = local_1ac[0];" (assignment_expression "local_200 = local_1ac[0]" identifier = (subscript_expression "local_1ac[0]" identifier [ number_literal ])) ;) (if_statement "if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }" if (parenthesized_expression "(local_1cc != local_1fc)" ( (binary_expression "local_1cc != local_1fc" identifier != identifier) )) (compound_statement "{\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }" { (expression_statement "local_1c8 = local_1b0;" (assignment_expression "local_1c8 = local_1b0" identifier = identifier) ;) (expression_statement "local_1cc = local_1b4;" (assignment_expression "local_1cc = local_1b4" identifier = identifier) ;) (expression_statement "local_1c4[0] = local_1ac[0];" (assignment_expression "local_1c4[0] = local_1ac[0]" (subscript_expression "local_1c4[0]" identifier [ number_literal ]) = (subscript_expression "local_1ac[0]" identifier [ number_literal ])) ;) (if_statement "if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }" if (parenthesized_expression "(piVar7 != (int *)0x0)" ( (binary_expression "piVar7 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }" { (expression_statement "local_1b4 = piVar7;" (assignment_expression "local_1b4 = piVar7" identifier = identifier) ;) (expression_statement "local_1ac[0] = iVar10;" (assignment_expression "local_1ac[0] = iVar10" (subscript_expression "local_1ac[0]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_0016cbba;" goto statement_identifier ;) })) })) (expression_statement "local_1c4[0] = local_1ac[0];" (assignment_expression "local_1c4[0] = local_1ac[0]" (subscript_expression "local_1c4[0]" identifier [ number_literal ]) = (subscript_expression "local_1ac[0]" identifier [ number_literal ])) ;) (expression_statement "local_1c8 = local_1b0;" (assignment_expression "local_1c8 = local_1b0" identifier = identifier) ;) (expression_statement "local_1cc = local_1b4;" (assignment_expression "local_1cc = local_1b4" identifier = identifier) ;) (expression_statement "local_1b4 = local_1ac;" (assignment_expression "local_1b4 = local_1ac" identifier = identifier) ;) }))) (labeled_statement "LAB_0016cbba:\n  local_1b0 = 0;" statement_identifier : (expression_statement "local_1b0 = 0;" (assignment_expression "local_1b0 = 0" identifier = number_literal) ;)) (expression_statement "*(undefined1 *)local_1b4 = 0;" (assignment_expression "*(undefined1 *)local_1b4 = 0" (pointer_expression "*(undefined1 *)local_1b4" * (cast_expression "(undefined1 *)local_1b4" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (if_statement "if (local_1b4 != local_1ac) {\n    FUN_001e6db0(local_1b4);\n  }" if (parenthesized_expression "(local_1b4 != local_1ac)" ( (binary_expression "local_1b4 != local_1ac" identifier != identifier) )) (compound_statement "{\n    FUN_001e6db0(local_1b4);\n  }" { (expression_statement "FUN_001e6db0(local_1b4);" (call_expression "FUN_001e6db0(local_1b4)" identifier (argument_list "(local_1b4)" ( identifier ))) ;) })) (expression_statement "ppppuVar9 = &pppuStack_220;" (assignment_expression "ppppuVar9 = &pppuStack_220" identifier = (pointer_expression "&pppuStack_220" & identifier)) ;) (if_statement "if (local_b0 != local_1f4) {\n    FUN_001e6db0(local_b0);\n    ppppuVar9 = &pppuStack_220;\n  }" if (parenthesized_expression "(local_b0 != local_1f4)" ( (binary_expression "local_b0 != local_1f4" identifier != identifier) )) (compound_statement "{\n    FUN_001e6db0(local_b0);\n    ppppuVar9 = &pppuStack_220;\n  }" { (expression_statement "FUN_001e6db0(local_b0);" (call_expression "FUN_001e6db0(local_b0)" identifier (argument_list "(local_b0)" ( identifier ))) ;) (expression_statement "ppppuVar9 = &pppuStack_220;" (assignment_expression "ppppuVar9 = &pppuStack_220" identifier = (pointer_expression "&pppuStack_220" & identifier)) ;) })) (labeled_statement "LAB_0016c511:\n  iVar10 = *(int *)(param_2 + 0x5a94);" statement_identifier : (expression_statement "iVar10 = *(int *)(param_2 + 0x5a94);" (assignment_expression "iVar10 = *(int *)(param_2 + 0x5a94)" identifier = (pointer_expression "*(int *)(param_2 + 0x5a94)" * (cast_expression "(int *)(param_2 + 0x5a94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x5a94)" ( (binary_expression "param_2 + 0x5a94" identifier + number_literal) ))))) ;)) (expression_statement "local_1f4 = (undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90));" (assignment_expression "local_1f4 = (undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90))" identifier = (cast_expression "(undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90))" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90))" identifier (argument_list "(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90))" ( (field_expression "local_1f4._2_2_" identifier . field_identifier) , (pointer_expression "*(undefined2 *)(param_2 + 0x5a90)" * (cast_expression "(undefined2 *)(param_2 + 0x5a90)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x5a90)" ( (binary_expression "param_2 + 0x5a90" identifier + number_literal) )))) ))))) ;) (expression_statement "local_204 = (undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98));" (assignment_expression "local_204 = (undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98))" identifier = (cast_expression "(undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98))" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98))" identifier (argument_list "(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98))" ( (field_expression "local_204._1_3_" identifier . field_identifier) , (pointer_expression "*(undefined1 *)(param_2 + 0x5a98)" * (cast_expression "(undefined1 *)(param_2 + 0x5a98)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x5a98)" ( (binary_expression "param_2 + 0x5a98" identifier + number_literal) )))) ))))) ;) (expression_statement "local_200 = *(undefined4 *)(param_2 + 0x5a9c);" (assignment_expression "local_200 = *(undefined4 *)(param_2 + 0x5a9c)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x5a9c)" * (cast_expression "(undefined4 *)(param_2 + 0x5a9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x5a9c)" ( (binary_expression "param_2 + 0x5a9c" identifier + number_literal) ))))) ;) (if_statement "if (iVar10 == 1) {\n    iVar10 = 0;\n  }" if (parenthesized_expression "(iVar10 == 1)" ( (binary_expression "iVar10 == 1" identifier == number_literal) )) (compound_statement "{\n    iVar10 = 0;\n  }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) })) (expression_statement "local_208 = local_148;" (assignment_expression "local_208 = local_148" identifier = identifier) ;) (expression_statement "puVar6 = (undefined1 *)0xffffffff;" (assignment_expression "puVar6 = (undefined1 *)0xffffffff" identifier = (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar7 = local_1cc;" (assignment_expression "piVar7 = local_1cc" identifier = identifier) ;) (expression_statement "local_150[0] = local_208;" (assignment_expression "local_150[0] = local_208" (subscript_expression "local_150[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (local_1cc != (int *)0x0) {\n    local_20c = local_1cc;\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;\n    sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));\n    puVar6 = (undefined1 *)(sVar5 + (int)local_20c);\n    piVar7 = local_20c;\n  }" if (parenthesized_expression "(local_1cc != (int *)0x0)" ( (binary_expression "local_1cc != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_20c = local_1cc;\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;\n    sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));\n    puVar6 = (undefined1 *)(sVar5 + (int)local_20c);\n    piVar7 = local_20c;\n  }" { (expression_statement "local_20c = local_1cc;" (assignment_expression "local_20c = local_1cc" identifier = identifier) ;) (expression_statement "*(int **)((int)ppppuVar9 + -0x10) = local_1cc;" (assignment_expression "*(int **)((int)ppppuVar9 + -0x10) = local_1cc" (pointer_expression "*(int **)((int)ppppuVar9 + -0x10)" * (cast_expression "(int **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));" (assignment_expression "sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10))" identifier = (call_expression "strlen(*(char **)((int)ppppuVar9 + -0x10))" identifier (argument_list "(*(char **)((int)ppppuVar9 + -0x10))" ( (pointer_expression "*(char **)((int)ppppuVar9 + -0x10)" * (cast_expression "(char **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar6 = (undefined1 *)(sVar5 + (int)local_20c);" (assignment_expression "puVar6 = (undefined1 *)(sVar5 + (int)local_20c)" identifier = (cast_expression "(undefined1 *)(sVar5 + (int)local_20c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar5 + (int)local_20c)" ( (binary_expression "sVar5 + (int)local_20c" identifier + (cast_expression "(int)local_20c" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar7 = local_20c;" (assignment_expression "piVar7 = local_20c" identifier = identifier) ;) })) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -4) = 0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -4)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -4)" ( (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)ppppuVar9 + -8) = puVar6;" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -8) = puVar6" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -8)" * (cast_expression "(undefined1 **)((int)ppppuVar9 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -8)" ( (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)ppppuVar9 + -0xc) = piVar7;" (assignment_expression "*(int **)((int)ppppuVar9 + -0xc) = piVar7" (pointer_expression "*(int **)((int)ppppuVar9 + -0xc)" * (cast_expression "(int **)((int)ppppuVar9 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_150;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_150" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5a0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5a0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_214 = local_150;" (assignment_expression "local_214 = local_150" identifier = identifier) ;) (expression_statement "FUN_00050e40();" (call_expression "FUN_00050e40()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_20c = (int *)local_12c;" (assignment_expression "local_20c = (int *)local_12c" identifier = (cast_expression "(int *)local_12c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_138 = 0;" (assignment_expression "local_138 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -4) = 0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -4)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -4)" ( (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppppuVar9 + -8) = (int)local_1f0 + -0xf11ea;" (assignment_expression "*(int *)((int)ppppuVar9 + -8) = (int)local_1f0 + -0xf11ea" (pointer_expression "*(int *)((int)ppppuVar9 + -8)" * (cast_expression "(int *)((int)ppppuVar9 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -8)" ( (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_1f0 + -0xf11ea" (cast_expression "(int)local_1f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(int *)((int)ppppuVar9 + -0xc) = (int)local_1f0 + -0xf11ea;" (assignment_expression "*(int *)((int)ppppuVar9 + -0xc) = (int)local_1f0 + -0xf11ea" (pointer_expression "*(int *)((int)ppppuVar9 + -0xc)" * (cast_expression "(int *)((int)ppppuVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_1f0 + -0xf11ea" (cast_expression "(int)local_1f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_134;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_134" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5db;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5db" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_134[0] = (undefined1 *)local_20c;" (assignment_expression "local_134[0] = (undefined1 *)local_20c" (subscript_expression "local_134[0]" identifier [ number_literal ]) = (cast_expression "(undefined1 *)local_20c" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "FUN_00050e40();" (call_expression "FUN_00050e40()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_110 = local_204._0_1_;" (assignment_expression "local_110 = local_204._0_1_" identifier = (field_expression "local_204._0_1_" identifier . field_identifier)) ;) (expression_statement "local_94 = local_8c;" (assignment_expression "local_94 = local_8c" identifier = identifier) ;) (expression_statement "local_48 = &local_50;" (assignment_expression "local_48 = &local_50" identifier = (pointer_expression "&local_50" & identifier)) ;) (expression_statement "local_10c = local_200;" (assignment_expression "local_10c = local_200" identifier = identifier) ;) (expression_statement "local_204 = local_a4;" (assignment_expression "local_204 = local_a4" identifier = identifier) ;) (expression_statement "local_3c = &local_3c;" (assignment_expression "local_3c = &local_3c" identifier = (pointer_expression "&local_3c" & identifier)) ;) (expression_statement "local_11c = 0;" (assignment_expression "local_11c = 0" identifier = number_literal) ;) (expression_statement "local_118 = local_1f4._0_2_;" (assignment_expression "local_118 = local_1f4._0_2_" identifier = (field_expression "local_1f4._0_2_" identifier . field_identifier)) ;) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" identifier = number_literal) ;) (expression_statement "local_a8 = (undefined1 *)0x0;" (assignment_expression "local_a8 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_a4[0] = 0;" (assignment_expression "local_a4[0] = 0" (subscript_expression "local_a4[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" identifier = number_literal) ;) (expression_statement "local_8c[0] = 0;" (assignment_expression "local_8c[0] = 0" (subscript_expression "local_8c[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_7c = 0xffffffff;" (assignment_expression "local_7c = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 **)((int)ppppuVar9 + -4) = &local_1e8;" (assignment_expression "*(undefined4 **)((int)ppppuVar9 + -4) = &local_1e8" (pointer_expression "*(undefined4 **)((int)ppppuVar9 + -4)" * (cast_expression "(undefined4 **)((int)ppppuVar9 + -4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -4)" ( (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_1e8" & identifier)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -8) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -8) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -8)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -8)" ( (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)((int)ppppuVar9 + -0xc) = &local_1e4;" (assignment_expression "*(undefined4 **)((int)ppppuVar9 + -0xc) = &local_1e4" (pointer_expression "*(undefined4 **)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined4 **)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_1e4" & identifier)) ;) (expression_statement "*(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;" (assignment_expression "*(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0" (pointer_expression "*(undefined1 ****)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 ****)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_b0" & identifier)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" identifier = number_literal) ;) (expression_statement "local_1e8 = 0;" (assignment_expression "local_1e8 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c719;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c719" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_114 = iVar10;" (assignment_expression "local_114 = iVar10" identifier = identifier) ;) (expression_statement "local_b0 = local_150;" (assignment_expression "local_b0 = local_150" identifier = identifier) ;) (expression_statement "local_ac = local_204;" (assignment_expression "local_ac = local_204" identifier = identifier) ;) (expression_statement "local_44 = local_48;" (assignment_expression "local_44 = local_48" identifier = identifier) ;) (expression_statement "local_38 = local_3c;" (assignment_expression "local_38 = local_3c" identifier = identifier) ;) (expression_statement "cVar3 = FUN_00069870();" (assignment_expression "cVar3 = FUN_00069870()" identifier = (call_expression "FUN_00069870()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_1f4 = &local_94;" (assignment_expression "local_1f4 = &local_94" identifier = (pointer_expression "&local_94" & identifier)) ;) (expression_statement "local_200 = CONCAT31(local_200._1_3_,cVar3);" (assignment_expression "local_200 = CONCAT31(local_200._1_3_,cVar3)" identifier = (call_expression "CONCAT31(local_200._1_3_,cVar3)" identifier (argument_list "(local_200._1_3_,cVar3)" ( (field_expression "local_200._1_3_" identifier . field_identifier) , identifier )))) ;) (if_statement "if (cVar3 != '\0') {\n    local_218 = local_194;\n    local_198 = 0;\n    *(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;\n    *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n    local_194[0] = 0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;\n    local_19c = local_218;\n    FUN_00168e00();\n    local_170 = 0;\n    local_16c = 0;\n    local_184 = local_19c;\n    local_17c = local_19c;\n    local_154 = local_19c;\n    local_180 = local_198;\n    local_178 = param_5;\n    local_f0 = param_4 == 3;\n    local_174 = param_4;\n    local_104 = local_1f8;\n    local_100 = *(undefined4 *)(param_2 + 0x5a90);\n    local_fc = *(undefined4 *)(param_2 + 0x5a94);\n    local_168 = 0;\n    local_f8 = *(undefined4 *)(param_2 + 0x5a98);\n    local_164 = 0;\n    local_f4 = *(undefined4 *)(param_2 + 0x5a9c);\n    local_160 = 0;\n    local_15c = 0;\n    local_ee = local_24;\n    local_158 = 1;\n    local_ef = 0;\n    local_ed = 0;\n    *(int ***)((int)ppppuVar9 + -8) = &local_1b4;\n    local_e4 = local_210;\n    local_e0 = local_210 + 0x68;\n    local_dc = &local_184;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;\n    local_d8 = 0;\n    local_d4 = 0;\n    local_d0[0] = 0;\n    local_d0[1] = 0;\n    local_d0[2] = 0;\n    local_d0[3] = 0;\n    local_d0[4] = 0;\n    local_d0[5] = 0;\n    local_b8 = (int *)0x0;\n    local_b4 = 0;\n    local_1b4 = (int *)0x0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;\n    local_e8 = param_2;\n    FUN_0016f460();\n    *(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;\n    local_1b4 = local_178;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;\n    FUN_0016f700();\n    local_1f4 = &local_94;\n    *(char ***)((int)ppppuVar9 + -0x10) = &local_104;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;\n    iVar10 = FUN_00191d40();\n    ppuVar8 = local_1f0;\n    if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }\n    if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }\n    if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }\n    if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }\n  }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_218 = local_194;\n    local_198 = 0;\n    *(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;\n    *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n    local_194[0] = 0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;\n    local_19c = local_218;\n    FUN_00168e00();\n    local_170 = 0;\n    local_16c = 0;\n    local_184 = local_19c;\n    local_17c = local_19c;\n    local_154 = local_19c;\n    local_180 = local_198;\n    local_178 = param_5;\n    local_f0 = param_4 == 3;\n    local_174 = param_4;\n    local_104 = local_1f8;\n    local_100 = *(undefined4 *)(param_2 + 0x5a90);\n    local_fc = *(undefined4 *)(param_2 + 0x5a94);\n    local_168 = 0;\n    local_f8 = *(undefined4 *)(param_2 + 0x5a98);\n    local_164 = 0;\n    local_f4 = *(undefined4 *)(param_2 + 0x5a9c);\n    local_160 = 0;\n    local_15c = 0;\n    local_ee = local_24;\n    local_158 = 1;\n    local_ef = 0;\n    local_ed = 0;\n    *(int ***)((int)ppppuVar9 + -8) = &local_1b4;\n    local_e4 = local_210;\n    local_e0 = local_210 + 0x68;\n    local_dc = &local_184;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;\n    local_d8 = 0;\n    local_d4 = 0;\n    local_d0[0] = 0;\n    local_d0[1] = 0;\n    local_d0[2] = 0;\n    local_d0[3] = 0;\n    local_d0[4] = 0;\n    local_d0[5] = 0;\n    local_b8 = (int *)0x0;\n    local_b4 = 0;\n    local_1b4 = (int *)0x0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;\n    local_e8 = param_2;\n    FUN_0016f460();\n    *(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;\n    local_1b4 = local_178;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;\n    FUN_0016f700();\n    local_1f4 = &local_94;\n    *(char ***)((int)ppppuVar9 + -0x10) = &local_104;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;\n    iVar10 = FUN_00191d40();\n    ppuVar8 = local_1f0;\n    if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }\n    if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }\n    if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }\n    if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }\n  }" { (expression_statement "local_218 = local_194;" (assignment_expression "local_218 = local_194" identifier = identifier) ;) (expression_statement "local_198 = 0;" (assignment_expression "local_198 = 0" identifier = number_literal) ;) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_19c" & identifier)) ;) (expression_statement "*(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;" (assignment_expression "*(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0" (pointer_expression "*(undefined1 ****)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 ****)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_b0" & identifier)) ;) (expression_statement "local_194[0] = 0;" (assignment_expression "local_194[0] = 0" (subscript_expression "local_194[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_19c = local_218;" (assignment_expression "local_19c = local_218" identifier = identifier) ;) (expression_statement "FUN_00168e00();" (call_expression "FUN_00168e00()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_170 = 0;" (assignment_expression "local_170 = 0" identifier = number_literal) ;) (expression_statement "local_16c = 0;" (assignment_expression "local_16c = 0" identifier = number_literal) ;) (expression_statement "local_184 = local_19c;" (assignment_expression "local_184 = local_19c" identifier = identifier) ;) (expression_statement "local_17c = local_19c;" (assignment_expression "local_17c = local_19c" identifier = identifier) ;) (expression_statement "local_154 = local_19c;" (assignment_expression "local_154 = local_19c" identifier = identifier) ;) (expression_statement "local_180 = local_198;" (assignment_expression "local_180 = local_198" identifier = identifier) ;) (expression_statement "local_178 = param_5;" (assignment_expression "local_178 = param_5" identifier = identifier) ;) (expression_statement "local_f0 = param_4 == 3;" (assignment_expression "local_f0 = param_4 == 3" identifier = (binary_expression "param_4 == 3" identifier == number_literal)) ;) (expression_statement "local_174 = param_4;" (assignment_expression "local_174 = param_4" identifier = identifier) ;) (expression_statement "local_104 = local_1f8;" (assignment_expression "local_104 = local_1f8" identifier = identifier) ;) (expression_statement "local_100 = *(undefined4 *)(param_2 + 0x5a90);" (assignment_expression "local_100 = *(undefined4 *)(param_2 + 0x5a90)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x5a90)" * (cast_expression "(undefined4 *)(param_2 + 0x5a90)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x5a90)" ( (binary_expression "param_2 + 0x5a90" identifier + number_literal) ))))) ;) (expression_statement "local_fc = *(undefined4 *)(param_2 + 0x5a94);" (assignment_expression "local_fc = *(undefined4 *)(param_2 + 0x5a94)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x5a94)" * (cast_expression "(undefined4 *)(param_2 + 0x5a94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x5a94)" ( (binary_expression "param_2 + 0x5a94" identifier + number_literal) ))))) ;) (expression_statement "local_168 = 0;" (assignment_expression "local_168 = 0" identifier = number_literal) ;) (expression_statement "local_f8 = *(undefined4 *)(param_2 + 0x5a98);" (assignment_expression "local_f8 = *(undefined4 *)(param_2 + 0x5a98)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x5a98)" * (cast_expression "(undefined4 *)(param_2 + 0x5a98)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x5a98)" ( (binary_expression "param_2 + 0x5a98" identifier + number_literal) ))))) ;) (expression_statement "local_164 = 0;" (assignment_expression "local_164 = 0" identifier = number_literal) ;) (expression_statement "local_f4 = *(undefined4 *)(param_2 + 0x5a9c);" (assignment_expression "local_f4 = *(undefined4 *)(param_2 + 0x5a9c)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0x5a9c)" * (cast_expression "(undefined4 *)(param_2 + 0x5a9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x5a9c)" ( (binary_expression "param_2 + 0x5a9c" identifier + number_literal) ))))) ;) (expression_statement "local_160 = 0;" (assignment_expression "local_160 = 0" identifier = number_literal) ;) (expression_statement "local_15c = 0;" (assignment_expression "local_15c = 0" identifier = number_literal) ;) (expression_statement "local_ee = local_24;" (assignment_expression "local_ee = local_24" identifier = identifier) ;) (expression_statement "local_158 = 1;" (assignment_expression "local_158 = 1" identifier = number_literal) ;) (expression_statement "local_ef = 0;" (assignment_expression "local_ef = 0" identifier = number_literal) ;) (expression_statement "local_ed = 0;" (assignment_expression "local_ed = 0" identifier = number_literal) ;) (expression_statement "*(int ***)((int)ppppuVar9 + -8) = &local_1b4;" (assignment_expression "*(int ***)((int)ppppuVar9 + -8) = &local_1b4" (pointer_expression "*(int ***)((int)ppppuVar9 + -8)" * (cast_expression "(int ***)((int)ppppuVar9 + -8)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -8)" ( (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_1b4" & identifier)) ;) (expression_statement "local_e4 = local_210;" (assignment_expression "local_e4 = local_210" identifier = identifier) ;) (expression_statement "local_e0 = local_210 + 0x68;" (assignment_expression "local_e0 = local_210 + 0x68" identifier = (binary_expression "local_210 + 0x68" identifier + number_literal)) ;) (expression_statement "local_dc = &local_184;" (assignment_expression "local_dc = &local_184" identifier = (pointer_expression "&local_184" & identifier)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;" (assignment_expression "*(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3" (pointer_expression "*(int **)((int)ppppuVar9 + -0x10)" * (cast_expression "(int **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_d0 + 3" identifier + number_literal)) ;) (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" identifier = number_literal) ;) (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) (expression_statement "local_d0[0] = 0;" (assignment_expression "local_d0[0] = 0" (subscript_expression "local_d0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_d0[1] = 0;" (assignment_expression "local_d0[1] = 0" (subscript_expression "local_d0[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_d0[2] = 0;" (assignment_expression "local_d0[2] = 0" (subscript_expression "local_d0[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_d0[3] = 0;" (assignment_expression "local_d0[3] = 0" (subscript_expression "local_d0[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_d0[4] = 0;" (assignment_expression "local_d0[4] = 0" (subscript_expression "local_d0[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_d0[5] = 0;" (assignment_expression "local_d0[5] = 0" (subscript_expression "local_d0[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_b8 = (int *)0x0;" (assignment_expression "local_b8 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" identifier = number_literal) ;) (expression_statement "local_1b4 = (int *)0x0;" (assignment_expression "local_1b4 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_e8 = param_2;" (assignment_expression "local_e8 = param_2" identifier = identifier) ;) (expression_statement "FUN_0016f460();" (call_expression "FUN_0016f460()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;" (assignment_expression "*(int ***)((int)ppppuVar9 + -0xc) = &local_1b4" (pointer_expression "*(int ***)((int)ppppuVar9 + -0xc)" * (cast_expression "(int ***)((int)ppppuVar9 + -0xc)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_1b4" & identifier)) ;) (expression_statement "local_1b4 = local_178;" (assignment_expression "local_1b4 = local_178" identifier = identifier) ;) (expression_statement "*(int **)((int)ppppuVar9 + -0x10) = local_d0;" (assignment_expression "*(int **)((int)ppppuVar9 + -0x10) = local_d0" (pointer_expression "*(int **)((int)ppppuVar9 + -0x10)" * (cast_expression "(int **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0016f700();" (call_expression "FUN_0016f700()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_1f4 = &local_94;" (assignment_expression "local_1f4 = &local_94" identifier = (pointer_expression "&local_94" & identifier)) ;) (expression_statement "*(char ***)((int)ppppuVar9 + -0x10) = &local_104;" (assignment_expression "*(char ***)((int)ppppuVar9 + -0x10) = &local_104" (pointer_expression "*(char ***)((int)ppppuVar9 + -0x10)" * (cast_expression "(char ***)((int)ppppuVar9 + -0x10)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&local_104" & identifier)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar10 = FUN_00191d40();" (assignment_expression "iVar10 = FUN_00191d40()" identifier = (call_expression "FUN_00191d40()" identifier (argument_list "()" ( )))) ;) (expression_statement "ppuVar8 = local_1f0;" (assignment_expression "ppuVar8 = local_1f0" identifier = identifier) ;) (if_statement "if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }" { (expression_statement "local_1f4 = &local_94;" (assignment_expression "local_1f4 = &local_94" identifier = (pointer_expression "&local_94" & identifier)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000679d0();" (call_expression "FUN_000679d0()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }" if (parenthesized_expression "((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8))" ( (binary_expression "(local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)" (parenthesized_expression "(local_b8 != (int *)0x0)" ( (binary_expression "local_b8 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_b8[1] != *local_b8)" ( (binary_expression "local_b8[1] != *local_b8" (subscript_expression "local_b8[1]" identifier [ number_literal ]) != (pointer_expression "*local_b8" * identifier)) ))) )) (compound_statement "{\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }" { (expression_statement "*(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -8)" * (cast_expression "(undefined ***)((int)ppppuVar9 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -8)" ( (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "ppuVar8 + -0x3d79d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined ***)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "ppuVar8 + -0x3dbb5" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }" else (compound_statement "{\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }" { (expression_statement "local_1f4 = &local_94;" (assignment_expression "local_1f4 = &local_94" identifier = (pointer_expression "&local_94" & identifier)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000679d0();" (call_expression "FUN_000679d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_200 = local_200 & 0xffffff00;" (assignment_expression "local_200 = local_200 & 0xffffff00" identifier = (binary_expression "local_200 & 0xffffff00" identifier & number_literal)) ;) }))) (if_statement "if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }" if (parenthesized_expression "(local_d0[3] != 0)" ( (binary_expression "local_d0[3] != 0" (subscript_expression "local_d0[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }" { (expression_statement "*(int *)((int)ppppuVar9 + -0x10) = local_d0[3];" (assignment_expression "*(int *)((int)ppppuVar9 + -0x10) = local_d0[3]" (pointer_expression "*(int *)((int)ppppuVar9 + -0x10)" * (cast_expression "(int *)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_d0[3]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }" if (parenthesized_expression "(local_d0[0] != 0)" ( (binary_expression "local_d0[0] != 0" (subscript_expression "local_d0[0]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }" { (expression_statement "*(int *)((int)ppppuVar9 + -0x10) = local_d0[0];" (assignment_expression "*(int *)((int)ppppuVar9 + -0x10) = local_d0[0]" (pointer_expression "*(int *)((int)ppppuVar9 + -0x10)" * (cast_expression "(int *)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_d0[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }" if (parenthesized_expression "(local_19c != local_218)" ( (binary_expression "local_19c != local_218" identifier != identifier) )) (compound_statement "{\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }" { (expression_statement "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "ppuVar8 = local_1f0;" (assignment_expression "ppuVar8 = local_1f0" identifier = identifier) ;) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c74c;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c74c" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00067cc0();" (call_expression "FUN_00067cc0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_ac != local_204) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;\n    FUN_001e6db0();\n  }" if (parenthesized_expression "(local_ac != local_204)" ( (binary_expression "local_ac != local_204" identifier != identifier) )) (compound_statement "{\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;\n    FUN_001e6db0();\n  }" { (expression_statement "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppuVar2 = local_1f0;" (assignment_expression "ppuVar2 = local_1f0" identifier = identifier) ;) (if_statement "if ((int *)local_134[0] != local_20c) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" if (parenthesized_expression "((int *)local_134[0] != local_20c)" ( (binary_expression "(int *)local_134[0] != local_20c" (cast_expression "(int *)local_134[0]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_134[0]" identifier [ number_literal ])) != identifier) )) (compound_statement "{\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" { (expression_statement "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0]" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_134[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar8 = ppuVar2;" (assignment_expression "ppuVar8 = ppuVar2" identifier = identifier) ;) })) (expression_statement "ppuVar2 = local_1f0;" (assignment_expression "ppuVar2 = local_1f0" identifier = identifier) ;) (if_statement "if (local_150[0] != local_208) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" if (parenthesized_expression "(local_150[0] != local_208)" ( (binary_expression "local_150[0] != local_208" (subscript_expression "local_150[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" { (expression_statement "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0]" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -0x10)" * (cast_expression "(undefined1 **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "local_150[0]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar8 = ppuVar2;" (assignment_expression "ppuVar8 = ppuVar2" identifier = identifier) ;) })) (expression_statement "ppuVar2 = local_1f0;" (assignment_expression "ppuVar2 = local_1f0" identifier = identifier) ;) (if_statement "if (local_1cc != local_1fc) {\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" if (parenthesized_expression "(local_1cc != local_1fc)" ( (binary_expression "local_1cc != local_1fc" identifier != identifier) )) (compound_statement "{\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" { (expression_statement "*(int **)((int)ppppuVar9 + -0x10) = local_1cc;" (assignment_expression "*(int **)((int)ppppuVar9 + -0x10) = local_1cc" (pointer_expression "*(int **)((int)ppppuVar9 + -0x10)" * (cast_expression "(int **)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" identifier (argument_list "()" ( ))) ;) (expression_statement "ppuVar8 = ppuVar2;" (assignment_expression "ppuVar8 = ppuVar2" identifier = identifier) ;) })) (if_statement "if (local_1dc != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1dc;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 100;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;\n    FUN_00069d00();\n  }" if (parenthesized_expression "(local_1dc != 0)" ( (binary_expression "local_1dc != 0" identifier != number_literal) )) (compound_statement "{\n    *(int *)((int)ppppuVar9 + -4) = local_1dc;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 100;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;\n    FUN_00069d00();\n  }" { (expression_statement "*(int *)((int)ppppuVar9 + -4) = local_1dc;" (assignment_expression "*(int *)((int)ppppuVar9 + -4) = local_1dc" (pointer_expression "*(int *)((int)ppppuVar9 + -4)" * (cast_expression "(int *)((int)ppppuVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -4)" ( (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -8)" * (cast_expression "(undefined ***)((int)ppppuVar9 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -8)" ( (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_1f0 + -0x3d7a0" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 100;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 100" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;" (assignment_expression "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43" (pointer_expression "*(int *)((int)ppppuVar9 + -0x10)" * (cast_expression "(int *)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_1f0 + -0x10ea43" (cast_expression "(int)local_1f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined1 **)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&LAB_0016cceb" & identifier)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_1d8 != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1d8;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;\n    FUN_00069d00();\n  }" if (parenthesized_expression "(local_1d8 != 0)" ( (binary_expression "local_1d8 != 0" identifier != number_literal) )) (compound_statement "{\n    *(int *)((int)ppppuVar9 + -4) = local_1d8;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;\n    FUN_00069d00();\n  }" { (expression_statement "*(int *)((int)ppppuVar9 + -4) = local_1d8;" (assignment_expression "*(int *)((int)ppppuVar9 + -4) = local_1d8" (pointer_expression "*(int *)((int)ppppuVar9 + -4)" * (cast_expression "(int *)((int)ppppuVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -4)" ( (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -8)" * (cast_expression "(undefined ***)((int)ppppuVar9 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -8)" ( (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_1f0 + -0x3d7a0" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;" (assignment_expression "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43" (pointer_expression "*(int *)((int)ppppuVar9 + -0x10)" * (cast_expression "(int *)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_1f0 + -0x10ea43" (cast_expression "(int)local_1f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((local_1d4 == 0) && (local_1d0 == 0)) {\n    return local_200 & 0xff;\n  }" if (parenthesized_expression "((local_1d4 == 0) && (local_1d0 == 0))" ( (binary_expression "(local_1d4 == 0) && (local_1d0 == 0)" (parenthesized_expression "(local_1d4 == 0)" ( (binary_expression "local_1d4 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_1d0 == 0)" ( (binary_expression "local_1d0 == 0" identifier == number_literal) ))) )) (compound_statement "{\n    return local_200 & 0xff;\n  }" { (return_statement "return local_200 & 0xff;" return (binary_expression "local_200 & 0xff" identifier & number_literal) ;) })) (expression_statement "*(undefined ***)((int)ppppuVar9 + -4) = ppuVar8;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -4) = ppuVar8" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -4)" * (cast_expression "(undefined ***)((int)ppppuVar9 + -4)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -4)" ( (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a3;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a3" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -8)" * (cast_expression "(undefined ***)((int)ppppuVar9 + -8)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)ppppuVar9 + -8)" ( (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "local_1f0 + -0x3d7a3" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x2c;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x2c" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0xc)" ( (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;" (assignment_expression "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43" (pointer_expression "*(int *)((int)ppppuVar9 + -0x10)" * (cast_expression "(int *)((int)ppppuVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x10)" ( (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)local_1f0 + -0x10ea43" (cast_expression "(int)local_1f0" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ccb3;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ccb3" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppuVar9 + -0x14)" ( (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" ( (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 (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_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) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (pointer_expression * IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (return_statement return (binary_expression IDENT & LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "uint __regparm3 FUN_0016c460(char *param_1,int param_2,int param_3,int param_4,int *param_5)\n\n{\n  char *pcVar1;\n  undefined **ppuVar2;\n  char cVar3;\n  char *pcVar4;\n  size_t sVar5;\n  undefined1 *puVar6;\n  int *piVar7;\n  undefined **ppuVar8;\n  undefined1 ****ppppuVar9;\n  int iVar10;\n  undefined1 ***pppuStack_220;\n  undefined1 auStack_21c [4];\n  undefined1 *local_218;\n  undefined1 **local_214;\n  int local_210;\n  int *local_20c;\n  undefined1 *local_208;\n  undefined1 *local_204;\n  uint local_200;\n  int *local_1fc;\n  char *local_1f8;\n  undefined1 **local_1f4;\n  undefined **local_1f0;\n  undefined4 local_1e8;\n  undefined4 local_1e4;\n  undefined1 local_1e0;\n  int local_1dc;\n  int local_1d8;\n  int local_1d4;\n  int local_1d0;\n  int *local_1cc;\n  size_t local_1c8;\n  int local_1c4 [4];\n  int *local_1b4;\n  size_t local_1b0;\n  int local_1ac [4];\n  undefined1 *local_19c;\n  undefined4 local_198;\n  undefined1 local_194 [16];\n  undefined1 *local_184;\n  undefined4 local_180;\n  undefined1 *local_17c;\n  int *local_178;\n  int local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined4 local_168;\n  undefined4 local_164;\n  undefined4 local_160;\n  undefined4 local_15c;\n  undefined4 local_158;\n  undefined1 *local_154;\n  undefined1 *local_150 [2];\n  undefined1 local_148 [16];\n  undefined4 local_138;\n  undefined1 *local_134 [2];\n  undefined1 local_12c [16];\n  undefined1 local_11c;\n  undefined2 local_118;\n  int local_114;\n  undefined1 local_110;\n  undefined4 local_10c;\n  undefined4 local_108;\n  char *local_104;\n  undefined4 local_100;\n  undefined4 local_fc;\n  undefined4 local_f8;\n  undefined4 local_f4;\n  undefined1 local_f0;\n  undefined1 local_ef;\n  undefined1 local_ee;\n  undefined2 local_ed;\n  int local_e8;\n  int local_e4;\n  int local_e0;\n  undefined1 **local_dc;\n  undefined4 local_d8;\n  undefined4 local_d4;\n  int local_d0 [6];\n  int *local_b8;\n  undefined4 local_b4;\n  undefined1 **local_b0;\n  undefined1 *local_ac;\n  undefined1 *local_a8;\n  undefined1 local_a4 [16];\n  undefined1 *local_94;\n  undefined4 local_90;\n  undefined1 local_8c [16];\n  undefined4 local_7c;\n  undefined1 local_78;\n  undefined4 local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  undefined1 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 *local_48;\n  undefined4 *local_44;\n  undefined4 local_40;\n  undefined4 ****local_3c;\n  undefined4 ****local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined1 local_2c;\n  undefined4 local_28;\n  undefined1 local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x16c46f;\n  local_1f0 = &__DT_PLTGOT;\n  local_1fc = local_1c4;\n  pcVar4 = (char *)0xffffffff;\n  local_1e4 = 0;\n  local_1e0 = 1;\n  local_1dc = 0;\n  local_1d8 = 0;\n  local_1d4 = 0;\n  local_1d0 = 0;\n  local_210 = param_3;\n  local_1f8 = param_1;\n  local_1cc = local_1fc;\n  if (param_1 != (char *)0x0) {\n    sVar5 = strlen(param_1);\n    pcVar4 = param_1 + sVar5;\n  }\n  pcVar1 = local_1f8;\n  pppuStack_220 = (undefined1 ***)0x0;\n                    \n  FUN_00050e40(&local_1cc,local_1f8,pcVar4);\n  ppppuVar9 = (undefined1 ****)auStack_21c;\n  if (*pcVar1 == '/') goto LAB_0016c511;\n  local_200 = param_2 + 0x2188;\n  pppuStack_220 = (undefined1 ***)0x0;\n  local_1f4 = &local_a8;\n  local_b0 = local_1f4;\n                    \n  FUN_00050e40(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed);\n  pppuStack_220 = &local_b0;\n                    \n  FUN_001a2000(&local_1b4,&local_1cc,local_200);\n  iVar10 = local_1c4[0];\n  piVar7 = local_1cc;\n  if (local_1b4 == local_1ac) {\n    local_1c8 = local_1b0;\n    if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }\n    *(undefined1 *)((int)local_1cc + local_1c8) = 0;\n  }\n  else {\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }\nLAB_0016cbba:\n  local_1b0 = 0;\n  *(undefined1 *)local_1b4 = 0;\n  if (local_1b4 != local_1ac) {\n    FUN_001e6db0(local_1b4);\n  }\n  ppppuVar9 = &pppuStack_220;\n  if (local_b0 != local_1f4) {\n    FUN_001e6db0(local_b0);\n    ppppuVar9 = &pppuStack_220;\n  }\nLAB_0016c511:\n  iVar10 = *(int *)(param_2 + 0x5a94);\n  local_1f4 = (undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90));\n  local_204 = (undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98));\n  local_200 = *(undefined4 *)(param_2 + 0x5a9c);\n  if (iVar10 == 1) {\n    iVar10 = 0;\n  }\n  local_208 = local_148;\n  puVar6 = (undefined1 *)0xffffffff;\n  piVar7 = local_1cc;\n  local_150[0] = local_208;\n  if (local_1cc != (int *)0x0) {\n    local_20c = local_1cc;\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;\n    sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));\n    puVar6 = (undefined1 *)(sVar5 + (int)local_20c);\n    piVar7 = local_20c;\n  }\n  *(undefined4 *)((int)ppppuVar9 + -4) = 0;\n  *(undefined1 **)((int)ppppuVar9 + -8) = puVar6;\n  *(int **)((int)ppppuVar9 + -0xc) = piVar7;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_150;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5a0;\n  local_214 = local_150;\n  FUN_00050e40();\n  local_20c = (int *)local_12c;\n  local_138 = 0;\n  *(undefined4 *)((int)ppppuVar9 + -4) = 0;\n  *(int *)((int)ppppuVar9 + -8) = (int)local_1f0 + -0xf11ea;\n  *(int *)((int)ppppuVar9 + -0xc) = (int)local_1f0 + -0xf11ea;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_134;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5db;\n  local_134[0] = (undefined1 *)local_20c;\n  FUN_00050e40();\n  local_78 = 0;\n  local_110 = local_204._0_1_;\n  local_94 = local_8c;\n  local_48 = &local_50;\n  local_10c = local_200;\n  local_204 = local_a4;\n  local_3c = &local_3c;\n  local_11c = 0;\n  local_118 = local_1f4._0_2_;\n  local_108 = 0;\n  local_a8 = (undefined1 *)0x0;\n  local_a4[0] = 0;\n  local_90 = 0;\n  local_8c[0] = 0;\n  local_7c = 0xffffffff;\n  local_74 = 0;\n  local_70 = 0;\n  local_6c = 0;\n  local_68 = 0;\n  local_64 = 0;\n  local_60 = 0;\n  local_5c = 0;\n  local_58 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  local_40 = 0;\n  *(undefined4 **)((int)ppppuVar9 + -4) = &local_1e8;\n  *(undefined4 *)((int)ppppuVar9 + -8) = 0xffffffff;\n  *(undefined4 **)((int)ppppuVar9 + -0xc) = &local_1e4;\n  *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n  local_34 = 0;\n  local_30 = 0;\n  local_2c = 1;\n  local_28 = 0;\n  local_24 = 0;\n  local_20 = 0;\n  local_1e8 = 0;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c719;\n  local_114 = iVar10;\n  local_b0 = local_150;\n  local_ac = local_204;\n  local_44 = local_48;\n  local_38 = local_3c;\n  cVar3 = FUN_00069870();\n  local_1f4 = &local_94;\n  local_200 = CONCAT31(local_200._1_3_,cVar3);\n  if (cVar3 != '\0') {\n    local_218 = local_194;\n    local_198 = 0;\n    *(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;\n    *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n    local_194[0] = 0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;\n    local_19c = local_218;\n    FUN_00168e00();\n    local_170 = 0;\n    local_16c = 0;\n    local_184 = local_19c;\n    local_17c = local_19c;\n    local_154 = local_19c;\n    local_180 = local_198;\n    local_178 = param_5;\n    local_f0 = param_4 == 3;\n    local_174 = param_4;\n    local_104 = local_1f8;\n    local_100 = *(undefined4 *)(param_2 + 0x5a90);\n    local_fc = *(undefined4 *)(param_2 + 0x5a94);\n    local_168 = 0;\n    local_f8 = *(undefined4 *)(param_2 + 0x5a98);\n    local_164 = 0;\n    local_f4 = *(undefined4 *)(param_2 + 0x5a9c);\n    local_160 = 0;\n    local_15c = 0;\n    local_ee = local_24;\n    local_158 = 1;\n    local_ef = 0;\n    local_ed = 0;\n    *(int ***)((int)ppppuVar9 + -8) = &local_1b4;\n    local_e4 = local_210;\n    local_e0 = local_210 + 0x68;\n    local_dc = &local_184;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;\n    local_d8 = 0;\n    local_d4 = 0;\n    local_d0[0] = 0;\n    local_d0[1] = 0;\n    local_d0[2] = 0;\n    local_d0[3] = 0;\n    local_d0[4] = 0;\n    local_d0[5] = 0;\n    local_b8 = (int *)0x0;\n    local_b4 = 0;\n    local_1b4 = (int *)0x0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;\n    local_e8 = param_2;\n    FUN_0016f460();\n    *(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;\n    local_1b4 = local_178;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;\n    FUN_0016f700();\n    local_1f4 = &local_94;\n    *(char ***)((int)ppppuVar9 + -0x10) = &local_104;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;\n    iVar10 = FUN_00191d40();\n    ppuVar8 = local_1f0;\n    if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }\n    if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }\n    if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }\n    if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }\n  }\n  ppuVar8 = local_1f0;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c74c;\n  FUN_00067cc0();\n  if (local_ac != local_204) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;\n    FUN_001e6db0();\n  }\n  ppuVar2 = local_1f0;\n  if ((int *)local_134[0] != local_20c) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  ppuVar2 = local_1f0;\n  if (local_150[0] != local_208) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  ppuVar2 = local_1f0;\n  if (local_1cc != local_1fc) {\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  if (local_1dc != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1dc;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 100;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;\n    FUN_00069d00();\n  }\n  if (local_1d8 != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1d8;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;\n    FUN_00069d00();\n  }\n  if ((local_1d4 == 0) && (local_1d0 == 0)) {\n    return local_200 & 0xff;\n  }\n  *(undefined ***)((int)ppppuVar9 + -4) = ppuVar8;\n  *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a3;\n  *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x2c;\n  *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ccb3;\n  FUN_00069d00();\n}" (type_identifier "uint") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0016c460(char *param_1,int param_2,int param_3,int param_4,int *param_5)" (identifier "FUN_0016c460") (parameter_list "(char *param_1,int param_2,int param_3,int param_4,int *param_5)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "int *param_5" (primitive_type "int") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) () ")"))) (compound_statement "{\n  char *pcVar1;\n  undefined **ppuVar2;\n  char cVar3;\n  char *pcVar4;\n  size_t sVar5;\n  undefined1 *puVar6;\n  int *piVar7;\n  undefined **ppuVar8;\n  undefined1 ****ppppuVar9;\n  int iVar10;\n  undefined1 ***pppuStack_220;\n  undefined1 auStack_21c [4];\n  undefined1 *local_218;\n  undefined1 **local_214;\n  int local_210;\n  int *local_20c;\n  undefined1 *local_208;\n  undefined1 *local_204;\n  uint local_200;\n  int *local_1fc;\n  char *local_1f8;\n  undefined1 **local_1f4;\n  undefined **local_1f0;\n  undefined4 local_1e8;\n  undefined4 local_1e4;\n  undefined1 local_1e0;\n  int local_1dc;\n  int local_1d8;\n  int local_1d4;\n  int local_1d0;\n  int *local_1cc;\n  size_t local_1c8;\n  int local_1c4 [4];\n  int *local_1b4;\n  size_t local_1b0;\n  int local_1ac [4];\n  undefined1 *local_19c;\n  undefined4 local_198;\n  undefined1 local_194 [16];\n  undefined1 *local_184;\n  undefined4 local_180;\n  undefined1 *local_17c;\n  int *local_178;\n  int local_174;\n  undefined4 local_170;\n  undefined4 local_16c;\n  undefined4 local_168;\n  undefined4 local_164;\n  undefined4 local_160;\n  undefined4 local_15c;\n  undefined4 local_158;\n  undefined1 *local_154;\n  undefined1 *local_150 [2];\n  undefined1 local_148 [16];\n  undefined4 local_138;\n  undefined1 *local_134 [2];\n  undefined1 local_12c [16];\n  undefined1 local_11c;\n  undefined2 local_118;\n  int local_114;\n  undefined1 local_110;\n  undefined4 local_10c;\n  undefined4 local_108;\n  char *local_104;\n  undefined4 local_100;\n  undefined4 local_fc;\n  undefined4 local_f8;\n  undefined4 local_f4;\n  undefined1 local_f0;\n  undefined1 local_ef;\n  undefined1 local_ee;\n  undefined2 local_ed;\n  int local_e8;\n  int local_e4;\n  int local_e0;\n  undefined1 **local_dc;\n  undefined4 local_d8;\n  undefined4 local_d4;\n  int local_d0 [6];\n  int *local_b8;\n  undefined4 local_b4;\n  undefined1 **local_b0;\n  undefined1 *local_ac;\n  undefined1 *local_a8;\n  undefined1 local_a4 [16];\n  undefined1 *local_94;\n  undefined4 local_90;\n  undefined1 local_8c [16];\n  undefined4 local_7c;\n  undefined1 local_78;\n  undefined4 local_74;\n  undefined4 local_70;\n  undefined4 local_6c;\n  undefined1 local_68;\n  undefined4 local_64;\n  undefined4 local_60;\n  undefined4 local_5c;\n  undefined4 local_58;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined4 *local_48;\n  undefined4 *local_44;\n  undefined4 local_40;\n  undefined4 ****local_3c;\n  undefined4 ****local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  undefined1 local_2c;\n  undefined4 local_28;\n  undefined1 local_24;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x16c46f;\n  local_1f0 = &__DT_PLTGOT;\n  local_1fc = local_1c4;\n  pcVar4 = (char *)0xffffffff;\n  local_1e4 = 0;\n  local_1e0 = 1;\n  local_1dc = 0;\n  local_1d8 = 0;\n  local_1d4 = 0;\n  local_1d0 = 0;\n  local_210 = param_3;\n  local_1f8 = param_1;\n  local_1cc = local_1fc;\n  if (param_1 != (char *)0x0) {\n    sVar5 = strlen(param_1);\n    pcVar4 = param_1 + sVar5;\n  }\n  pcVar1 = local_1f8;\n  pppuStack_220 = (undefined1 ***)0x0;\n                    \n  FUN_00050e40(&local_1cc,local_1f8,pcVar4);\n  ppppuVar9 = (undefined1 ****)auStack_21c;\n  if (*pcVar1 == '/') goto LAB_0016c511;\n  local_200 = param_2 + 0x2188;\n  pppuStack_220 = (undefined1 ***)0x0;\n  local_1f4 = &local_a8;\n  local_b0 = local_1f4;\n                    \n  FUN_00050e40(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed);\n  pppuStack_220 = &local_b0;\n                    \n  FUN_001a2000(&local_1b4,&local_1cc,local_200);\n  iVar10 = local_1c4[0];\n  piVar7 = local_1cc;\n  if (local_1b4 == local_1ac) {\n    local_1c8 = local_1b0;\n    if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }\n    *(undefined1 *)((int)local_1cc + local_1c8) = 0;\n  }\n  else {\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }\nLAB_0016cbba:\n  local_1b0 = 0;\n  *(undefined1 *)local_1b4 = 0;\n  if (local_1b4 != local_1ac) {\n    FUN_001e6db0(local_1b4);\n  }\n  ppppuVar9 = &pppuStack_220;\n  if (local_b0 != local_1f4) {\n    FUN_001e6db0(local_b0);\n    ppppuVar9 = &pppuStack_220;\n  }\nLAB_0016c511:\n  iVar10 = *(int *)(param_2 + 0x5a94);\n  local_1f4 = (undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90));\n  local_204 = (undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98));\n  local_200 = *(undefined4 *)(param_2 + 0x5a9c);\n  if (iVar10 == 1) {\n    iVar10 = 0;\n  }\n  local_208 = local_148;\n  puVar6 = (undefined1 *)0xffffffff;\n  piVar7 = local_1cc;\n  local_150[0] = local_208;\n  if (local_1cc != (int *)0x0) {\n    local_20c = local_1cc;\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;\n    sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));\n    puVar6 = (undefined1 *)(sVar5 + (int)local_20c);\n    piVar7 = local_20c;\n  }\n  *(undefined4 *)((int)ppppuVar9 + -4) = 0;\n  *(undefined1 **)((int)ppppuVar9 + -8) = puVar6;\n  *(int **)((int)ppppuVar9 + -0xc) = piVar7;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_150;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5a0;\n  local_214 = local_150;\n  FUN_00050e40();\n  local_20c = (int *)local_12c;\n  local_138 = 0;\n  *(undefined4 *)((int)ppppuVar9 + -4) = 0;\n  *(int *)((int)ppppuVar9 + -8) = (int)local_1f0 + -0xf11ea;\n  *(int *)((int)ppppuVar9 + -0xc) = (int)local_1f0 + -0xf11ea;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_134;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5db;\n  local_134[0] = (undefined1 *)local_20c;\n  FUN_00050e40();\n  local_78 = 0;\n  local_110 = local_204._0_1_;\n  local_94 = local_8c;\n  local_48 = &local_50;\n  local_10c = local_200;\n  local_204 = local_a4;\n  local_3c = &local_3c;\n  local_11c = 0;\n  local_118 = local_1f4._0_2_;\n  local_108 = 0;\n  local_a8 = (undefined1 *)0x0;\n  local_a4[0] = 0;\n  local_90 = 0;\n  local_8c[0] = 0;\n  local_7c = 0xffffffff;\n  local_74 = 0;\n  local_70 = 0;\n  local_6c = 0;\n  local_68 = 0;\n  local_64 = 0;\n  local_60 = 0;\n  local_5c = 0;\n  local_58 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  local_40 = 0;\n  *(undefined4 **)((int)ppppuVar9 + -4) = &local_1e8;\n  *(undefined4 *)((int)ppppuVar9 + -8) = 0xffffffff;\n  *(undefined4 **)((int)ppppuVar9 + -0xc) = &local_1e4;\n  *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n  local_34 = 0;\n  local_30 = 0;\n  local_2c = 1;\n  local_28 = 0;\n  local_24 = 0;\n  local_20 = 0;\n  local_1e8 = 0;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c719;\n  local_114 = iVar10;\n  local_b0 = local_150;\n  local_ac = local_204;\n  local_44 = local_48;\n  local_38 = local_3c;\n  cVar3 = FUN_00069870();\n  local_1f4 = &local_94;\n  local_200 = CONCAT31(local_200._1_3_,cVar3);\n  if (cVar3 != '\0') {\n    local_218 = local_194;\n    local_198 = 0;\n    *(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;\n    *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n    local_194[0] = 0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;\n    local_19c = local_218;\n    FUN_00168e00();\n    local_170 = 0;\n    local_16c = 0;\n    local_184 = local_19c;\n    local_17c = local_19c;\n    local_154 = local_19c;\n    local_180 = local_198;\n    local_178 = param_5;\n    local_f0 = param_4 == 3;\n    local_174 = param_4;\n    local_104 = local_1f8;\n    local_100 = *(undefined4 *)(param_2 + 0x5a90);\n    local_fc = *(undefined4 *)(param_2 + 0x5a94);\n    local_168 = 0;\n    local_f8 = *(undefined4 *)(param_2 + 0x5a98);\n    local_164 = 0;\n    local_f4 = *(undefined4 *)(param_2 + 0x5a9c);\n    local_160 = 0;\n    local_15c = 0;\n    local_ee = local_24;\n    local_158 = 1;\n    local_ef = 0;\n    local_ed = 0;\n    *(int ***)((int)ppppuVar9 + -8) = &local_1b4;\n    local_e4 = local_210;\n    local_e0 = local_210 + 0x68;\n    local_dc = &local_184;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;\n    local_d8 = 0;\n    local_d4 = 0;\n    local_d0[0] = 0;\n    local_d0[1] = 0;\n    local_d0[2] = 0;\n    local_d0[3] = 0;\n    local_d0[4] = 0;\n    local_d0[5] = 0;\n    local_b8 = (int *)0x0;\n    local_b4 = 0;\n    local_1b4 = (int *)0x0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;\n    local_e8 = param_2;\n    FUN_0016f460();\n    *(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;\n    local_1b4 = local_178;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;\n    FUN_0016f700();\n    local_1f4 = &local_94;\n    *(char ***)((int)ppppuVar9 + -0x10) = &local_104;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;\n    iVar10 = FUN_00191d40();\n    ppuVar8 = local_1f0;\n    if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }\n    if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }\n    if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }\n    if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }\n  }\n  ppuVar8 = local_1f0;\n  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c74c;\n  FUN_00067cc0();\n  if (local_ac != local_204) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;\n    FUN_001e6db0();\n  }\n  ppuVar2 = local_1f0;\n  if ((int *)local_134[0] != local_20c) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  ppuVar2 = local_1f0;\n  if (local_150[0] != local_208) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  ppuVar2 = local_1f0;\n  if (local_1cc != local_1fc) {\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }\n  if (local_1dc != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1dc;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 100;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;\n    FUN_00069d00();\n  }\n  if (local_1d8 != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1d8;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;\n    FUN_00069d00();\n  }\n  if ((local_1d4 == 0) && (local_1d0 == 0)) {\n    return local_200 & 0xff;\n  }\n  *(undefined ***)((int)ppppuVar9 + -4) = ppuVar8;\n  *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a3;\n  *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x2c;\n  *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ccb3;\n  FUN_00069d00();\n}" ({ "{") (declaration "char *pcVar1;" (primitive_type "char") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "undefined **ppuVar2;" (type_identifier "undefined") (pointer_declarator "**ppuVar2" (* "*") (pointer_declarator "*ppuVar2" (* "*") (identifier "ppuVar2"))) (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "size_t sVar5;" (primitive_type "size_t") (identifier "sVar5") (; ";")) (declaration "undefined1 *puVar6;" (type_identifier "undefined1") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "undefined **ppuVar8;" (type_identifier "undefined") (pointer_declarator "**ppuVar8" (* "*") (pointer_declarator "*ppuVar8" (* "*") (identifier "ppuVar8"))) (; ";")) (declaration "undefined1 ****ppppuVar9;" (type_identifier "undefined1") (pointer_declarator "****ppppuVar9" (* "*") (pointer_declarator "***ppppuVar9" (* "*") (pointer_declarator "**ppppuVar9" (* "*") (pointer_declarator "*ppppuVar9" (* "*") (identifier "ppppuVar9"))))) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "undefined1 ***pppuStack_220;" (type_identifier "undefined1") (pointer_declarator "***pppuStack_220" (* "*") (pointer_declarator "**pppuStack_220" (* "*") (pointer_declarator "*pppuStack_220" (* "*") (identifier "pppuStack_220")))) (; ";")) (declaration "undefined1 auStack_21c [4];" (type_identifier "undefined1") (array_declarator "auStack_21c [4]" (identifier "auStack_21c") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 *local_218;" (type_identifier "undefined1") (pointer_declarator "*local_218" (* "*") (identifier "local_218")) (; ";")) (declaration "undefined1 **local_214;" (type_identifier "undefined1") (pointer_declarator "**local_214" (* "*") (pointer_declarator "*local_214" (* "*") (identifier "local_214"))) (; ";")) (declaration "int local_210;" (primitive_type "int") (identifier "local_210") (; ";")) (declaration "int *local_20c;" (primitive_type "int") (pointer_declarator "*local_20c" (* "*") (identifier "local_20c")) (; ";")) (declaration "undefined1 *local_208;" (type_identifier "undefined1") (pointer_declarator "*local_208" (* "*") (identifier "local_208")) (; ";")) (declaration "undefined1 *local_204;" (type_identifier "undefined1") (pointer_declarator "*local_204" (* "*") (identifier "local_204")) (; ";")) (declaration "uint local_200;" (type_identifier "uint") (identifier "local_200") (; ";")) (declaration "int *local_1fc;" (primitive_type "int") (pointer_declarator "*local_1fc" (* "*") (identifier "local_1fc")) (; ";")) (declaration "char *local_1f8;" (primitive_type "char") (pointer_declarator "*local_1f8" (* "*") (identifier "local_1f8")) (; ";")) (declaration "undefined1 **local_1f4;" (type_identifier "undefined1") (pointer_declarator "**local_1f4" (* "*") (pointer_declarator "*local_1f4" (* "*") (identifier "local_1f4"))) (; ";")) (declaration "undefined **local_1f0;" (type_identifier "undefined") (pointer_declarator "**local_1f0" (* "*") (pointer_declarator "*local_1f0" (* "*") (identifier "local_1f0"))) (; ";")) (declaration "undefined4 local_1e8;" (type_identifier "undefined4") (identifier "local_1e8") (; ";")) (declaration "undefined4 local_1e4;" (type_identifier "undefined4") (identifier "local_1e4") (; ";")) (declaration "undefined1 local_1e0;" (type_identifier "undefined1") (identifier "local_1e0") (; ";")) (declaration "int local_1dc;" (primitive_type "int") (identifier "local_1dc") (; ";")) (declaration "int local_1d8;" (primitive_type "int") (identifier "local_1d8") (; ";")) (declaration "int local_1d4;" (primitive_type "int") (identifier "local_1d4") (; ";")) (declaration "int local_1d0;" (primitive_type "int") (identifier "local_1d0") (; ";")) (declaration "int *local_1cc;" (primitive_type "int") (pointer_declarator "*local_1cc" (* "*") (identifier "local_1cc")) (; ";")) (declaration "size_t local_1c8;" (primitive_type "size_t") (identifier "local_1c8") (; ";")) (declaration "int local_1c4 [4];" (primitive_type "int") (array_declarator "local_1c4 [4]" (identifier "local_1c4") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int *local_1b4;" (primitive_type "int") (pointer_declarator "*local_1b4" (* "*") (identifier "local_1b4")) (; ";")) (declaration "size_t local_1b0;" (primitive_type "size_t") (identifier "local_1b0") (; ";")) (declaration "int local_1ac [4];" (primitive_type "int") (array_declarator "local_1ac [4]" (identifier "local_1ac") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 *local_19c;" (type_identifier "undefined1") (pointer_declarator "*local_19c" (* "*") (identifier "local_19c")) (; ";")) (declaration "undefined4 local_198;" (type_identifier "undefined4") (identifier "local_198") (; ";")) (declaration "undefined1 local_194 [16];" (type_identifier "undefined1") (array_declarator "local_194 [16]" (identifier "local_194") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 *local_184;" (type_identifier "undefined1") (pointer_declarator "*local_184" (* "*") (identifier "local_184")) (; ";")) (declaration "undefined4 local_180;" (type_identifier "undefined4") (identifier "local_180") (; ";")) (declaration "undefined1 *local_17c;" (type_identifier "undefined1") (pointer_declarator "*local_17c" (* "*") (identifier "local_17c")) (; ";")) (declaration "int *local_178;" (primitive_type "int") (pointer_declarator "*local_178" (* "*") (identifier "local_178")) (; ";")) (declaration "int local_174;" (primitive_type "int") (identifier "local_174") (; ";")) (declaration "undefined4 local_170;" (type_identifier "undefined4") (identifier "local_170") (; ";")) (declaration "undefined4 local_16c;" (type_identifier "undefined4") (identifier "local_16c") (; ";")) (declaration "undefined4 local_168;" (type_identifier "undefined4") (identifier "local_168") (; ";")) (declaration "undefined4 local_164;" (type_identifier "undefined4") (identifier "local_164") (; ";")) (declaration "undefined4 local_160;" (type_identifier "undefined4") (identifier "local_160") (; ";")) (declaration "undefined4 local_15c;" (type_identifier "undefined4") (identifier "local_15c") (; ";")) (declaration "undefined4 local_158;" (type_identifier "undefined4") (identifier "local_158") (; ";")) (declaration "undefined1 *local_154;" (type_identifier "undefined1") (pointer_declarator "*local_154" (* "*") (identifier "local_154")) (; ";")) (declaration "undefined1 *local_150 [2];" (type_identifier "undefined1") (pointer_declarator "*local_150 [2]" (* "*") (array_declarator "local_150 [2]" (identifier "local_150") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 local_148 [16];" (type_identifier "undefined1") (array_declarator "local_148 [16]" (identifier "local_148") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined4 local_138;" (type_identifier "undefined4") (identifier "local_138") (; ";")) (declaration "undefined1 *local_134 [2];" (type_identifier "undefined1") (pointer_declarator "*local_134 [2]" (* "*") (array_declarator "local_134 [2]" (identifier "local_134") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 local_12c [16];" (type_identifier "undefined1") (array_declarator "local_12c [16]" (identifier "local_12c") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 local_11c;" (type_identifier "undefined1") (identifier "local_11c") (; ";")) (declaration "undefined2 local_118;" (type_identifier "undefined2") (identifier "local_118") (; ";")) (declaration "int local_114;" (primitive_type "int") (identifier "local_114") (; ";")) (declaration "undefined1 local_110;" (type_identifier "undefined1") (identifier "local_110") (; ";")) (declaration "undefined4 local_10c;" (type_identifier "undefined4") (identifier "local_10c") (; ";")) (declaration "undefined4 local_108;" (type_identifier "undefined4") (identifier "local_108") (; ";")) (declaration "char *local_104;" (primitive_type "char") (pointer_declarator "*local_104" (* "*") (identifier "local_104")) (; ";")) (declaration "undefined4 local_100;" (type_identifier "undefined4") (identifier "local_100") (; ";")) (declaration "undefined4 local_fc;" (type_identifier "undefined4") (identifier "local_fc") (; ";")) (declaration "undefined4 local_f8;" (type_identifier "undefined4") (identifier "local_f8") (; ";")) (declaration "undefined4 local_f4;" (type_identifier "undefined4") (identifier "local_f4") (; ";")) (declaration "undefined1 local_f0;" (type_identifier "undefined1") (identifier "local_f0") (; ";")) (declaration "undefined1 local_ef;" (type_identifier "undefined1") (identifier "local_ef") (; ";")) (declaration "undefined1 local_ee;" (type_identifier "undefined1") (identifier "local_ee") (; ";")) (declaration "undefined2 local_ed;" (type_identifier "undefined2") (identifier "local_ed") (; ";")) (declaration "int local_e8;" (primitive_type "int") (identifier "local_e8") (; ";")) (declaration "int local_e4;" (primitive_type "int") (identifier "local_e4") (; ";")) (declaration "int local_e0;" (primitive_type "int") (identifier "local_e0") (; ";")) (declaration "undefined1 **local_dc;" (type_identifier "undefined1") (pointer_declarator "**local_dc" (* "*") (pointer_declarator "*local_dc" (* "*") (identifier "local_dc"))) (; ";")) (declaration "undefined4 local_d8;" (type_identifier "undefined4") (identifier "local_d8") (; ";")) (declaration "undefined4 local_d4;" (type_identifier "undefined4") (identifier "local_d4") (; ";")) (declaration "int local_d0 [6];" (primitive_type "int") (array_declarator "local_d0 [6]" (identifier "local_d0") ([ "[") (number_literal "6") (] "]")) (; ";")) (declaration "int *local_b8;" (primitive_type "int") (pointer_declarator "*local_b8" (* "*") (identifier "local_b8")) (; ";")) (declaration "undefined4 local_b4;" (type_identifier "undefined4") (identifier "local_b4") (; ";")) (declaration "undefined1 **local_b0;" (type_identifier "undefined1") (pointer_declarator "**local_b0" (* "*") (pointer_declarator "*local_b0" (* "*") (identifier "local_b0"))) (; ";")) (declaration "undefined1 *local_ac;" (type_identifier "undefined1") (pointer_declarator "*local_ac" (* "*") (identifier "local_ac")) (; ";")) (declaration "undefined1 *local_a8;" (type_identifier "undefined1") (pointer_declarator "*local_a8" (* "*") (identifier "local_a8")) (; ";")) (declaration "undefined1 local_a4 [16];" (type_identifier "undefined1") (array_declarator "local_a4 [16]" (identifier "local_a4") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 *local_94;" (type_identifier "undefined1") (pointer_declarator "*local_94" (* "*") (identifier "local_94")) (; ";")) (declaration "undefined4 local_90;" (type_identifier "undefined4") (identifier "local_90") (; ";")) (declaration "undefined1 local_8c [16];" (type_identifier "undefined1") (array_declarator "local_8c [16]" (identifier "local_8c") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined4 local_7c;" (type_identifier "undefined4") (identifier "local_7c") (; ";")) (declaration "undefined1 local_78;" (type_identifier "undefined1") (identifier "local_78") (; ";")) (declaration "undefined4 local_74;" (type_identifier "undefined4") (identifier "local_74") (; ";")) (declaration "undefined4 local_70;" (type_identifier "undefined4") (identifier "local_70") (; ";")) (declaration "undefined4 local_6c;" (type_identifier "undefined4") (identifier "local_6c") (; ";")) (declaration "undefined1 local_68;" (type_identifier "undefined1") (identifier "local_68") (; ";")) (declaration "undefined4 local_64;" (type_identifier "undefined4") (identifier "local_64") (; ";")) (declaration "undefined4 local_60;" (type_identifier "undefined4") (identifier "local_60") (; ";")) (declaration "undefined4 local_5c;" (type_identifier "undefined4") (identifier "local_5c") (; ";")) (declaration "undefined4 local_58;" (type_identifier "undefined4") (identifier "local_58") (; ";")) (declaration "undefined4 local_50;" (type_identifier "undefined4") (identifier "local_50") (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "undefined4 *local_48;" (type_identifier "undefined4") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "undefined4 *local_44;" (type_identifier "undefined4") (pointer_declarator "*local_44" (* "*") (identifier "local_44")) (; ";")) (declaration "undefined4 local_40;" (type_identifier "undefined4") (identifier "local_40") (; ";")) (declaration "undefined4 ****local_3c;" (type_identifier "undefined4") (pointer_declarator "****local_3c" (* "*") (pointer_declarator "***local_3c" (* "*") (pointer_declarator "**local_3c" (* "*") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c"))))) (; ";")) (declaration "undefined4 ****local_38;" (type_identifier "undefined4") (pointer_declarator "****local_38" (* "*") (pointer_declarator "***local_38" (* "*") (pointer_declarator "**local_38" (* "*") (pointer_declarator "*local_38" (* "*") (identifier "local_38"))))) (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "undefined1 local_2c;" (type_identifier "undefined1") (identifier "local_2c") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "undefined1 local_24;" (type_identifier "undefined1") (identifier "local_24") (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x16c46f;" (assignment_expression "uStack_14 = 0x16c46f" (identifier "uStack_14") (= "=") (number_literal "0x16c46f")) (; ";")) (expression_statement "local_1f0 = &__DT_PLTGOT;" (assignment_expression "local_1f0 = &__DT_PLTGOT" (identifier "local_1f0") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "local_1fc = local_1c4;" (assignment_expression "local_1fc = local_1c4" (identifier "local_1fc") (= "=") (identifier "local_1c4")) (; ";")) (expression_statement "pcVar4 = (char *)0xffffffff;" (assignment_expression "pcVar4 = (char *)0xffffffff" (identifier "pcVar4") (= "=") (cast_expression "(char *)0xffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "local_1e4 = 0;" (assignment_expression "local_1e4 = 0" (identifier "local_1e4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_1e0 = 1;" (assignment_expression "local_1e0 = 1" (identifier "local_1e0") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_1dc = 0;" (assignment_expression "local_1dc = 0" (identifier "local_1dc") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_1d8 = 0;" (assignment_expression "local_1d8 = 0" (identifier "local_1d8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_1d4 = 0;" (assignment_expression "local_1d4 = 0" (identifier "local_1d4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_1d0 = 0;" (assignment_expression "local_1d0 = 0" (identifier "local_1d0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_210 = param_3;" (assignment_expression "local_210 = param_3" (identifier "local_210") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_1f8 = param_1;" (assignment_expression "local_1f8 = param_1" (identifier "local_1f8") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_1cc = local_1fc;" (assignment_expression "local_1cc = local_1fc" (identifier "local_1cc") (= "=") (identifier "local_1fc")) (; ";")) (if_statement "if (param_1 != (char *)0x0) {\n    sVar5 = strlen(param_1);\n    pcVar4 = param_1 + sVar5;\n  }" (if "if") (parenthesized_expression "(param_1 != (char *)0x0)" (( "(") (binary_expression "param_1 != (char *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    sVar5 = strlen(param_1);\n    pcVar4 = param_1 + sVar5;\n  }" ({ "{") (expression_statement "sVar5 = strlen(param_1);" (assignment_expression "sVar5 = strlen(param_1)" (identifier "sVar5") (= "=") (call_expression "strlen(param_1)" (identifier "strlen") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "pcVar4 = param_1 + sVar5;" (assignment_expression "pcVar4 = param_1 + sVar5" (identifier "pcVar4") (= "=") (binary_expression "param_1 + sVar5" (identifier "param_1") (+ "+") (identifier "sVar5"))) (; ";")) (} "}"))) (expression_statement "pcVar1 = local_1f8;" (assignment_expression "pcVar1 = local_1f8" (identifier "pcVar1") (= "=") (identifier "local_1f8")) (; ";")) (expression_statement "pppuStack_220 = (undefined1 ***)0x0;" (assignment_expression "pppuStack_220 = (undefined1 ***)0x0" (identifier "pppuStack_220") (= "=") (cast_expression "(undefined1 ***)0x0" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_00050e40(&local_1cc,local_1f8,pcVar4);" (call_expression "FUN_00050e40(&local_1cc,local_1f8,pcVar4)" (identifier "FUN_00050e40") (argument_list "(&local_1cc,local_1f8,pcVar4)" (( "(") (pointer_expression "&local_1cc" (& "&") (identifier "local_1cc")) (, ",") (identifier "local_1f8") (, ",") (identifier "pcVar4") () ")"))) (; ";")) (expression_statement "ppppuVar9 = (undefined1 ****)auStack_21c;" (assignment_expression "ppppuVar9 = (undefined1 ****)auStack_21c" (identifier "ppppuVar9") (= "=") (cast_expression "(undefined1 ****)auStack_21c" (( "(") (type_descriptor "undefined1 ****" (type_identifier "undefined1") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "auStack_21c"))) (; ";")) (if_statement "if (*pcVar1 == '/') goto LAB_0016c511;" (if "if") (parenthesized_expression "(*pcVar1 == '/')" (( "(") (binary_expression "*pcVar1 == '/'" (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) (== "==") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")")) (goto_statement "goto LAB_0016c511;" (goto "goto") (statement_identifier "LAB_0016c511") (; ";"))) (expression_statement "local_200 = param_2 + 0x2188;" (assignment_expression "local_200 = param_2 + 0x2188" (identifier "local_200") (= "=") (binary_expression "param_2 + 0x2188" (identifier "param_2") (+ "+") (number_literal "0x2188"))) (; ";")) (expression_statement "pppuStack_220 = (undefined1 ***)0x0;" (assignment_expression "pppuStack_220 = (undefined1 ***)0x0" (identifier "pppuStack_220") (= "=") (cast_expression "(undefined1 ***)0x0" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_1f4 = &local_a8;" (assignment_expression "local_1f4 = &local_a8" (identifier "local_1f4") (= "=") (pointer_expression "&local_a8" (& "&") (identifier "local_a8"))) (; ";")) (expression_statement "local_b0 = local_1f4;" (assignment_expression "local_b0 = local_1f4" (identifier "local_b0") (= "=") (identifier "local_1f4")) (; ";")) (expression_statement "FUN_00050e40(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed);" (call_expression "FUN_00050e40(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed)" (identifier "FUN_00050e40") (argument_list "(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed)" (( "(") (pointer_expression "&local_b0" (& "&") (identifier "local_b0")) (, ",") (binary_expression "(int)local_1f0 + -0x1013b5" (cast_expression "(int)local_1f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1f0")) (+ "+") (number_literal "-0x1013b5")) (, ",") (binary_expression "local_1f0 + -0x404ed" (identifier "local_1f0") (+ "+") (number_literal "-0x404ed")) () ")"))) (; ";")) (expression_statement "pppuStack_220 = &local_b0;" (assignment_expression "pppuStack_220 = &local_b0" (identifier "pppuStack_220") (= "=") (pointer_expression "&local_b0" (& "&") (identifier "local_b0"))) (; ";")) (expression_statement "FUN_001a2000(&local_1b4,&local_1cc,local_200);" (call_expression "FUN_001a2000(&local_1b4,&local_1cc,local_200)" (identifier "FUN_001a2000") (argument_list "(&local_1b4,&local_1cc,local_200)" (( "(") (pointer_expression "&local_1b4" (& "&") (identifier "local_1b4")) (, ",") (pointer_expression "&local_1cc" (& "&") (identifier "local_1cc")) (, ",") (identifier "local_200") () ")"))) (; ";")) (expression_statement "iVar10 = local_1c4[0];" (assignment_expression "iVar10 = local_1c4[0]" (identifier "iVar10") (= "=") (subscript_expression "local_1c4[0]" (identifier "local_1c4") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "piVar7 = local_1cc;" (assignment_expression "piVar7 = local_1cc" (identifier "piVar7") (= "=") (identifier "local_1cc")) (; ";")) (if_statement "if (local_1b4 == local_1ac) {\n    local_1c8 = local_1b0;\n    if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }\n    *(undefined1 *)((int)local_1cc + local_1c8) = 0;\n  }\n  else {\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }" (if "if") (parenthesized_expression "(local_1b4 == local_1ac)" (( "(") (binary_expression "local_1b4 == local_1ac" (identifier "local_1b4") (== "==") (identifier "local_1ac")) () ")")) (compound_statement "{\n    local_1c8 = local_1b0;\n    if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }\n    *(undefined1 *)((int)local_1cc + local_1c8) = 0;\n  }" ({ "{") (expression_statement "local_1c8 = local_1b0;" (assignment_expression "local_1c8 = local_1b0" (identifier "local_1c8") (= "=") (identifier "local_1b0")) (; ";")) (if_statement "if (local_1b0 != 0) {\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }" (if "if") (parenthesized_expression "(local_1b0 != 0)" (( "(") (binary_expression "local_1b0 != 0" (identifier "local_1b0") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }\n    }" ({ "{") (if_statement "if (local_1b0 == 1) {\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }\n      else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }" (if "if") (parenthesized_expression "(local_1b0 == 1)" (( "(") (binary_expression "local_1b0 == 1" (identifier "local_1b0") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];\n        local_1c8 = local_1b0;\n      }" ({ "{") (expression_statement "*(undefined1 *)local_1cc = (undefined1)local_1ac[0];" (assignment_expression "*(undefined1 *)local_1cc = (undefined1)local_1ac[0]" (pointer_expression "*(undefined1 *)local_1cc" (* "*") (cast_expression "(undefined1 *)local_1cc" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_1cc"))) (= "=") (cast_expression "(undefined1)local_1ac[0]" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (subscript_expression "local_1ac[0]" (identifier "local_1ac") ([ "[") (number_literal "0") (] "]")))) (; ";")) (expression_statement "local_1c8 = local_1b0;" (assignment_expression "local_1c8 = local_1b0" (identifier "local_1c8") (= "=") (identifier "local_1b0")) (; ";")) (} "}")) (else_clause "else {\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }" (else "else") (compound_statement "{\n        memcpy(local_1cc,local_1ac,local_1b0);\n        local_1c8 = local_1b0;\n      }" ({ "{") (expression_statement "memcpy(local_1cc,local_1ac,local_1b0);" (call_expression "memcpy(local_1cc,local_1ac,local_1b0)" (identifier "memcpy") (argument_list "(local_1cc,local_1ac,local_1b0)" (( "(") (identifier "local_1cc") (, ",") (identifier "local_1ac") (, ",") (identifier "local_1b0") () ")"))) (; ";")) (expression_statement "local_1c8 = local_1b0;" (assignment_expression "local_1c8 = local_1b0" (identifier "local_1c8") (= "=") (identifier "local_1b0")) (; ";")) (} "}")))) (} "}"))) (expression_statement "*(undefined1 *)((int)local_1cc + local_1c8) = 0;" (assignment_expression "*(undefined1 *)((int)local_1cc + local_1c8) = 0" (pointer_expression "*(undefined1 *)((int)local_1cc + local_1c8)" (* "*") (cast_expression "(undefined1 *)((int)local_1cc + local_1c8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_1cc + local_1c8)" (( "(") (binary_expression "(int)local_1cc + local_1c8" (cast_expression "(int)local_1cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1cc")) (+ "+") (identifier "local_1c8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }" (else "else") (compound_statement "{\n    local_200 = local_1ac[0];\n    if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }\n    local_1c4[0] = local_1ac[0];\n    local_1c8 = local_1b0;\n    local_1cc = local_1b4;\n    local_1b4 = local_1ac;\n  }" ({ "{") (expression_statement "local_200 = local_1ac[0];" (assignment_expression "local_200 = local_1ac[0]" (identifier "local_200") (= "=") (subscript_expression "local_1ac[0]" (identifier "local_1ac") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (local_1cc != local_1fc) {\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }" (if "if") (parenthesized_expression "(local_1cc != local_1fc)" (( "(") (binary_expression "local_1cc != local_1fc" (identifier "local_1cc") (!= "!=") (identifier "local_1fc")) () ")")) (compound_statement "{\n      local_1c8 = local_1b0;\n      local_1cc = local_1b4;\n      local_1c4[0] = local_1ac[0];\n      if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }\n    }" ({ "{") (expression_statement "local_1c8 = local_1b0;" (assignment_expression "local_1c8 = local_1b0" (identifier "local_1c8") (= "=") (identifier "local_1b0")) (; ";")) (expression_statement "local_1cc = local_1b4;" (assignment_expression "local_1cc = local_1b4" (identifier "local_1cc") (= "=") (identifier "local_1b4")) (; ";")) (expression_statement "local_1c4[0] = local_1ac[0];" (assignment_expression "local_1c4[0] = local_1ac[0]" (subscript_expression "local_1c4[0]" (identifier "local_1c4") ([ "[") (number_literal "0") (] "]")) (= "=") (subscript_expression "local_1ac[0]" (identifier "local_1ac") ([ "[") (number_literal "0") (] "]"))) (; ";")) (if_statement "if (piVar7 != (int *)0x0) {\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }" (if "if") (parenthesized_expression "(piVar7 != (int *)0x0)" (( "(") (binary_expression "piVar7 != (int *)0x0" (identifier "piVar7") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        local_1b4 = piVar7;\n        local_1ac[0] = iVar10;\n        goto LAB_0016cbba;\n      }" ({ "{") (expression_statement "local_1b4 = piVar7;" (assignment_expression "local_1b4 = piVar7" (identifier "local_1b4") (= "=") (identifier "piVar7")) (; ";")) (expression_statement "local_1ac[0] = iVar10;" (assignment_expression "local_1ac[0] = iVar10" (subscript_expression "local_1ac[0]" (identifier "local_1ac") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "iVar10")) (; ";")) (goto_statement "goto LAB_0016cbba;" (goto "goto") (statement_identifier "LAB_0016cbba") (; ";")) (} "}"))) (} "}"))) (expression_statement "local_1c4[0] = local_1ac[0];" (assignment_expression "local_1c4[0] = local_1ac[0]" (subscript_expression "local_1c4[0]" (identifier "local_1c4") ([ "[") (number_literal "0") (] "]")) (= "=") (subscript_expression "local_1ac[0]" (identifier "local_1ac") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "local_1c8 = local_1b0;" (assignment_expression "local_1c8 = local_1b0" (identifier "local_1c8") (= "=") (identifier "local_1b0")) (; ";")) (expression_statement "local_1cc = local_1b4;" (assignment_expression "local_1cc = local_1b4" (identifier "local_1cc") (= "=") (identifier "local_1b4")) (; ";")) (expression_statement "local_1b4 = local_1ac;" (assignment_expression "local_1b4 = local_1ac" (identifier "local_1b4") (= "=") (identifier "local_1ac")) (; ";")) (} "}")))) (labeled_statement "LAB_0016cbba:\n  local_1b0 = 0;" (statement_identifier "LAB_0016cbba") (: ":") (expression_statement "local_1b0 = 0;" (assignment_expression "local_1b0 = 0" (identifier "local_1b0") (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(undefined1 *)local_1b4 = 0;" (assignment_expression "*(undefined1 *)local_1b4 = 0" (pointer_expression "*(undefined1 *)local_1b4" (* "*") (cast_expression "(undefined1 *)local_1b4" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_1b4"))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_1b4 != local_1ac) {\n    FUN_001e6db0(local_1b4);\n  }" (if "if") (parenthesized_expression "(local_1b4 != local_1ac)" (( "(") (binary_expression "local_1b4 != local_1ac" (identifier "local_1b4") (!= "!=") (identifier "local_1ac")) () ")")) (compound_statement "{\n    FUN_001e6db0(local_1b4);\n  }" ({ "{") (expression_statement "FUN_001e6db0(local_1b4);" (call_expression "FUN_001e6db0(local_1b4)" (identifier "FUN_001e6db0") (argument_list "(local_1b4)" (( "(") (identifier "local_1b4") () ")"))) (; ";")) (} "}"))) (expression_statement "ppppuVar9 = &pppuStack_220;" (assignment_expression "ppppuVar9 = &pppuStack_220" (identifier "ppppuVar9") (= "=") (pointer_expression "&pppuStack_220" (& "&") (identifier "pppuStack_220"))) (; ";")) (if_statement "if (local_b0 != local_1f4) {\n    FUN_001e6db0(local_b0);\n    ppppuVar9 = &pppuStack_220;\n  }" (if "if") (parenthesized_expression "(local_b0 != local_1f4)" (( "(") (binary_expression "local_b0 != local_1f4" (identifier "local_b0") (!= "!=") (identifier "local_1f4")) () ")")) (compound_statement "{\n    FUN_001e6db0(local_b0);\n    ppppuVar9 = &pppuStack_220;\n  }" ({ "{") (expression_statement "FUN_001e6db0(local_b0);" (call_expression "FUN_001e6db0(local_b0)" (identifier "FUN_001e6db0") (argument_list "(local_b0)" (( "(") (identifier "local_b0") () ")"))) (; ";")) (expression_statement "ppppuVar9 = &pppuStack_220;" (assignment_expression "ppppuVar9 = &pppuStack_220" (identifier "ppppuVar9") (= "=") (pointer_expression "&pppuStack_220" (& "&") (identifier "pppuStack_220"))) (; ";")) (} "}"))) (labeled_statement "LAB_0016c511:\n  iVar10 = *(int *)(param_2 + 0x5a94);" (statement_identifier "LAB_0016c511") (: ":") (expression_statement "iVar10 = *(int *)(param_2 + 0x5a94);" (assignment_expression "iVar10 = *(int *)(param_2 + 0x5a94)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(param_2 + 0x5a94)" (* "*") (cast_expression "(int *)(param_2 + 0x5a94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x5a94)" (( "(") (binary_expression "param_2 + 0x5a94" (identifier "param_2") (+ "+") (number_literal "0x5a94")) () ")"))))) (; ";"))) (expression_statement "local_1f4 = (undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90));" (assignment_expression "local_1f4 = (undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90))" (identifier "local_1f4") (= "=") (cast_expression "(undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90))" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90))" (identifier "CONCAT22") (argument_list "(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90))" (( "(") (field_expression "local_1f4._2_2_" (identifier "local_1f4") (. ".") (field_identifier "_2_2_")) (, ",") (pointer_expression "*(undefined2 *)(param_2 + 0x5a90)" (* "*") (cast_expression "(undefined2 *)(param_2 + 0x5a90)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x5a90)" (( "(") (binary_expression "param_2 + 0x5a90" (identifier "param_2") (+ "+") (number_literal "0x5a90")) () ")")))) () ")"))))) (; ";")) (expression_statement "local_204 = (undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98));" (assignment_expression "local_204 = (undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98))" (identifier "local_204") (= "=") (cast_expression "(undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98))" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98))" (identifier "CONCAT31") (argument_list "(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98))" (( "(") (field_expression "local_204._1_3_" (identifier "local_204") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(undefined1 *)(param_2 + 0x5a98)" (* "*") (cast_expression "(undefined1 *)(param_2 + 0x5a98)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x5a98)" (( "(") (binary_expression "param_2 + 0x5a98" (identifier "param_2") (+ "+") (number_literal "0x5a98")) () ")")))) () ")"))))) (; ";")) (expression_statement "local_200 = *(undefined4 *)(param_2 + 0x5a9c);" (assignment_expression "local_200 = *(undefined4 *)(param_2 + 0x5a9c)" (identifier "local_200") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0x5a9c)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x5a9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x5a9c)" (( "(") (binary_expression "param_2 + 0x5a9c" (identifier "param_2") (+ "+") (number_literal "0x5a9c")) () ")"))))) (; ";")) (if_statement "if (iVar10 == 1) {\n    iVar10 = 0;\n  }" (if "if") (parenthesized_expression "(iVar10 == 1)" (( "(") (binary_expression "iVar10 == 1" (identifier "iVar10") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    iVar10 = 0;\n  }" ({ "{") (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "local_208 = local_148;" (assignment_expression "local_208 = local_148" (identifier "local_208") (= "=") (identifier "local_148")) (; ";")) (expression_statement "puVar6 = (undefined1 *)0xffffffff;" (assignment_expression "puVar6 = (undefined1 *)0xffffffff" (identifier "puVar6") (= "=") (cast_expression "(undefined1 *)0xffffffff" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "piVar7 = local_1cc;" (assignment_expression "piVar7 = local_1cc" (identifier "piVar7") (= "=") (identifier "local_1cc")) (; ";")) (expression_statement "local_150[0] = local_208;" (assignment_expression "local_150[0] = local_208" (subscript_expression "local_150[0]" (identifier "local_150") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "local_208")) (; ";")) (if_statement "if (local_1cc != (int *)0x0) {\n    local_20c = local_1cc;\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;\n    sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));\n    puVar6 = (undefined1 *)(sVar5 + (int)local_20c);\n    piVar7 = local_20c;\n  }" (if "if") (parenthesized_expression "(local_1cc != (int *)0x0)" (( "(") (binary_expression "local_1cc != (int *)0x0" (identifier "local_1cc") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_20c = local_1cc;\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;\n    sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));\n    puVar6 = (undefined1 *)(sVar5 + (int)local_20c);\n    piVar7 = local_20c;\n  }" ({ "{") (expression_statement "local_20c = local_1cc;" (assignment_expression "local_20c = local_1cc" (identifier "local_20c") (= "=") (identifier "local_1cc")) (; ";")) (expression_statement "*(int **)((int)ppppuVar9 + -0x10) = local_1cc;" (assignment_expression "*(int **)((int)ppppuVar9 + -0x10) = local_1cc" (pointer_expression "*(int **)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_1cc")) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16c57f")) (; ";")) (expression_statement "sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));" (assignment_expression "sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10))" (identifier "sVar5") (= "=") (call_expression "strlen(*(char **)((int)ppppuVar9 + -0x10))" (identifier "strlen") (argument_list "(*(char **)((int)ppppuVar9 + -0x10))" (( "(") (pointer_expression "*(char **)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(char **)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar6 = (undefined1 *)(sVar5 + (int)local_20c);" (assignment_expression "puVar6 = (undefined1 *)(sVar5 + (int)local_20c)" (identifier "puVar6") (= "=") (cast_expression "(undefined1 *)(sVar5 + (int)local_20c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(sVar5 + (int)local_20c)" (( "(") (binary_expression "sVar5 + (int)local_20c" (identifier "sVar5") (+ "+") (cast_expression "(int)local_20c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_20c"))) () ")")))) (; ";")) (expression_statement "piVar7 = local_20c;" (assignment_expression "piVar7 = local_20c" (identifier "piVar7") (= "=") (identifier "local_20c")) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -4) = 0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -4)" (( "(") (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 **)((int)ppppuVar9 + -8) = puVar6;" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -8) = puVar6" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -8)" (* "*") (cast_expression "(undefined1 **)((int)ppppuVar9 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppppuVar9 + -8)" (( "(") (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "puVar6")) (; ";")) (expression_statement "*(int **)((int)ppppuVar9 + -0xc) = piVar7;" (assignment_expression "*(int **)((int)ppppuVar9 + -0xc) = piVar7" (pointer_expression "*(int **)((int)ppppuVar9 + -0xc)" (* "*") (cast_expression "(int **)((int)ppppuVar9 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0xc)" (( "(") (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "piVar7")) (; ";")) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_150;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_150" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_150")) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5a0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5a0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16c5a0")) (; ";")) (expression_statement "local_214 = local_150;" (assignment_expression "local_214 = local_150" (identifier "local_214") (= "=") (identifier "local_150")) (; ";")) (expression_statement "FUN_00050e40();" (call_expression "FUN_00050e40()" (identifier "FUN_00050e40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_20c = (int *)local_12c;" (assignment_expression "local_20c = (int *)local_12c" (identifier "local_20c") (= "=") (cast_expression "(int *)local_12c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_12c"))) (; ";")) (expression_statement "local_138 = 0;" (assignment_expression "local_138 = 0" (identifier "local_138") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -4) = 0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -4) = 0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -4)" (( "(") (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)((int)ppppuVar9 + -8) = (int)local_1f0 + -0xf11ea;" (assignment_expression "*(int *)((int)ppppuVar9 + -8) = (int)local_1f0 + -0xf11ea" (pointer_expression "*(int *)((int)ppppuVar9 + -8)" (* "*") (cast_expression "(int *)((int)ppppuVar9 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -8)" (( "(") (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "(int)local_1f0 + -0xf11ea" (cast_expression "(int)local_1f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1f0")) (+ "+") (number_literal "-0xf11ea"))) (; ";")) (expression_statement "*(int *)((int)ppppuVar9 + -0xc) = (int)local_1f0 + -0xf11ea;" (assignment_expression "*(int *)((int)ppppuVar9 + -0xc) = (int)local_1f0 + -0xf11ea" (pointer_expression "*(int *)((int)ppppuVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)ppppuVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0xc)" (( "(") (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "(int)local_1f0 + -0xf11ea" (cast_expression "(int)local_1f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1f0")) (+ "+") (number_literal "-0xf11ea"))) (; ";")) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_134;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_134" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_134")) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5db;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5db" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16c5db")) (; ";")) (expression_statement "local_134[0] = (undefined1 *)local_20c;" (assignment_expression "local_134[0] = (undefined1 *)local_20c" (subscript_expression "local_134[0]" (identifier "local_134") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined1 *)local_20c" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_20c"))) (; ";")) (expression_statement "FUN_00050e40();" (call_expression "FUN_00050e40()" (identifier "FUN_00050e40") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_110 = local_204._0_1_;" (assignment_expression "local_110 = local_204._0_1_" (identifier "local_110") (= "=") (field_expression "local_204._0_1_" (identifier "local_204") (. ".") (field_identifier "_0_1_"))) (; ";")) (expression_statement "local_94 = local_8c;" (assignment_expression "local_94 = local_8c" (identifier "local_94") (= "=") (identifier "local_8c")) (; ";")) (expression_statement "local_48 = &local_50;" (assignment_expression "local_48 = &local_50" (identifier "local_48") (= "=") (pointer_expression "&local_50" (& "&") (identifier "local_50"))) (; ";")) (expression_statement "local_10c = local_200;" (assignment_expression "local_10c = local_200" (identifier "local_10c") (= "=") (identifier "local_200")) (; ";")) (expression_statement "local_204 = local_a4;" (assignment_expression "local_204 = local_a4" (identifier "local_204") (= "=") (identifier "local_a4")) (; ";")) (expression_statement "local_3c = &local_3c;" (assignment_expression "local_3c = &local_3c" (identifier "local_3c") (= "=") (pointer_expression "&local_3c" (& "&") (identifier "local_3c"))) (; ";")) (expression_statement "local_11c = 0;" (assignment_expression "local_11c = 0" (identifier "local_11c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_118 = local_1f4._0_2_;" (assignment_expression "local_118 = local_1f4._0_2_" (identifier "local_118") (= "=") (field_expression "local_1f4._0_2_" (identifier "local_1f4") (. ".") (field_identifier "_0_2_"))) (; ";")) (expression_statement "local_108 = 0;" (assignment_expression "local_108 = 0" (identifier "local_108") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a8 = (undefined1 *)0x0;" (assignment_expression "local_a8 = (undefined1 *)0x0" (identifier "local_a8") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_a4[0] = 0;" (assignment_expression "local_a4[0] = 0" (subscript_expression "local_a4[0]" (identifier "local_a4") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = 0;" (assignment_expression "local_90 = 0" (identifier "local_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_8c[0] = 0;" (assignment_expression "local_8c[0] = 0" (subscript_expression "local_8c[0]" (identifier "local_8c") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_7c = 0xffffffff;" (assignment_expression "local_7c = 0xffffffff" (identifier "local_7c") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" (identifier "local_74") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" (identifier "local_70") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" (identifier "local_64") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 **)((int)ppppuVar9 + -4) = &local_1e8;" (assignment_expression "*(undefined4 **)((int)ppppuVar9 + -4) = &local_1e8" (pointer_expression "*(undefined4 **)((int)ppppuVar9 + -4)" (* "*") (cast_expression "(undefined4 **)((int)ppppuVar9 + -4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppppuVar9 + -4)" (( "(") (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&local_1e8" (& "&") (identifier "local_1e8"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -8) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -8) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -8)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -8)" (( "(") (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined4 **)((int)ppppuVar9 + -0xc) = &local_1e4;" (assignment_expression "*(undefined4 **)((int)ppppuVar9 + -0xc) = &local_1e4" (pointer_expression "*(undefined4 **)((int)ppppuVar9 + -0xc)" (* "*") (cast_expression "(undefined4 **)((int)ppppuVar9 + -0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0xc)" (( "(") (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&local_1e4" (& "&") (identifier "local_1e4"))) (; ";")) (expression_statement "*(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;" (assignment_expression "*(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0" (pointer_expression "*(undefined1 ****)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(undefined1 ****)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "undefined1 ****" (type_identifier "undefined1") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&local_b0" (& "&") (identifier "local_b0"))) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_2c = 1;" (assignment_expression "local_2c = 1" (identifier "local_2c") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" (identifier "local_24") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_20 = 0;" (assignment_expression "local_20 = 0" (identifier "local_20") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_1e8 = 0;" (assignment_expression "local_1e8 = 0" (identifier "local_1e8") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c719;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c719" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16c719")) (; ";")) (expression_statement "local_114 = iVar10;" (assignment_expression "local_114 = iVar10" (identifier "local_114") (= "=") (identifier "iVar10")) (; ";")) (expression_statement "local_b0 = local_150;" (assignment_expression "local_b0 = local_150" (identifier "local_b0") (= "=") (identifier "local_150")) (; ";")) (expression_statement "local_ac = local_204;" (assignment_expression "local_ac = local_204" (identifier "local_ac") (= "=") (identifier "local_204")) (; ";")) (expression_statement "local_44 = local_48;" (assignment_expression "local_44 = local_48" (identifier "local_44") (= "=") (identifier "local_48")) (; ";")) (expression_statement "local_38 = local_3c;" (assignment_expression "local_38 = local_3c" (identifier "local_38") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "cVar3 = FUN_00069870();" (assignment_expression "cVar3 = FUN_00069870()" (identifier "cVar3") (= "=") (call_expression "FUN_00069870()" (identifier "FUN_00069870") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_1f4 = &local_94;" (assignment_expression "local_1f4 = &local_94" (identifier "local_1f4") (= "=") (pointer_expression "&local_94" (& "&") (identifier "local_94"))) (; ";")) (expression_statement "local_200 = CONCAT31(local_200._1_3_,cVar3);" (assignment_expression "local_200 = CONCAT31(local_200._1_3_,cVar3)" (identifier "local_200") (= "=") (call_expression "CONCAT31(local_200._1_3_,cVar3)" (identifier "CONCAT31") (argument_list "(local_200._1_3_,cVar3)" (( "(") (field_expression "local_200._1_3_" (identifier "local_200") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "cVar3") () ")")))) (; ";")) (if_statement "if (cVar3 != '\0') {\n    local_218 = local_194;\n    local_198 = 0;\n    *(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;\n    *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n    local_194[0] = 0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;\n    local_19c = local_218;\n    FUN_00168e00();\n    local_170 = 0;\n    local_16c = 0;\n    local_184 = local_19c;\n    local_17c = local_19c;\n    local_154 = local_19c;\n    local_180 = local_198;\n    local_178 = param_5;\n    local_f0 = param_4 == 3;\n    local_174 = param_4;\n    local_104 = local_1f8;\n    local_100 = *(undefined4 *)(param_2 + 0x5a90);\n    local_fc = *(undefined4 *)(param_2 + 0x5a94);\n    local_168 = 0;\n    local_f8 = *(undefined4 *)(param_2 + 0x5a98);\n    local_164 = 0;\n    local_f4 = *(undefined4 *)(param_2 + 0x5a9c);\n    local_160 = 0;\n    local_15c = 0;\n    local_ee = local_24;\n    local_158 = 1;\n    local_ef = 0;\n    local_ed = 0;\n    *(int ***)((int)ppppuVar9 + -8) = &local_1b4;\n    local_e4 = local_210;\n    local_e0 = local_210 + 0x68;\n    local_dc = &local_184;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;\n    local_d8 = 0;\n    local_d4 = 0;\n    local_d0[0] = 0;\n    local_d0[1] = 0;\n    local_d0[2] = 0;\n    local_d0[3] = 0;\n    local_d0[4] = 0;\n    local_d0[5] = 0;\n    local_b8 = (int *)0x0;\n    local_b4 = 0;\n    local_1b4 = (int *)0x0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;\n    local_e8 = param_2;\n    FUN_0016f460();\n    *(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;\n    local_1b4 = local_178;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;\n    FUN_0016f700();\n    local_1f4 = &local_94;\n    *(char ***)((int)ppppuVar9 + -0x10) = &local_104;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;\n    iVar10 = FUN_00191d40();\n    ppuVar8 = local_1f0;\n    if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }\n    if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }\n    if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }\n    if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }\n  }" (if "if") (parenthesized_expression "(cVar3 != '\0')" (( "(") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_218 = local_194;\n    local_198 = 0;\n    *(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;\n    *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;\n    local_194[0] = 0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;\n    local_19c = local_218;\n    FUN_00168e00();\n    local_170 = 0;\n    local_16c = 0;\n    local_184 = local_19c;\n    local_17c = local_19c;\n    local_154 = local_19c;\n    local_180 = local_198;\n    local_178 = param_5;\n    local_f0 = param_4 == 3;\n    local_174 = param_4;\n    local_104 = local_1f8;\n    local_100 = *(undefined4 *)(param_2 + 0x5a90);\n    local_fc = *(undefined4 *)(param_2 + 0x5a94);\n    local_168 = 0;\n    local_f8 = *(undefined4 *)(param_2 + 0x5a98);\n    local_164 = 0;\n    local_f4 = *(undefined4 *)(param_2 + 0x5a9c);\n    local_160 = 0;\n    local_15c = 0;\n    local_ee = local_24;\n    local_158 = 1;\n    local_ef = 0;\n    local_ed = 0;\n    *(int ***)((int)ppppuVar9 + -8) = &local_1b4;\n    local_e4 = local_210;\n    local_e0 = local_210 + 0x68;\n    local_dc = &local_184;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;\n    local_d8 = 0;\n    local_d4 = 0;\n    local_d0[0] = 0;\n    local_d0[1] = 0;\n    local_d0[2] = 0;\n    local_d0[3] = 0;\n    local_d0[4] = 0;\n    local_d0[5] = 0;\n    local_b8 = (int *)0x0;\n    local_b4 = 0;\n    local_1b4 = (int *)0x0;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;\n    local_e8 = param_2;\n    FUN_0016f460();\n    *(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;\n    local_1b4 = local_178;\n    *(int **)((int)ppppuVar9 + -0x10) = local_d0;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;\n    FUN_0016f700();\n    local_1f4 = &local_94;\n    *(char ***)((int)ppppuVar9 + -0x10) = &local_104;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;\n    iVar10 = FUN_00191d40();\n    ppuVar8 = local_1f0;\n    if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }\n    if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }\n    if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }\n    if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }\n  }" ({ "{") (expression_statement "local_218 = local_194;" (assignment_expression "local_218 = local_194" (identifier "local_218") (= "=") (identifier "local_194")) (; ";")) (expression_statement "local_198 = 0;" (assignment_expression "local_198 = 0" (identifier "local_198") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0xc)" (* "*") (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0xc)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0xc)" (( "(") (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&local_19c" (& "&") (identifier "local_19c"))) (; ";")) (expression_statement "*(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;" (assignment_expression "*(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0" (pointer_expression "*(undefined1 ****)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(undefined1 ****)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "undefined1 ****" (type_identifier "undefined1") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&local_b0" (& "&") (identifier "local_b0"))) (; ";")) (expression_statement "local_194[0] = 0;" (assignment_expression "local_194[0] = 0" (subscript_expression "local_194[0]" (identifier "local_194") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16c843")) (; ";")) (expression_statement "local_19c = local_218;" (assignment_expression "local_19c = local_218" (identifier "local_19c") (= "=") (identifier "local_218")) (; ";")) (expression_statement "FUN_00168e00();" (call_expression "FUN_00168e00()" (identifier "FUN_00168e00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_170 = 0;" (assignment_expression "local_170 = 0" (identifier "local_170") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_16c = 0;" (assignment_expression "local_16c = 0" (identifier "local_16c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_184 = local_19c;" (assignment_expression "local_184 = local_19c" (identifier "local_184") (= "=") (identifier "local_19c")) (; ";")) (expression_statement "local_17c = local_19c;" (assignment_expression "local_17c = local_19c" (identifier "local_17c") (= "=") (identifier "local_19c")) (; ";")) (expression_statement "local_154 = local_19c;" (assignment_expression "local_154 = local_19c" (identifier "local_154") (= "=") (identifier "local_19c")) (; ";")) (expression_statement "local_180 = local_198;" (assignment_expression "local_180 = local_198" (identifier "local_180") (= "=") (identifier "local_198")) (; ";")) (expression_statement "local_178 = param_5;" (assignment_expression "local_178 = param_5" (identifier "local_178") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_f0 = param_4 == 3;" (assignment_expression "local_f0 = param_4 == 3" (identifier "local_f0") (= "=") (binary_expression "param_4 == 3" (identifier "param_4") (== "==") (number_literal "3"))) (; ";")) (expression_statement "local_174 = param_4;" (assignment_expression "local_174 = param_4" (identifier "local_174") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_104 = local_1f8;" (assignment_expression "local_104 = local_1f8" (identifier "local_104") (= "=") (identifier "local_1f8")) (; ";")) (expression_statement "local_100 = *(undefined4 *)(param_2 + 0x5a90);" (assignment_expression "local_100 = *(undefined4 *)(param_2 + 0x5a90)" (identifier "local_100") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0x5a90)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x5a90)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x5a90)" (( "(") (binary_expression "param_2 + 0x5a90" (identifier "param_2") (+ "+") (number_literal "0x5a90")) () ")"))))) (; ";")) (expression_statement "local_fc = *(undefined4 *)(param_2 + 0x5a94);" (assignment_expression "local_fc = *(undefined4 *)(param_2 + 0x5a94)" (identifier "local_fc") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0x5a94)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x5a94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x5a94)" (( "(") (binary_expression "param_2 + 0x5a94" (identifier "param_2") (+ "+") (number_literal "0x5a94")) () ")"))))) (; ";")) (expression_statement "local_168 = 0;" (assignment_expression "local_168 = 0" (identifier "local_168") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_f8 = *(undefined4 *)(param_2 + 0x5a98);" (assignment_expression "local_f8 = *(undefined4 *)(param_2 + 0x5a98)" (identifier "local_f8") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0x5a98)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x5a98)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x5a98)" (( "(") (binary_expression "param_2 + 0x5a98" (identifier "param_2") (+ "+") (number_literal "0x5a98")) () ")"))))) (; ";")) (expression_statement "local_164 = 0;" (assignment_expression "local_164 = 0" (identifier "local_164") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_f4 = *(undefined4 *)(param_2 + 0x5a9c);" (assignment_expression "local_f4 = *(undefined4 *)(param_2 + 0x5a9c)" (identifier "local_f4") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0x5a9c)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x5a9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x5a9c)" (( "(") (binary_expression "param_2 + 0x5a9c" (identifier "param_2") (+ "+") (number_literal "0x5a9c")) () ")"))))) (; ";")) (expression_statement "local_160 = 0;" (assignment_expression "local_160 = 0" (identifier "local_160") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_15c = 0;" (assignment_expression "local_15c = 0" (identifier "local_15c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_ee = local_24;" (assignment_expression "local_ee = local_24" (identifier "local_ee") (= "=") (identifier "local_24")) (; ";")) (expression_statement "local_158 = 1;" (assignment_expression "local_158 = 1" (identifier "local_158") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_ef = 0;" (assignment_expression "local_ef = 0" (identifier "local_ef") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_ed = 0;" (assignment_expression "local_ed = 0" (identifier "local_ed") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int ***)((int)ppppuVar9 + -8) = &local_1b4;" (assignment_expression "*(int ***)((int)ppppuVar9 + -8) = &local_1b4" (pointer_expression "*(int ***)((int)ppppuVar9 + -8)" (* "*") (cast_expression "(int ***)((int)ppppuVar9 + -8)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -8)" (( "(") (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&local_1b4" (& "&") (identifier "local_1b4"))) (; ";")) (expression_statement "local_e4 = local_210;" (assignment_expression "local_e4 = local_210" (identifier "local_e4") (= "=") (identifier "local_210")) (; ";")) (expression_statement "local_e0 = local_210 + 0x68;" (assignment_expression "local_e0 = local_210 + 0x68" (identifier "local_e0") (= "=") (binary_expression "local_210 + 0x68" (identifier "local_210") (+ "+") (number_literal "0x68"))) (; ";")) (expression_statement "local_dc = &local_184;" (assignment_expression "local_dc = &local_184" (identifier "local_dc") (= "=") (pointer_expression "&local_184" (& "&") (identifier "local_184"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0xc)" (( "(") (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;" (assignment_expression "*(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3" (pointer_expression "*(int **)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "local_d0 + 3" (identifier "local_d0") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" (identifier "local_d8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" (identifier "local_d4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d0[0] = 0;" (assignment_expression "local_d0[0] = 0" (subscript_expression "local_d0[0]" (identifier "local_d0") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d0[1] = 0;" (assignment_expression "local_d0[1] = 0" (subscript_expression "local_d0[1]" (identifier "local_d0") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d0[2] = 0;" (assignment_expression "local_d0[2] = 0" (subscript_expression "local_d0[2]" (identifier "local_d0") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d0[3] = 0;" (assignment_expression "local_d0[3] = 0" (subscript_expression "local_d0[3]" (identifier "local_d0") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d0[4] = 0;" (assignment_expression "local_d0[4] = 0" (subscript_expression "local_d0[4]" (identifier "local_d0") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d0[5] = 0;" (assignment_expression "local_d0[5] = 0" (subscript_expression "local_d0[5]" (identifier "local_d0") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b8 = (int *)0x0;" (assignment_expression "local_b8 = (int *)0x0" (identifier "local_b8") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b4 = 0;" (assignment_expression "local_b4 = 0" (identifier "local_b4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_1b4 = (int *)0x0;" (assignment_expression "local_1b4 = (int *)0x0" (identifier "local_1b4") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16c9cc")) (; ";")) (expression_statement "local_e8 = param_2;" (assignment_expression "local_e8 = param_2" (identifier "local_e8") (= "=") (identifier "param_2")) (; ";")) (expression_statement "FUN_0016f460();" (call_expression "FUN_0016f460()" (identifier "FUN_0016f460") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;" (assignment_expression "*(int ***)((int)ppppuVar9 + -0xc) = &local_1b4" (pointer_expression "*(int ***)((int)ppppuVar9 + -0xc)" (* "*") (cast_expression "(int ***)((int)ppppuVar9 + -0xc)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0xc)" (( "(") (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&local_1b4" (& "&") (identifier "local_1b4"))) (; ";")) (expression_statement "local_1b4 = local_178;" (assignment_expression "local_1b4 = local_178" (identifier "local_1b4") (= "=") (identifier "local_178")) (; ";")) (expression_statement "*(int **)((int)ppppuVar9 + -0x10) = local_d0;" (assignment_expression "*(int **)((int)ppppuVar9 + -0x10) = local_d0" (pointer_expression "*(int **)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_d0")) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16c9e7")) (; ";")) (expression_statement "FUN_0016f700();" (call_expression "FUN_0016f700()" (identifier "FUN_0016f700") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_1f4 = &local_94;" (assignment_expression "local_1f4 = &local_94" (identifier "local_1f4") (= "=") (pointer_expression "&local_94" (& "&") (identifier "local_94"))) (; ";")) (expression_statement "*(char ***)((int)ppppuVar9 + -0x10) = &local_104;" (assignment_expression "*(char ***)((int)ppppuVar9 + -0x10) = &local_104" (pointer_expression "*(char ***)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(char ***)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "char ***" (primitive_type "char") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&local_104" (& "&") (identifier "local_104"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16ca07")) (; ";")) (expression_statement "iVar10 = FUN_00191d40();" (assignment_expression "iVar10 = FUN_00191d40()" (identifier "iVar10") (= "=") (call_expression "FUN_00191d40()" (identifier "FUN_00191d40") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ppuVar8 = local_1f0;" (assignment_expression "ppuVar8 = local_1f0" (identifier "ppuVar8") (= "=") (identifier "local_1f0")) (; ";")) (if_statement "if (iVar10 == 0) {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }\n    else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;\n      FUN_000679d0();\n      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }\n    }" ({ "{") (expression_statement "local_1f4 = &local_94;" (assignment_expression "local_1f4 = &local_94" (identifier "local_1f4") (= "=") (pointer_expression "&local_94" (& "&") (identifier "local_94"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0xc)" (( "(") (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_1f4")) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16ca31")) (; ";")) (expression_statement "FUN_000679d0();" (call_expression "FUN_000679d0()" (identifier "FUN_000679d0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }" (if "if") (parenthesized_expression "((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8))" (( "(") (binary_expression "(local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)" (parenthesized_expression "(local_b8 != (int *)0x0)" (( "(") (binary_expression "local_b8 != (int *)0x0" (identifier "local_b8") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_b8[1] != *local_b8)" (( "(") (binary_expression "local_b8[1] != *local_b8" (subscript_expression "local_b8[1]" (identifier "local_b8") ([ "[") (number_literal "1") (] "]")) (!= "!=") (pointer_expression "*local_b8" (* "*") (identifier "local_b8"))) () ")"))) () ")")) (compound_statement "{\n        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;\n        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;\n        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;\n                    \n        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;\n        FUN_00069d00();\n      }" ({ "{") (expression_statement "*(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -8)" (* "*") (cast_expression "(undefined ***)((int)ppppuVar9 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -8)" (( "(") (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "ppuVar8 + -0x3d79d" (identifier "ppuVar8") (+ "+") (number_literal "-0x3d79d"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0xc)" (( "(") (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x666")) (; ";")) (expression_statement "*(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(undefined ***)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "ppuVar8 + -0x3dbb5" (identifier "ppuVar8") (+ "+") (number_literal "-0x3dbb5"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16ca60")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }" (else "else") (compound_statement "{\n      local_1f4 = &local_94;\n      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;\n      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;\n      FUN_000679d0();\n      local_200 = local_200 & 0xffffff00;\n    }" ({ "{") (expression_statement "local_1f4 = &local_94;" (assignment_expression "local_1f4 = &local_94" (identifier "local_1f4") (= "=") (pointer_expression "&local_94" (& "&") (identifier "local_94"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0xc)" (( "(") (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_1f4")) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16ca7d")) (; ";")) (expression_statement "FUN_000679d0();" (call_expression "FUN_000679d0()" (identifier "FUN_000679d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_200 = local_200 & 0xffffff00;" (assignment_expression "local_200 = local_200 & 0xffffff00" (identifier "local_200") (= "=") (binary_expression "local_200 & 0xffffff00" (identifier "local_200") (& "&") (number_literal "0xffffff00"))) (; ";")) (} "}")))) (if_statement "if (local_d0[3] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }" (if "if") (parenthesized_expression "(local_d0[3] != 0)" (( "(") (binary_expression "local_d0[3] != 0" (subscript_expression "local_d0[3]" (identifier "local_d0") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;\n      FUN_001e6db0();\n    }" ({ "{") (expression_statement "*(int *)((int)ppppuVar9 + -0x10) = local_d0[3];" (assignment_expression "*(int *)((int)ppppuVar9 + -0x10) = local_d0[3]" (pointer_expression "*(int *)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "local_d0[3]" (identifier "local_d0") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16caa0")) (; ";")) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" (identifier "FUN_001e6db0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_d0[0] != 0) {\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }" (if "if") (parenthesized_expression "(local_d0[0] != 0)" (( "(") (binary_expression "local_d0[0] != 0" (subscript_expression "local_d0[0]" (identifier "local_d0") ([ "[") (number_literal "0") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;\n      FUN_001e6db0();\n    }" ({ "{") (expression_statement "*(int *)((int)ppppuVar9 + -0x10) = local_d0[0];" (assignment_expression "*(int *)((int)ppppuVar9 + -0x10) = local_d0[0]" (pointer_expression "*(int *)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "local_d0[0]" (identifier "local_d0") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16cabc")) (; ";")) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" (identifier "FUN_001e6db0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_19c != local_218) {\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }" (if "if") (parenthesized_expression "(local_19c != local_218)" (( "(") (binary_expression "local_19c != local_218" (identifier "local_19c") (!= "!=") (identifier "local_218")) () ")")) (compound_statement "{\n      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;\n      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;\n      FUN_001e6db0();\n    }" ({ "{") (expression_statement "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(undefined1 **)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_19c")) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16cae0")) (; ";")) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" (identifier "FUN_001e6db0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "ppuVar8 = local_1f0;" (assignment_expression "ppuVar8 = local_1f0" (identifier "ppuVar8") (= "=") (identifier "local_1f0")) (; ";")) (expression_statement "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;" (assignment_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4" (pointer_expression "*(undefined1 ***)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(undefined1 ***)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "undefined1 ***" (type_identifier "undefined1") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_1f4")) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c74c;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c74c" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16c74c")) (; ";")) (expression_statement "FUN_00067cc0();" (call_expression "FUN_00067cc0()" (identifier "FUN_00067cc0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_ac != local_204) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;\n    FUN_001e6db0();\n  }" (if "if") (parenthesized_expression "(local_ac != local_204)" (( "(") (binary_expression "local_ac != local_204" (identifier "local_ac") (!= "!=") (identifier "local_204")) () ")")) (compound_statement "{\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;\n    FUN_001e6db0();\n  }" ({ "{") (expression_statement "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(undefined1 **)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_ac")) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16c766")) (; ";")) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" (identifier "FUN_001e6db0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "ppuVar2 = local_1f0;" (assignment_expression "ppuVar2 = local_1f0" (identifier "ppuVar2") (= "=") (identifier "local_1f0")) (; ";")) (if_statement "if ((int *)local_134[0] != local_20c) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" (if "if") (parenthesized_expression "((int *)local_134[0] != local_20c)" (( "(") (binary_expression "(int *)local_134[0] != local_20c" (cast_expression "(int *)local_134[0]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_134[0]" (identifier "local_134") ([ "[") (number_literal "0") (] "]"))) (!= "!=") (identifier "local_20c")) () ")")) (compound_statement "{\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" ({ "{") (expression_statement "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0]" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(undefined1 **)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "local_134[0]" (identifier "local_134") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16c786")) (; ";")) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" (identifier "FUN_001e6db0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar8 = ppuVar2;" (assignment_expression "ppuVar8 = ppuVar2" (identifier "ppuVar8") (= "=") (identifier "ppuVar2")) (; ";")) (} "}"))) (expression_statement "ppuVar2 = local_1f0;" (assignment_expression "ppuVar2 = local_1f0" (identifier "ppuVar2") (= "=") (identifier "local_1f0")) (; ";")) (if_statement "if (local_150[0] != local_208) {\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" (if "if") (parenthesized_expression "(local_150[0] != local_208)" (( "(") (binary_expression "local_150[0] != local_208" (subscript_expression "local_150[0]" (identifier "local_150") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "local_208")) () ")")) (compound_statement "{\n    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" ({ "{") (expression_statement "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0]" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(undefined1 **)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "local_150[0]" (identifier "local_150") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16c7a6")) (; ";")) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" (identifier "FUN_001e6db0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar8 = ppuVar2;" (assignment_expression "ppuVar8 = ppuVar2" (identifier "ppuVar8") (= "=") (identifier "ppuVar2")) (; ";")) (} "}"))) (expression_statement "ppuVar2 = local_1f0;" (assignment_expression "ppuVar2 = local_1f0" (identifier "ppuVar2") (= "=") (identifier "local_1f0")) (; ";")) (if_statement "if (local_1cc != local_1fc) {\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" (if "if") (parenthesized_expression "(local_1cc != local_1fc)" (( "(") (binary_expression "local_1cc != local_1fc" (identifier "local_1cc") (!= "!=") (identifier "local_1fc")) () ")")) (compound_statement "{\n    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;\n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;\n    FUN_001e6db0();\n    ppuVar8 = ppuVar2;\n  }" ({ "{") (expression_statement "*(int **)((int)ppppuVar9 + -0x10) = local_1cc;" (assignment_expression "*(int **)((int)ppppuVar9 + -0x10) = local_1cc" (pointer_expression "*(int **)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_1cc")) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16c7c6")) (; ";")) (expression_statement "FUN_001e6db0();" (call_expression "FUN_001e6db0()" (identifier "FUN_001e6db0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "ppuVar8 = ppuVar2;" (assignment_expression "ppuVar8 = ppuVar2" (identifier "ppuVar8") (= "=") (identifier "ppuVar2")) (; ";")) (} "}"))) (if_statement "if (local_1dc != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1dc;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 100;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;\n    FUN_00069d00();\n  }" (if "if") (parenthesized_expression "(local_1dc != 0)" (( "(") (binary_expression "local_1dc != 0" (identifier "local_1dc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(int *)((int)ppppuVar9 + -4) = local_1dc;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 100;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;\n    FUN_00069d00();\n  }" ({ "{") (expression_statement "*(int *)((int)ppppuVar9 + -4) = local_1dc;" (assignment_expression "*(int *)((int)ppppuVar9 + -4) = local_1dc" (pointer_expression "*(int *)((int)ppppuVar9 + -4)" (* "*") (cast_expression "(int *)((int)ppppuVar9 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -4)" (( "(") (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "local_1dc")) (; ";")) (expression_statement "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -8)" (* "*") (cast_expression "(undefined ***)((int)ppppuVar9 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -8)" (( "(") (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_1f0 + -0x3d7a0" (identifier "local_1f0") (+ "+") (number_literal "-0x3d7a0"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 100;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 100" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0xc)" (( "(") (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "100")) (; ";")) (expression_statement "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;" (assignment_expression "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43" (pointer_expression "*(int *)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_1f0 + -0x10ea43" (cast_expression "(int)local_1f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1f0")) (+ "+") (number_literal "-0x10ea43"))) (; ";")) (expression_statement "*(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;" (assignment_expression "*(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb" (pointer_expression "*(undefined1 **)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined1 **)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&LAB_0016cceb" (& "&") (identifier "LAB_0016cceb"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_1d8 != 0) {\n    *(int *)((int)ppppuVar9 + -4) = local_1d8;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;\n    FUN_00069d00();\n  }" (if "if") (parenthesized_expression "(local_1d8 != 0)" (( "(") (binary_expression "local_1d8 != 0" (identifier "local_1d8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(int *)((int)ppppuVar9 + -4) = local_1d8;\n    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;\n    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;\n    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;\n                    \n    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;\n    FUN_00069d00();\n  }" ({ "{") (expression_statement "*(int *)((int)ppppuVar9 + -4) = local_1d8;" (assignment_expression "*(int *)((int)ppppuVar9 + -4) = local_1d8" (pointer_expression "*(int *)((int)ppppuVar9 + -4)" (* "*") (cast_expression "(int *)((int)ppppuVar9 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -4)" (( "(") (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "local_1d8")) (; ";")) (expression_statement "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -8)" (* "*") (cast_expression "(undefined ***)((int)ppppuVar9 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -8)" (( "(") (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_1f0 + -0x3d7a0" (identifier "local_1f0") (+ "+") (number_literal "-0x3d7a0"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0xc)" (( "(") (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x65")) (; ";")) (expression_statement "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;" (assignment_expression "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43" (pointer_expression "*(int *)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_1f0 + -0x10ea43" (cast_expression "(int)local_1f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1f0")) (+ "+") (number_literal "-0x10ea43"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16cccf")) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((local_1d4 == 0) && (local_1d0 == 0)) {\n    return local_200 & 0xff;\n  }" (if "if") (parenthesized_expression "((local_1d4 == 0) && (local_1d0 == 0))" (( "(") (binary_expression "(local_1d4 == 0) && (local_1d0 == 0)" (parenthesized_expression "(local_1d4 == 0)" (( "(") (binary_expression "local_1d4 == 0" (identifier "local_1d4") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_1d0 == 0)" (( "(") (binary_expression "local_1d0 == 0" (identifier "local_1d0") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    return local_200 & 0xff;\n  }" ({ "{") (return_statement "return local_200 & 0xff;" (return "return") (binary_expression "local_200 & 0xff" (identifier "local_200") (& "&") (number_literal "0xff")) (; ";")) (} "}"))) (expression_statement "*(undefined ***)((int)ppppuVar9 + -4) = ppuVar8;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -4) = ppuVar8" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -4)" (* "*") (cast_expression "(undefined ***)((int)ppppuVar9 + -4)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -4)" (( "(") (binary_expression "(int)ppppuVar9 + -4" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "ppuVar8")) (; ";")) (expression_statement "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a3;" (assignment_expression "*(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a3" (pointer_expression "*(undefined ***)((int)ppppuVar9 + -8)" (* "*") (cast_expression "(undefined ***)((int)ppppuVar9 + -8)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((int)ppppuVar9 + -8)" (( "(") (binary_expression "(int)ppppuVar9 + -8" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "local_1f0 + -0x3d7a3" (identifier "local_1f0") (+ "+") (number_literal "-0x3d7a3"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x2c;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0xc) = 0x2c" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0xc)" (( "(") (binary_expression "(int)ppppuVar9 + -0xc" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x2c")) (; ";")) (expression_statement "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;" (assignment_expression "*(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43" (pointer_expression "*(int *)((int)ppppuVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)ppppuVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x10)" (( "(") (binary_expression "(int)ppppuVar9 + -0x10" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)local_1f0 + -0x10ea43" (cast_expression "(int)local_1f0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1f0")) (+ "+") (number_literal "-0x10ea43"))) (; ";")) (expression_statement "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ccb3;" (assignment_expression "*(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ccb3" (pointer_expression "*(undefined4 *)((int)ppppuVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppppuVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppuVar9 + -0x14)" (( "(") (binary_expression "(int)ppppuVar9 + -0x14" (cast_expression "(int)ppppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppuVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x16ccb3")) (; ";")) (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 */

bool __regparm3
gold::read_script_file
          (var_2 *var_9,Command_line *cmdline,Script_options *script_options,int var_23,
          var_24 lex_mode)

{
  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;
  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;
  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_7;
  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_8;
  type_1 *psVar5;
  bool bVar6;
  type_2 uVar7;
  type_3 IVar8;
  type_4 _Var9;
  type_5 uVar10;
  char *pcVar11;
  size_t var_11;
  type_6 pcVar13;
  int var_27;
  type_7 var_18;
  type_8 *__file;
  char var_21;
  type_9 *local_1f4;
  int dummy;
  type_8 dirsearch;
  type_10 name;
  type_10 local_1b4;
  type_10 input_string;
  type_11 lex;
  type_12 input_argument;
  type_13 closure;
  type_14 var_14;
  
  var_5 = &name.field_2;
  pcVar11 = (char *)0xffffffff;
  dirsearch.directories_ = (type_15 *)0x0;
  dirsearch.token_.is_blocker_ = true;
  dirsearch.token_.blockers_ = 0;
  dirsearch.token_.writer_ = (type_16 *)0x0;
  dirsearch.token_.waiting_.head_ = (type_16 *)0x0;
  dirsearch.token_.waiting_.tail_ = (type_16 *)0x0;
  name._M_dataplus._M_p = (type_6)var_5;
  if (var_9 != (char *)0x0) {
    var_11 = var_10(var_9);
    pcVar11 = var_9 + var_11;
  }
                    /* try { // try from 0016c500 to 0016c504 has its CatchHandler @ 0016cd1a */
  std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
  var_12<var_13*>(&name,var_9,pcVar11,0);
  if (*var_9 == '/') goto LAB_0016c511;
  psVar5 = &var_14.found_name_._M_string_length;
  var_14.input_argument_ = (type_12 *)psVar5;
                    /* try { // try from 0016cb2b to 0016cb2f has its CatchHandler @ 0016cd13 */
  std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
  var_12<var_13*>
            ((basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3> *)&var_14,".",""
             ,0);
                    /* try { // try from 0016cb48 to 0016cb4c has its CatchHandler @ 0016ccf2 */
  Dirsearch::var_15
            (&local_1b4,&name,&(cmdline->options_).library_path_.value,(type_10 *)&var_14);
  uVar10 = name.field_2._M_allocated_capacity;
  _Var9 = name._M_dataplus;
  var_6 = &local_1b4.field_2;
  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
       *)local_1b4._M_dataplus._M_p == var_6) {
    name._M_string_length = local_1b4._M_string_length;
    if (local_1b4._M_string_length != 0) {
      if (local_1b4._M_string_length == 1) {
        *name._M_dataplus._M_p = local_1b4.field_2._M_local_buf[0];
        name._M_string_length = local_1b4._M_string_length;
      }
      else {
        var_16(name._M_dataplus._M_p,var_6,local_1b4._M_string_length);
        name._M_string_length = local_1b4._M_string_length;
      }
    }
    name._M_dataplus._M_p[name._M_string_length] = '\0';
  }
  else {
    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
         *)name._M_dataplus._M_p != var_5) {
      name._M_string_length = local_1b4._M_string_length;
      name._M_dataplus._M_p = local_1b4._M_dataplus._M_p;
      name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity;
      if (_Var9._M_p != (type_6)0x0) {
        local_1b4._M_dataplus._M_p = _Var9._M_p;
        local_1b4.field_2._M_allocated_capacity = uVar10;
        goto LAB_0016cbba;
      }
    }
    name.field_2._M_allocated_capacity = local_1b4.field_2._M_allocated_capacity;
    name._M_string_length = local_1b4._M_string_length;
    name._M_dataplus._M_p = local_1b4._M_dataplus._M_p;
    local_1b4._M_dataplus._M_p = (type_6)var_6;
  }
LAB_0016cbba:
  local_1b4._M_string_length = 0;
  *local_1b4._M_dataplus._M_p = '\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
       *)local_1b4._M_dataplus._M_p != &local_1b4.field_2) {
    var_17(local_1b4._M_dataplus._M_p);
  }
  if (var_14.input_argument_ != (type_12 *)psVar5) {
    var_17(var_14.input_argument_);
  }
LAB_0016c511:
  _Var9._M_p = name._M_dataplus._M_p;
  uVar7._0_1_ = (cmdline->position_options_).as_needed_;
  uVar7._1_1_ = (cmdline->position_options_).Bdynamic_;
  var_18 = (cmdline->position_options_).format_enum_;
  bVar6 = (cmdline->position_options_).whole_archive_;
  IVar8 = (cmdline->position_options_).incremental_disposition_;
  if (var_18 == var_19) {
    var_18 = OBJECT_FORMAT_ELF;
  }
  var_6 = &input_argument.name_.field_2;
  pcVar13 = (type_6)0xffffffff;
  input_argument.name_._M_dataplus._M_p = (type_6)var_6;
  if (name._M_dataplus._M_p != (type_6)0x0) {
    var_11 = var_10(name._M_dataplus._M_p);
    pcVar13 = _Var9._M_p + var_11;
  }
                    /* try { // try from 0016c59b to 0016c59f has its CatchHandler @ 0016cd13 */
  std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
  var_12<var_13*>(&input_argument.name_,_Var9._M_p,pcVar13,0);
  var_7 = &input_argument.extra_search_path_.field_2;
  input_argument.type_ = INPUT_FILE_TYPE_FILE;
  input_argument.extra_search_path_._M_dataplus._M_p = (type_6)var_7;
                    /* try { // try from 0016c5d6 to 0016c5da has its CatchHandler @ 0016cceb */
  std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
  var_12<var_13*>(&input_argument.extra_search_path_,"","",0);
  var_14.file_.is_descriptor_opened_ = false;
  var_14.file_.name_._M_dataplus._M_p = (type_6)&var_14.file_.name_.field_2;
  var_14.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left =
       &var_14.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header;
  var_8 = &var_14.found_name_.field_2;
  var_14.file_.saved_views_.
  super__List_base<var_31::File_read::type_19*,_std::var_1<var_31::type_9::type_19*>var_3>._M_impl._M_node.
  super__List_node_base._M_next = (type_17 *)&var_14.file_.saved_views_;
  input_argument.just_symbols_ = false;
  input_argument.arg_serial_ = 0;
  var_14.found_name_._M_string_length = 0;
  var_14.found_name_.field_2._M_local_buf[0] = '\0';
  var_14.file_.name_._M_string_length = 0;
  var_14.file_.name_.field_2._M_local_buf[0] = '\0';
  var_14.file_.descriptor_ = -1;
  var_14.file_.object_count_ = 0;
  var_14.file_.size_._0_4_ = 0;
  var_14.file_.size_._4_4_ = 0;
  var_14.file_.token_.is_blocker_ = false;
  var_14.file_.token_.blockers_ = 0;
  var_14.file_.token_.writer_ = (type_16 *)0x0;
  var_14.file_.token_.waiting_.head_ = (type_16 *)0x0;
  var_14.file_.token_.waiting_.tail_ = (type_16 *)0x0;
  var_14.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;
  var_14.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (type_18)0x0;
  var_14.file_.views_._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;
  __file = &dirsearch;
  var_14.file_.saved_views_.
  super__List_base<var_31::File_read::type_19*,_std::var_1<var_31::type_9::type_19*>var_3>._M_impl._M_node.
  _M_size = 0;
  var_14.file_.mapped_bytes_ = 0;
  var_14.file_.released_ = true;
  var_14.file_.whole_file_view_ = (type_19 *)0x0;
  var_14.is_in_sysroot_ = false;
  var_14.format_ = FORMAT_NONE;
  dummy = 0;
  input_argument.options_._0_2_ = uVar7;
  input_argument.options_.format_enum_ = var_18;
  input_argument.options_.whole_archive_ = bVar6;
  input_argument.options_.incremental_disposition_ = IVar8;
  var_14.input_argument_ = &input_argument;
  var_14.found_name_._M_dataplus._M_p = (type_6)var_8;
  var_14.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_right =
       var_14.file_.views_._M_t._M_impl.super__Rb_tree_header._M_header._M_left;
  var_14.file_.saved_views_.
  super__List_base<var_31::File_read::type_19*,_std::var_1<var_31::type_9::type_19*>var_3>._M_impl._M_node.
  super__List_node_base._M_prev =
       var_14.file_.saved_views_.
       super__List_base<var_31::type_9::type_19*,_std::var_1<var_31::type_9::type_19*>var_3>._M_impl.
       _M_node.super__List_node_base._M_next;
                    /* try { // try from 0016c714 to 0016c718 has its CatchHandler @ 0016cd26 */
  var_27 = type_14::var_20(&var_14,(char *)__file,-1,&dummy);
  var_21 = (char)var_27;
  if (var_21 != '\0') {
    input_string._M_string_length = 0;
    input_string.field_2._M_local_buf[0] = '\0';
    input_string._M_dataplus._M_p = (type_6)&input_string.field_2;
                    /* try { // try from 0016c83e to 0016c842 has its CatchHandler @ 0016ccf9 */
    Lex::var_22(&var_14,&input_string);
    lex.token_.classification_ = TOKEN_INVALID;
    lex.token_.value_ = (char *)0x0;
    lex.input_string_ = input_string._M_dataplus._M_p;
    lex.current_ = input_string._M_dataplus._M_p;
    lex.linestart_ = input_string._M_dataplus._M_p;
    lex.input_length_ = input_string._M_string_length;
    lex.mode_ = lex_mode;
    closure.parsing_defsym_ = var_23 == 3;
    lex.first_token_ = var_23;
    closure.posdep_options_.as_needed_ = (cmdline->position_options_).as_needed_;
    closure.posdep_options_.Bdynamic_ = (cmdline->position_options_).Bdynamic_;
    closure.posdep_options_._2_2_ = *(type_2 *)&(cmdline->position_options_).field_0x2;
    closure.posdep_options_.format_enum_ = (cmdline->position_options_).format_enum_;
    lex.token_.value_length_ = 0;
    closure.posdep_options_.whole_archive_ = (cmdline->position_options_).whole_archive_;
    closure.posdep_options_._9_3_ = *(type_20 *)&(cmdline->position_options_).field_0x9;
    lex.token_.opcode_ = 0;
    closure.posdep_options_.incremental_disposition_ =
         (cmdline->position_options_).incremental_disposition_;
    lex.token_.lineno_ = 0;
    lex.token_.charpos_ = 0;
    closure.is_in_sysroot_ = var_14.is_in_sysroot_;
    lex.lineno_ = 1;
    closure.in_group_ = false;
    closure.skip_on_incompatible_target_ = false;
    closure.found_incompatible_target_ = false;
    closure.version_script_info_ = &script_options->version_script_info_;
    closure.lex_ = &lex;
    closure.lineno_ = 0;
    closure.charpos_ = 0;
    closure.lex_mode_stack_.super__Vector_base<var_31::Lex::var_24,_std::var_1<var_31::Lex::var_24>var_3>.
    _M_impl._M_start = (type_6)0x0;
    closure.lex_mode_stack_.super__Vector_base<var_31::Lex::var_24,_std::var_1<var_31::Lex::var_24>var_3>.
    _M_impl._M_finish = (type_6)0x0;
    closure.lex_mode_stack_.super__Vector_base<var_31::Lex::var_24,_std::var_1<var_31::Lex::var_24>var_3>.
    _M_impl._M_end_of_storage = (type_6)0x0;
    closure.language_stack_.
    super__Vector_base<var_31::Version_script_info::var_25,_std::var_1<var_31::Version_script_info::var_25>var_3>
    ._M_impl._M_start = (type_6)0x0;
    closure.language_stack_.
    super__Vector_base<var_31::Version_script_info::var_25,_std::var_1<var_31::Version_script_info::var_25>var_3>
    ._M_impl._M_finish = (type_6)0x0;
    closure.language_stack_.
    super__Vector_base<var_31::Version_script_info::var_25,_std::var_1<var_31::Version_script_info::var_25>var_3>
    ._M_impl._M_end_of_storage = (type_6)0x0;
    closure.inputs_ = (type_21 *)0x0;
    closure.script_info_ = (type_22 *)0x0;
    local_1b4._M_dataplus._M_p = (type_6)0x0;
    closure.filename_ = var_9;
    closure.command_line_ = cmdline;
    closure.script_options_ = script_options;
                    /* try { // try from 0016c9c7 to 0016c9e6 has its CatchHandler @ 0016cd0c */
    std::
    vector<var_31::Version_script_info::var_25,_std::var_1<var_31::Version_script_info::var_25>var_3>
    ::_M_realloc_insert<var_31::Version_script_info::var_25>
              (&closure.language_stack_,(type_23)0x0,(var_25 *)&local_1b4);
    local_1b4._M_dataplus._M_p = (type_6)lex.mode_;
    std::vector<var_31::Lex::var_24,_std::var_1<var_31::Lex::var_24>var_3>::emplace_back<var_31::Lex::var_24>
              (&closure.lex_mode_stack_,(var_24 *)&local_1b4);
                    /* try { // try from 0016ca02 to 0016ca7c has its CatchHandler @ 0016cd1f */
    var_27 = var_26(&closure);
    if (var_27 == 0) {
      __file = (type_8 *)0xffffffff;
      File_read::var_28(&var_14.file_,(type_16 *)0xffffffff);
      if ((closure.inputs_ != (type_21 *)0x0) &&
         (((closure.inputs_)->input_argument_list_).
          super__Vector_base<var_31::var_29,_std::var_1<var_31::var_29>var_3>._M_impl.
          _M_finish !=
          ((closure.inputs_)->input_argument_list_).
          super__Vector_base<var_31::var_29,_std::var_1<var_31::var_29>var_3>._M_impl.
          _M_start)) {
                    /* WARNING: Subroutine does not return */
        var_30("../../gold/script.cc",0x666,"read_script_file");
      }
    }
    else {
      __file = (type_8 *)0xffffffff;
      File_read::var_28(&var_14.file_,(type_16 *)0xffffffff);
      var_21 = '\0';
    }
    if (closure.language_stack_.
        super__Vector_base<var_31::Version_script_info::var_25,_std::var_1<var_31::Version_script_info::var_25>var_3>
        ._M_impl._M_start != (type_6)0x0) {
      var_17(closure.language_stack_.
                      super__Vector_base<var_31::Version_script_info::var_25,_std::var_1<var_31::Version_script_info::var_25>var_3>
                      ._M_impl._M_start);
    }
    if (closure.lex_mode_stack_.
        super__Vector_base<var_31::type_11::var_24,_std::var_1<var_31::type_11::var_24>var_3>._M_impl._M_start !=
        (type_6)0x0) {
      var_17(closure.lex_mode_stack_.
                      super__Vector_base<var_31::type_11::var_24,_std::var_1<var_31::type_11::var_24>var_3>._M_impl.
                      _M_start);
    }
    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
         *)input_string._M_dataplus._M_p != &input_string.field_2) {
      var_17(input_string._M_dataplus._M_p);
    }
  }
  local_1f4 = &var_14.file_;
  File_read::~type_9(local_1f4,(int)__file);
  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_14.found_name_._M_dataplus._M_p != var_8) {
    var_17(var_14.found_name_._M_dataplus._M_p);
  }
  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
       *)input_argument.extra_search_path_._M_dataplus._M_p != var_7) {
    var_17(input_argument.extra_search_path_._M_dataplus._M_p);
  }
  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
       *)input_argument.name_._M_dataplus._M_p != var_6) {
    var_17(input_argument.name_._M_dataplus._M_p);
  }
  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
       *)name._M_dataplus._M_p != var_5) {
    var_17(name._M_dataplus._M_p);
  }
  if (dirsearch.token_.blockers_ != 0) {
                    /* WARNING: Subroutine does not return */
    var_30("../../gold/token.h",100,"~Task_token");
  }
  if (dirsearch.token_.writer_ != (type_16 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_30("../../gold/token.h",0x65,"~Task_token");
  }
  if ((dirsearch.token_.waiting_.head_ == (type_16 *)0x0) &&
     (dirsearch.token_.waiting_.tail_ == (type_16 *)0x0)) {
    return (bool)var_21;
  }
                    /* WARNING: Subroutine does not return */
  var_30("../../gold/token.h",0x2c,"~Task_list");
}


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

uint __regparm3 MASKED(char *param_1,int param_2,int param_3,int param_4,int *param_5)

{
  char *pcVar1;
  undefined **ppuVar2;
  char cVar3;
  char *pcVar4;
  size_t sVar5;
  undefined1 *puVar6;
  int *piVar7;
  undefined **ppuVar8;
  undefined1 ****ppppuVar9;
  int iVar10;
  undefined1 ***pppuStack_220;
  undefined1 auStack_21c [4];
  undefined1 *local_218;
  undefined1 **local_214;
  int local_210;
  int *local_20c;
  undefined1 *local_208;
  undefined1 *local_204;
  uint local_200;
  int *local_1fc;
  char *local_1f8;
  undefined1 **local_1f4;
  undefined **local_1f0;
  undefined4 local_1e8;
  undefined4 local_1e4;
  undefined1 local_1e0;
  int local_1dc;
  int local_1d8;
  int local_1d4;
  int local_1d0;
  int *local_1cc;
  size_t local_1c8;
  int local_1c4 [4];
  int *local_1b4;
  size_t local_1b0;
  int local_1ac [4];
  undefined1 *local_19c;
  undefined4 local_198;
  undefined1 local_194 [16];
  undefined1 *local_184;
  undefined4 local_180;
  undefined1 *local_17c;
  int *local_178;
  int local_174;
  undefined4 local_170;
  undefined4 local_16c;
  undefined4 local_168;
  undefined4 local_164;
  undefined4 local_160;
  undefined4 local_15c;
  undefined4 local_158;
  undefined1 *local_154;
  undefined1 *local_150 [2];
  undefined1 local_148 [16];
  undefined4 local_138;
  undefined1 *local_134 [2];
  undefined1 local_12c [16];
  undefined1 local_11c;
  undefined2 local_118;
  int local_114;
  undefined1 local_110;
  undefined4 local_10c;
  undefined4 local_108;
  char *local_104;
  undefined4 local_100;
  undefined4 local_fc;
  undefined4 local_f8;
  undefined4 local_f4;
  undefined1 local_f0;
  undefined1 local_ef;
  undefined1 local_ee;
  undefined2 local_ed;
  int local_e8;
  int local_e4;
  int local_e0;
  undefined1 **local_dc;
  undefined4 local_d8;
  undefined4 local_d4;
  int local_d0 [6];
  int *local_b8;
  undefined4 local_b4;
  undefined1 **local_b0;
  undefined1 *local_ac;
  undefined1 *local_a8;
  undefined1 local_a4 [16];
  undefined1 *local_94;
  undefined4 local_90;
  undefined1 local_8c [16];
  undefined4 local_7c;
  undefined1 local_78;
  undefined4 local_74;
  undefined4 local_70;
  undefined4 local_6c;
  undefined1 local_68;
  undefined4 local_64;
  undefined4 local_60;
  undefined4 local_5c;
  undefined4 local_58;
  undefined4 local_50;
  undefined4 local_4c;
  undefined4 *local_48;
  undefined4 *local_44;
  undefined4 local_40;
  undefined4 ****local_3c;
  undefined4 ****local_38;
  undefined4 local_34;
  undefined4 local_30;
  undefined1 local_2c;
  undefined4 local_28;
  undefined1 local_24;
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x16c46f;
  local_1f0 = &__DT_PLTGOT;
  local_1fc = local_1c4;
  pcVar4 = (char *)0xffffffff;
  local_1e4 = 0;
  local_1e0 = 1;
  local_1dc = 0;
  local_1d8 = 0;
  local_1d4 = 0;
  local_1d0 = 0;
  local_210 = param_3;
  local_1f8 = param_1;
  local_1cc = local_1fc;
  if (param_1 != (char *)0x0) {
    sVar5 = strlen(param_1);
    pcVar4 = param_1 + sVar5;
  }
  pcVar1 = local_1f8;
  pppuStack_220 = (undefined1 ***)0x0;
                    /* try { // try from 0016c500 to 0016c504 has its CatchHandler @ 0016cd1a */
  FUN_00050e40(&local_1cc,local_1f8,pcVar4);
  ppppuVar9 = (undefined1 ****)auStack_21c;
  if (*pcVar1 == '/') goto LAB_0016c511;
  local_200 = param_2 + 0x2188;
  pppuStack_220 = (undefined1 ***)0x0;
  local_1f4 = &local_a8;
  local_b0 = local_1f4;
                    /* try { // try from 0016cb2b to 0016cb2f has its CatchHandler @ 0016cd13 */
  FUN_00050e40(&local_b0,(int)local_1f0 + -0x1013b5,local_1f0 + -0x404ed);
  pppuStack_220 = &local_b0;
                    /* try { // try from 0016cb48 to 0016cb4c has its CatchHandler @ 0016ccf2 */
  FUN_001a2000(&local_1b4,&local_1cc,local_200);
  iVar10 = local_1c4[0];
  piVar7 = local_1cc;
  if (local_1b4 == local_1ac) {
    local_1c8 = local_1b0;
    if (local_1b0 != 0) {
      if (local_1b0 == 1) {
        *(undefined1 *)local_1cc = (undefined1)local_1ac[0];
        local_1c8 = local_1b0;
      }
      else {
        memcpy(local_1cc,local_1ac,local_1b0);
        local_1c8 = local_1b0;
      }
    }
    *(undefined1 *)((int)local_1cc + local_1c8) = 0;
  }
  else {
    local_200 = local_1ac[0];
    if (local_1cc != local_1fc) {
      local_1c8 = local_1b0;
      local_1cc = local_1b4;
      local_1c4[0] = local_1ac[0];
      if (piVar7 != (int *)0x0) {
        local_1b4 = piVar7;
        local_1ac[0] = iVar10;
        goto LAB_0016cbba;
      }
    }
    local_1c4[0] = local_1ac[0];
    local_1c8 = local_1b0;
    local_1cc = local_1b4;
    local_1b4 = local_1ac;
  }
LAB_0016cbba:
  local_1b0 = 0;
  *(undefined1 *)local_1b4 = 0;
  if (local_1b4 != local_1ac) {
    FUN_001e6db0(local_1b4);
  }
  ppppuVar9 = &pppuStack_220;
  if (local_b0 != local_1f4) {
    FUN_001e6db0(local_b0);
    ppppuVar9 = &pppuStack_220;
  }
LAB_0016c511:
  iVar10 = *(int *)(param_2 + 0x5a94);
  local_1f4 = (undefined1 **)CONCAT22(local_1f4._2_2_,*(undefined2 *)(param_2 + 0x5a90));
  local_204 = (undefined1 *)CONCAT31(local_204._1_3_,*(undefined1 *)(param_2 + 0x5a98));
  local_200 = *(undefined4 *)(param_2 + 0x5a9c);
  if (iVar10 == 1) {
    iVar10 = 0;
  }
  local_208 = local_148;
  puVar6 = (undefined1 *)0xffffffff;
  piVar7 = local_1cc;
  local_150[0] = local_208;
  if (local_1cc != (int *)0x0) {
    local_20c = local_1cc;
    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c57f;
    sVar5 = strlen(*(char **)((int)ppppuVar9 + -0x10));
    puVar6 = (undefined1 *)(sVar5 + (int)local_20c);
    piVar7 = local_20c;
  }
  *(undefined4 *)((int)ppppuVar9 + -4) = 0;
  *(undefined1 **)((int)ppppuVar9 + -8) = puVar6;
  *(int **)((int)ppppuVar9 + -0xc) = piVar7;
  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_150;
                    /* try { // try from 0016c59b to 0016c59f has its CatchHandler @ 0016cd13 */
  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5a0;
  local_214 = local_150;
  FUN_00050e40();
  local_20c = (int *)local_12c;
  local_138 = 0;
  *(undefined4 *)((int)ppppuVar9 + -4) = 0;
  *(int *)((int)ppppuVar9 + -8) = (int)local_1f0 + -0xf11ea;
  *(int *)((int)ppppuVar9 + -0xc) = (int)local_1f0 + -0xf11ea;
  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_134;
                    /* try { // try from 0016c5d6 to 0016c5da has its CatchHandler @ 0016cceb */
  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c5db;
  local_134[0] = (undefined1 *)local_20c;
  FUN_00050e40();
  local_78 = 0;
  local_110 = local_204._0_1_;
  local_94 = local_8c;
  local_48 = &local_50;
  local_10c = local_200;
  local_204 = local_a4;
  local_3c = &local_3c;
  local_11c = 0;
  local_118 = local_1f4._0_2_;
  local_108 = 0;
  local_a8 = (undefined1 *)0x0;
  local_a4[0] = 0;
  local_90 = 0;
  local_8c[0] = 0;
  local_7c = 0xffffffff;
  local_74 = 0;
  local_70 = 0;
  local_6c = 0;
  local_68 = 0;
  local_64 = 0;
  local_60 = 0;
  local_5c = 0;
  local_58 = 0;
  local_50 = 0;
  local_4c = 0;
  local_40 = 0;
  *(undefined4 **)((int)ppppuVar9 + -4) = &local_1e8;
  *(undefined4 *)((int)ppppuVar9 + -8) = 0xffffffff;
  *(undefined4 **)((int)ppppuVar9 + -0xc) = &local_1e4;
  *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;
  local_34 = 0;
  local_30 = 0;
  local_2c = 1;
  local_28 = 0;
  local_24 = 0;
  local_20 = 0;
  local_1e8 = 0;
                    /* try { // try from 0016c714 to 0016c718 has its CatchHandler @ 0016cd26 */
  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c719;
  local_114 = iVar10;
  local_b0 = local_150;
  local_ac = local_204;
  local_44 = local_48;
  local_38 = local_3c;
  cVar3 = FUN_00069870();
  local_1f4 = &local_94;
  local_200 = CONCAT31(local_200._1_3_,cVar3);
  if (cVar3 != '\0') {
    local_218 = local_194;
    local_198 = 0;
    *(undefined1 ***)((int)ppppuVar9 + -0xc) = &local_19c;
    *(undefined1 ****)((int)ppppuVar9 + -0x10) = &local_b0;
    local_194[0] = 0;
                    /* try { // try from 0016c83e to 0016c842 has its CatchHandler @ 0016ccf9 */
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c843;
    local_19c = local_218;
    FUN_00168e00();
    local_170 = 0;
    local_16c = 0;
    local_184 = local_19c;
    local_17c = local_19c;
    local_154 = local_19c;
    local_180 = local_198;
    local_178 = param_5;
    local_f0 = param_4 == 3;
    local_174 = param_4;
    local_104 = local_1f8;
    local_100 = *(undefined4 *)(param_2 + 0x5a90);
    local_fc = *(undefined4 *)(param_2 + 0x5a94);
    local_168 = 0;
    local_f8 = *(undefined4 *)(param_2 + 0x5a98);
    local_164 = 0;
    local_f4 = *(undefined4 *)(param_2 + 0x5a9c);
    local_160 = 0;
    local_15c = 0;
    local_ee = local_24;
    local_158 = 1;
    local_ef = 0;
    local_ed = 0;
    *(int ***)((int)ppppuVar9 + -8) = &local_1b4;
    local_e4 = local_210;
    local_e0 = local_210 + 0x68;
    local_dc = &local_184;
    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0;
    *(int **)((int)ppppuVar9 + -0x10) = local_d0 + 3;
    local_d8 = 0;
    local_d4 = 0;
    local_d0[0] = 0;
    local_d0[1] = 0;
    local_d0[2] = 0;
    local_d0[3] = 0;
    local_d0[4] = 0;
    local_d0[5] = 0;
    local_b8 = (int *)0x0;
    local_b4 = 0;
    local_1b4 = (int *)0x0;
                    /* try { // try from 0016c9c7 to 0016c9e6 has its CatchHandler @ 0016cd0c */
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9cc;
    local_e8 = param_2;
    FUN_0016f460();
    *(int ***)((int)ppppuVar9 + -0xc) = &local_1b4;
    local_1b4 = local_178;
    *(int **)((int)ppppuVar9 + -0x10) = local_d0;
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c9e7;
    FUN_0016f700();
    local_1f4 = &local_94;
    *(char ***)((int)ppppuVar9 + -0x10) = &local_104;
                    /* try { // try from 0016ca02 to 0016ca7c has its CatchHandler @ 0016cd1f */
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca07;
    iVar10 = FUN_00191d40();
    ppuVar8 = local_1f0;
    if (iVar10 == 0) {
      local_1f4 = &local_94;
      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;
      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;
      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca31;
      FUN_000679d0();
      if ((local_b8 != (int *)0x0) && (local_b8[1] != *local_b8)) {
        *(undefined ***)((int)ppppuVar9 + -8) = ppuVar8 + -0x3d79d;
        *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x666;
        *(undefined ***)((int)ppppuVar9 + -0x10) = ppuVar8 + -0x3dbb5;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca60;
        FUN_00069d00();
      }
    }
    else {
      local_1f4 = &local_94;
      *(undefined4 *)((int)ppppuVar9 + -0xc) = 0xffffffff;
      *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;
      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ca7d;
      FUN_000679d0();
      local_200 = local_200 & 0xffffff00;
    }
    if (local_d0[3] != 0) {
      *(int *)((int)ppppuVar9 + -0x10) = local_d0[3];
      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16caa0;
      FUN_001e6db0();
    }
    if (local_d0[0] != 0) {
      *(int *)((int)ppppuVar9 + -0x10) = local_d0[0];
      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cabc;
      FUN_001e6db0();
    }
    if (local_19c != local_218) {
      *(undefined1 **)((int)ppppuVar9 + -0x10) = local_19c;
      *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cae0;
      FUN_001e6db0();
    }
  }
  ppuVar8 = local_1f0;
  *(undefined1 ***)((int)ppppuVar9 + -0x10) = local_1f4;
  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c74c;
  FUN_00067cc0();
  if (local_ac != local_204) {
    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_ac;
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c766;
    FUN_001e6db0();
  }
  ppuVar2 = local_1f0;
  if ((int *)local_134[0] != local_20c) {
    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_134[0];
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c786;
    FUN_001e6db0();
    ppuVar8 = ppuVar2;
  }
  ppuVar2 = local_1f0;
  if (local_150[0] != local_208) {
    *(undefined1 **)((int)ppppuVar9 + -0x10) = local_150[0];
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7a6;
    FUN_001e6db0();
    ppuVar8 = ppuVar2;
  }
  ppuVar2 = local_1f0;
  if (local_1cc != local_1fc) {
    *(int **)((int)ppppuVar9 + -0x10) = local_1cc;
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16c7c6;
    FUN_001e6db0();
    ppuVar8 = ppuVar2;
  }
  if (local_1dc != 0) {
    *(int *)((int)ppppuVar9 + -4) = local_1dc;
    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;
    *(undefined4 *)((int)ppppuVar9 + -0xc) = 100;
    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;
                    /* WARNING: Subroutine does not return */
    *(undefined1 **)((int)ppppuVar9 + -0x14) = &LAB_0016cceb;
    FUN_00069d00();
  }
  if (local_1d8 != 0) {
    *(int *)((int)ppppuVar9 + -4) = local_1d8;
    *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a0;
    *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x65;
    *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16cccf;
    FUN_00069d00();
  }
  if ((local_1d4 == 0) && (local_1d0 == 0)) {
    return local_200 & 0xff;
  }
  *(undefined ***)((int)ppppuVar9 + -4) = ppuVar8;
  *(undefined ***)((int)ppppuVar9 + -8) = local_1f0 + -0x3d7a3;
  *(undefined4 *)((int)ppppuVar9 + -0xc) = 0x2c;
  *(int *)((int)ppppuVar9 + -0x10) = (int)local_1f0 + -0x10ea43;
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)((int)ppppuVar9 + -0x14) = 0x16ccb3;
  FUN_00069d00();
}

