
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: ld_plugin_status add_input_file(Plugin_manager * this, char * pathname,
   bool is_lib) */

ld_plugin_status __thiscall
gold::Plugin_manager::add_input_file(Plugin_manager *this,char *pathname,bool is_lib)

{
  General_options *this_00;
  Workqueue *this_01;
  Dirsearch *pDVar1;
  Layout *pLVar2;
  Task_token *pTVar3;
  Mapfile *pMVar4;
  Symbol_table *pSVar5;
  Input_objects *pIVar6;
  Parameters *this_02;
  Input_file_type IVar7;
  bool bVar8;
  size_t sVar9;
  undefined1 *puVar10;
  Task_token *pTVar11;
  Task *t;
  char *pcVar12;
  char *pcVar13;
  Input_file_type local_100;
  Input_file_argument file;
  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_98;
  Input_file_type local_78;
  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_70;
  undefined1 local_50;
  undefined8 local_4c;
  undefined8 uStack_44;
  uint local_3c;
  
  this_00 = this->options_;
  if (is_lib) {
    pcVar12 = (this->extra_search_path_)._M_dataplus._M_p;
    local_100 = INPUT_FILE_TYPE_LIBRARY;
    pcVar13 = (char *)0xffffffffffffffff;
    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;
    IVar7 = INPUT_FILE_TYPE_LIBRARY;
    if (pathname != (char *)0x0) goto LAB_0024f1b3;
  }
  else {
    pcVar12 = "";
    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;
    IVar7 = INPUT_FILE_TYPE_FILE;
    if (pathname == (char *)0x0) {
      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
      _M_construct<char_const*>(&file.name_,0,0xffffffffffffffff);
      file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;
      file.type_ = INPUT_FILE_TYPE_FILE;
      pcVar13 = "";
      goto LAB_0024f1f5;
    }
LAB_0024f1b3:
    local_100 = IVar7;
    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;
    sVar9 = strlen(pathname);
    pcVar13 = pathname + sVar9;
  }
  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
  _M_construct<char_const*>(&file.name_,pathname,pcVar13);
  pcVar13 = (char *)0xffffffffffffffff;
  file.type_ = local_100;
  file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;
  if (pcVar12 != (char *)0x0) {
    sVar9 = strlen(pcVar12);
    pcVar13 = pcVar12 + sVar9;
  }
LAB_0024f1f5:
                    /* try { // try from 0024f1fd to 0024f201 has its CatchHandler @ 0024f543 */
  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
  _M_construct<char_const*>(&file.extra_search_path_,pcVar12,pcVar13);
  file.options_.as_needed_ = (this_00->as_needed_).value;
  file.just_symbols_ = false;
  file.options_.Bdynamic_ = (this_00->Bdynamic_).value;
                    /* try { // try from 0024f220 to 0024f224 has its CatchHandler @ 0024f573 */
  file.options_.format_enum_ = General_options::format_enum(this_00);
  file.arg_serial_ = 0;
  file.options_.whole_archive_ = (this_00->whole_archive_).value;
  file.options_.incremental_disposition_ = this_00->incremental_disposition_;
  local_98._M_dataplus._M_p = (pointer)&local_98.field_2;
                    /* try { // try from 0024f264 to 0024f268 has its CatchHandler @ 0024f56b */
  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
  _M_construct<char*>(&local_98,file.name_._M_dataplus._M_p,
                      file.name_._M_dataplus._M_p + file.name_._M_string_length);
  local_78 = file.type_;
  local_70._M_dataplus._M_p = (pointer)&local_70.field_2;
                    /* try { // try from 0024f291 to 0024f295 has its CatchHandler @ 0024f563 */
  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
  _M_construct<char*>(&local_70,file.extra_search_path_._M_dataplus._M_p,
                      file.extra_search_path_._M_dataplus._M_p +
                      file.extra_search_path_._M_string_length);
  local_4c = CONCAT44(file.options_.format_enum_,
                      CONCAT22(file.options_._2_2_,
                               CONCAT11(file.options_.Bdynamic_,file.options_.as_needed_)));
  uStack_44 = CONCAT44(file.options_.incremental_disposition_,file.options_._8_4_);
  local_50 = file.just_symbols_;
  local_3c = file.arg_serial_;
                    /* try { // try from 0024f2c0 to 0024f2c4 has its CatchHandler @ 0024f55b */
  puVar10 = (undefined1 *)operator_new(0x80);
  *puVar10 = 1;
  *(undefined1 **)(puVar10 + 8) = puVar10 + 0x18;
                    /* try { // try from 0024f2e9 to 0024f2ed has its CatchHandler @ 0024f553 */
  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
  _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)
                      (puVar10 + 8),local_98._M_dataplus._M_p,
                      local_98._M_dataplus._M_p + local_98._M_string_length);
  *(Input_file_type *)(puVar10 + 0x28) = local_78;
  *(undefined1 **)(puVar10 + 0x30) = puVar10 + 0x40;
                    /* try { // try from 0024f317 to 0024f31b has its CatchHandler @ 0024f54b */
  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
  _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)
                      (puVar10 + 0x30),local_70._M_dataplus._M_p,
                      local_70._M_dataplus._M_p + local_70._M_string_length);
  *(undefined8 *)(puVar10 + 0x68) = 0;
  *(undefined8 *)(puVar10 + 0x70) = 0;
  puVar10[0x50] = local_50;
  *(undefined8 *)(puVar10 + 0x54) = local_4c;
  *(undefined8 *)(puVar10 + 0x5c) = uStack_44;
  *(uint *)(puVar10 + 100) = local_3c;
  *(undefined8 *)(puVar10 + 0x78) = 0;
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)local_70._M_dataplus._M_p != &local_70.field_2) {
    operator_delete(local_70._M_dataplus._M_p);
  }
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)local_98._M_dataplus._M_p != &local_98.field_2) {
    operator_delete(local_98._M_dataplus._M_p);
  }
                    /* try { // try from 0024f384 to 0024f486 has its CatchHandler @ 0024f56b */
  pTVar11 = (Task_token *)operator_new(0x20);
  pTVar11->is_blocker_ = true;
  this_02 = parameters;
  pTVar11->writer_ = (Task *)0x0;
  (pTVar11->waiting_).head_ = (Task *)0x0;
  (pTVar11->waiting_).tail_ = (Task *)0x0;
  pTVar11->blockers_ = 1;
  bVar8 = Parameters::incremental(this_02);
  if (bVar8) {
    pcVar12 = (char *)gettext(
                             "input files added by plug-ins in --incremental mode not supported yet"
                             );
                    /* try { // try from 0024f539 to 0024f53d has its CatchHandler @ 0024f56b */
    gold_error(pcVar12);
  }
  if (this->recorder_ != (Plugin_recorder *)0x0) {
    Plugin_recorder::replacement_file(this->recorder_,pathname,is_lib);
  }
  this_01 = this->workqueue_;
  t = (Task *)operator_new(0x90);
  pDVar1 = this->dirpath_;
  pLVar2 = this->layout_;
  pTVar3 = this->this_blocker_;
  pMVar4 = this->mapfile_;
  t->list_next_ = (Task *)0x0;
  pSVar5 = this->symtab_;
  pIVar6 = this->input_objects_;
  t[1].name_._M_dataplus._M_p = (pointer)pLVar2;
  t[1].name_._M_string_length = (size_type)pDVar1;
  (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;
  (t->name_)._M_string_length = 0;
  (t->name_).field_2._M_local_buf[0] = '\0';
  t->should_run_soon_ = false;
  t->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_00447b60;
  t[1]._vptr_Task = (_func_int_varargs **)pIVar6;
  t[1].list_next_ = (Task *)pSVar5;
  *(undefined4 *)&t[1].name_.field_2 = 0;
  *(Mapfile **)((long)&t[1].name_.field_2 + 8) = pMVar4;
  *(undefined1 **)&t[1].should_run_soon_ = puVar10;
  t[2]._vptr_Task = (_func_int_varargs **)0x0;
  t[2].list_next_ = (Task *)0x0;
  t[2].name_._M_dataplus._M_p = &pTVar3->is_blocker_;
  t[2].name_._M_string_length = (size_type)pTVar11;
  Workqueue::queue_soon(this_01,t);
  this->this_blocker_ = pTVar11;
  this->any_added_ = true;
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {
    operator_delete(file.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
       *)file.name_._M_dataplus._M_p != &file.name_.field_2) {
    operator_delete(file.name_._M_dataplus._M_p);
  }
  return LDPS_OK;
}



undefined8 FUN_0024f160(long param_1,char *param_2,char param_3)

{
  long lVar1;
  undefined8 uVar2;
  undefined8 uVar3;
  undefined8 uVar4;
  undefined8 uVar5;
  undefined8 uVar6;
  undefined8 uVar7;
  undefined *puVar8;
  undefined4 uVar9;
  char cVar10;
  size_t sVar11;
  undefined1 *puVar12;
  undefined1 *puVar13;
  undefined8 *puVar14;
  undefined8 uVar15;
  char *pcVar16;
  char *__s;
  undefined4 local_100;
  undefined1 *local_f8;
  long local_f0;
  undefined1 local_e8 [16];
  undefined4 local_d8;
  undefined1 *local_d0;
  long local_c8;
  undefined1 local_c0 [16];
  undefined1 local_b0;
  undefined1 local_ac;
  undefined1 uStack_ab;
  undefined2 uStack_aa;
  undefined4 uStack_a8;
  undefined4 uStack_a4;
  undefined4 uStack_a0;
  undefined4 local_9c;
  undefined1 *local_98;
  long local_90;
  undefined1 local_88 [16];
  undefined4 local_78;
  undefined1 *local_70;
  long local_68;
  undefined1 local_60 [16];
  undefined1 local_50;
  undefined8 local_4c;
  undefined8 uStack_44;
  undefined4 local_3c;
  
  lVar1 = *(long *)(param_1 + 0xb8);
  if (param_3 == '\0') {
    __s = "";
    local_f8 = local_e8;
    uVar9 = 0;
    if (param_2 == (char *)0x0) {
      FUN_00174550(&local_f8,0,0xffffffffffffffff);
      local_d0 = local_c0;
      local_d8 = 0;
      pcVar16 = "";
      goto LAB_0024f1f5;
    }
LAB_0024f1b3:
    local_100 = uVar9;
    local_f8 = local_e8;
    sVar11 = strlen(param_2);
    pcVar16 = param_2 + sVar11;
  }
  else {
    __s = *(char **)(param_1 + 0x100);
    local_100 = 1;
    pcVar16 = (char *)0xffffffffffffffff;
    local_f8 = local_e8;
    uVar9 = 1;
    if (param_2 != (char *)0x0) goto LAB_0024f1b3;
  }
  FUN_00174550(&local_f8,param_2,pcVar16);
  pcVar16 = (char *)0xffffffffffffffff;
  local_d8 = local_100;
  local_d0 = local_c0;
  if (__s != (char *)0x0) {
    sVar11 = strlen(__s);
    pcVar16 = __s + sVar11;
  }
LAB_0024f1f5:
                    /* try { // try from 0024f1fd to 0024f201 has its CatchHandler @ 0024f543 */
  FUN_00174550(&local_d0,__s,pcVar16);
  local_ac = *(undefined1 *)(lVar1 + 0x4c9);
  local_b0 = 0;
  uStack_ab = *(undefined1 *)(lVar1 + 0x889);
                    /* try { // try from 0024f220 to 0024f224 has its CatchHandler @ 0024f573 */
  uStack_a8 = FUN_001fbc10(lVar1);
  local_9c = 0;
  uStack_a4 = CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801));
  uStack_a0 = *(undefined4 *)(lVar1 + 0x91f0);
  local_98 = local_88;
                    /* try { // try from 0024f264 to 0024f268 has its CatchHandler @ 0024f56b */
  FUN_0017d640(&local_98,local_f8,local_f8 + local_f0);
  local_78 = local_d8;
  local_70 = local_60;
                    /* try { // try from 0024f291 to 0024f295 has its CatchHandler @ 0024f563 */
  FUN_0017d640(&local_70,local_d0,local_d0 + local_c8);
  local_4c = CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)));
  uStack_44 = CONCAT44(uStack_a0,uStack_a4);
  local_50 = local_b0;
  local_3c = local_9c;
                    /* try { // try from 0024f2c0 to 0024f2c4 has its CatchHandler @ 0024f55b */
  puVar12 = (undefined1 *)FUN_002f0690(0x80);
  *puVar12 = 1;
  *(undefined1 **)(puVar12 + 8) = puVar12 + 0x18;
                    /* try { // try from 0024f2e9 to 0024f2ed has its CatchHandler @ 0024f553 */
  FUN_0017d640(puVar12 + 8,local_98,local_98 + local_90);
  *(undefined4 *)(puVar12 + 0x28) = local_78;
  *(undefined1 **)(puVar12 + 0x30) = puVar12 + 0x40;
                    /* try { // try from 0024f317 to 0024f31b has its CatchHandler @ 0024f54b */
  FUN_0017d640(puVar12 + 0x30,local_70,local_70 + local_68);
  *(undefined8 *)(puVar12 + 0x68) = 0;
  *(undefined8 *)(puVar12 + 0x70) = 0;
  puVar12[0x50] = local_50;
  *(undefined8 *)(puVar12 + 0x54) = local_4c;
  *(undefined8 *)(puVar12 + 0x5c) = uStack_44;
  *(undefined4 *)(puVar12 + 100) = local_3c;
  *(undefined8 *)(puVar12 + 0x78) = 0;
  if (local_70 != local_60) {
    FUN_002f1e60();
  }
  if (local_98 != local_88) {
    FUN_002f1e60();
  }
                    /* try { // try from 0024f384 to 0024f486 has its CatchHandler @ 0024f56b */
  puVar13 = (undefined1 *)FUN_002f0690(0x20);
  *puVar13 = 1;
  puVar8 = PTR_DAT_0045c708;
  *(undefined8 *)(puVar13 + 8) = 0;
  *(undefined8 *)(puVar13 + 0x10) = 0;
  *(undefined8 *)(puVar13 + 0x18) = 0;
  *(undefined4 *)(puVar13 + 4) = 1;
  cVar10 = FUN_0024b600(puVar8);
  if (cVar10 != '\0') {
    uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");
                    /* try { // try from 0024f539 to 0024f53d has its CatchHandler @ 0024f56b */
    FUN_001878b0(uVar15);
  }
  if (*(long *)(param_1 + 0x180) != 0) {
    FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);
  }
  uVar15 = *(undefined8 *)(param_1 + 0xc0);
  puVar14 = (undefined8 *)FUN_002f0690(0x90);
  uVar2 = *(undefined8 *)(param_1 + 0xe8);
  uVar3 = *(undefined8 *)(param_1 + 0xe0);
  uVar4 = *(undefined8 *)(param_1 + 0xf8);
  uVar5 = *(undefined8 *)(param_1 + 0xf0);
  puVar14[1] = 0;
  uVar6 = *(undefined8 *)(param_1 + 0xd8);
  uVar7 = *(undefined8 *)(param_1 + 0xd0);
  puVar14[9] = uVar3;
  puVar14[10] = uVar2;
  puVar14[2] = puVar14 + 4;
  puVar14[3] = 0;
  *(undefined1 *)(puVar14 + 4) = 0;
  *(undefined1 *)(puVar14 + 6) = 0;
  *puVar14 = &PTR_FUN_00447b60;
  puVar14[7] = uVar7;
  puVar14[8] = uVar6;
  *(undefined4 *)(puVar14 + 0xb) = 0;
  puVar14[0xc] = uVar5;
  puVar14[0xd] = puVar12;
  puVar14[0xe] = 0;
  puVar14[0xf] = 0;
  puVar14[0x10] = uVar4;
  puVar14[0x11] = puVar13;
  FUN_0029da60(uVar15,puVar14);
  *(undefined1 **)(param_1 + 0xf8) = puVar13;
  *(undefined1 *)(param_1 + 0xb2) = 1;
  if (local_d0 != local_c0) {
    FUN_002f1e60();
  }
  if (local_f8 != local_e8) {
    FUN_002f1e60();
  }
  return 0;
}


PUSH R15
MOV R15D,EDX
PUSH R14
MOV R14,RSI
PUSH R13
PUSH R12
PUSH RBP
MOV RBP,RDI
PUSH RBX
SUB RSP,0xd8
MOV RBX,qword ptr [RDI + 0xb8]
TEST DL,DL
JZ 0x0024f4d0
LEA R12,[RSP + 0x10]
MOV R13,qword ptr [RDI + 0x100]
MOV dword ptr [RSP + 0x8],0x1
MOV RDX,-0x1
LEA RAX,[R12 + 0x10]
MOV qword ptr [RSP + 0x10],RAX
TEST RSI,RSI
JZ 0x0024f1bf
MOV RDI,R14
CALL 0x00149490
LEA RDX,[R14 + RAX*0x1]
MOV RSI,R14
MOV RDI,R12
CALL 0x00174550
MOV EAX,dword ptr [RSP + 0x8]
MOV RDX,-0x1
MOV dword ptr [RSP + 0x30],EAX
LEA RAX,[R12 + 0x38]
MOV qword ptr [RSP + 0x38],RAX
TEST R13,R13
JZ 0x0024f1f5
MOV RDI,R13
CALL 0x00149490
LEA RDX,[R13 + RAX*0x1]
LEA RDI,[R12 + 0x28]
MOV RSI,R13
CALL 0x00174550
MOVZX EAX,byte ptr [RBX + 0x4c9]
MOV RDI,RBX
MOV byte ptr [RSP + 0x58],0x0
MOV byte ptr [RSP + 0x5c],AL
MOVZX EAX,byte ptr [RBX + 0x889]
MOV byte ptr [RSP + 0x5d],AL
CALL 0x001fbc10
MOV dword ptr [RSP + 0x60],EAX
MOV RSI,qword ptr [RSP + 0x10]
LEA R13,[RSP + 0x70]
MOVZX EAX,byte ptr [RBX + 0x7801]
MOV RDX,qword ptr [RSP + 0x18]
MOV RDI,R13
MOV dword ptr [RSP + 0x6c],0x0
MOV byte ptr [RSP + 0x64],AL
MOV EAX,dword ptr [RBX + 0x91f0]
ADD RDX,RSI
MOV dword ptr [RSP + 0x68],EAX
LEA RAX,[R13 + 0x10]
MOV qword ptr [RSP + 0x70],RAX
CALL 0x0017d640
MOV EAX,dword ptr [RSP + 0x30]
MOV RSI,qword ptr [RSP + 0x38]
LEA RDI,[R13 + 0x28]
MOV RDX,qword ptr [RSP + 0x40]
MOV dword ptr [RSP + 0x90],EAX
LEA RAX,[R13 + 0x38]
ADD RDX,RSI
MOV qword ptr [RSP + 0x98],RAX
CALL 0x0017d640
MOVZX EAX,byte ptr [RSP + 0x58]
MOVDQU XMM0,xmmword ptr [RSP + 0x5c]
MOV EDI,0x80
MOV byte ptr [RSP + 0xb8],AL
MOV EAX,dword ptr [RSP + 0x6c]
MOVUPS xmmword ptr [RSP + 0xbc],XMM0
MOV dword ptr [RSP + 0xcc],EAX
CALL 0x002f0690
MOV byte ptr [RAX],0x1
MOV RBX,RAX
LEA RDI,[RAX + 0x8]
LEA RAX,[RAX + 0x18]
MOV RSI,qword ptr [RSP + 0x70]
MOV RDX,qword ptr [RSP + 0x78]
MOV qword ptr [RBX + 0x8],RAX
MOV qword ptr [RSP + 0x8],RAX
ADD RDX,RSI
CALL 0x0017d640
MOV EAX,dword ptr [RSP + 0x90]
MOV RSI,qword ptr [RSP + 0x98]
LEA RDI,[RBX + 0x30]
MOV RDX,qword ptr [RSP + 0xa0]
MOV dword ptr [RBX + 0x28],EAX
LEA RAX,[RBX + 0x40]
MOV qword ptr [RBX + 0x30],RAX
ADD RDX,RSI
CALL 0x0017d640
MOVZX EAX,byte ptr [RSP + 0xb8]
MOV RDI,qword ptr [RSP + 0x98]
MOV qword ptr [RBX + 0x68],0x0
MOVDQU XMM1,xmmword ptr [RSP + 0xbc]
MOV qword ptr [RBX + 0x70],0x0
MOV byte ptr [RBX + 0x50],AL
MOV EAX,dword ptr [RSP + 0xcc]
MOVUPS xmmword ptr [RBX + 0x54],XMM1
MOV dword ptr [RBX + 0x64],EAX
LEA RAX,[R13 + 0x38]
MOV qword ptr [RBX + 0x78],0x0
CMP RDI,RAX
JZ 0x0024f36c
CALL 0x002f1e60
MOV RDI,qword ptr [RSP + 0x70]
ADD R13,0x10
CMP RDI,R13
JZ 0x0024f37f
CALL 0x002f1e60
MOV EDI,0x20
CALL 0x002f0690
MOV byte ptr [RAX],0x1
MOV RDI,qword ptr [0x0045c708]
MOV R13,RAX
MOV qword ptr [RAX + 0x8],0x0
MOV qword ptr [RAX + 0x10],0x0
MOV qword ptr [RAX + 0x18],0x0
MOV dword ptr [RAX + 0x4],0x1
CALL 0x0024b600
TEST AL,AL
JNZ 0x0024f528
MOV RDI,qword ptr [RBP + 0x180]
TEST RDI,RDI
JZ 0x0024f3da
MOVZX EDX,R15B
MOV RSI,R14
CALL 0x0024dfe0
MOV EDI,0x90
MOV R14,qword ptr [RBP + 0xc0]
CALL 0x002f0690
MOV RSI,qword ptr [RBP + 0xe8]
MOV RDI,qword ptr [RBP + 0xe0]
LEA R10,[RAX + 0x20]
LEA R11,[0x447b60]
MOV RDX,qword ptr [RBP + 0xf8]
MOV RCX,qword ptr [RBP + 0xf0]
MOV qword ptr [RAX + 0x8],0x0
MOV R8,qword ptr [RBP + 0xd8]
MOV R9,qword ptr [RBP + 0xd0]
MOV qword ptr [RAX + 0x48],RDI
MOV RDI,R14
MOV qword ptr [RAX + 0x50],RSI
MOV RSI,RAX
MOV qword ptr [RAX + 0x10],R10
MOV qword ptr [RAX + 0x18],0x0
MOV byte ptr [RAX + 0x20],0x0
MOV byte ptr [RAX + 0x30],0x0
MOV qword ptr [RAX],R11
MOV qword ptr [RAX + 0x38],R9
MOV qword ptr [RAX + 0x40],R8
MOV dword ptr [RAX + 0x58],0x0
MOV qword ptr [RAX + 0x60],RCX
MOV qword ptr [RAX + 0x68],RBX
MOV qword ptr [RAX + 0x70],0x0
MOV qword ptr [RAX + 0x78],0x0
MOV qword ptr [RAX + 0x80],RDX
MOV qword ptr [RAX + 0x88],R13
CALL 0x0029da60
MOV RDI,qword ptr [RSP + 0x38]
LEA RAX,[R12 + 0x38]
MOV qword ptr [RBP + 0xf8],R13
MOV byte ptr [RBP + 0xb2],0x1
CMP RDI,RAX
JZ 0x0024f4a9
CALL 0x002f1e60
MOV RDI,qword ptr [RSP + 0x10]
ADD R12,0x10
CMP RDI,R12
JZ 0x0024f4bc
CALL 0x002f1e60
ADD RSP,0xd8
XOR EAX,EAX
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
LEA R12,[RSP + 0x10]
LEA R13,[0x3a5556]
MOV dword ptr [RSP + 0x8],0x0
LEA RAX,[R12 + 0x10]
MOV qword ptr [RSP + 0x10],RAX
TEST RSI,RSI
JNZ 0x0024f1b3
MOV RDX,-0x1
XOR ESI,ESI
MOV RDI,R12
CALL 0x00174550
LEA RAX,[R12 + 0x38]
MOV dword ptr [RSP + 0x30],0x0
MOV RDX,R13
MOV qword ptr [RSP + 0x38],RAX
JMP 0x0024f1f5
LEA RDI,[0x39bfc8]
CALL 0x00149320
MOV RDI,RAX
XOR EAX,EAX
CALL 0x001878b0
JMP 0x0024f3c2
(translation_unit "undefined8 FUN_0024f160(long param_1,char *param_2,char param_3)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  char cVar10;\n  size_t sVar11;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined8 *puVar14;\n  undefined8 uVar15;\n  char *pcVar16;\n  char *__s;\n  undefined4 local_100;\n  undefined1 *local_f8;\n  long local_f0;\n  undefined1 local_e8 [16];\n  undefined4 local_d8;\n  undefined1 *local_d0;\n  long local_c8;\n  undefined1 local_c0 [16];\n  undefined1 local_b0;\n  undefined1 local_ac;\n  undefined1 uStack_ab;\n  undefined2 uStack_aa;\n  undefined4 uStack_a8;\n  undefined4 uStack_a4;\n  undefined4 uStack_a0;\n  undefined4 local_9c;\n  undefined1 *local_98;\n  long local_90;\n  undefined1 local_88 [16];\n  undefined4 local_78;\n  undefined1 *local_70;\n  long local_68;\n  undefined1 local_60 [16];\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  undefined4 local_3c;\n  \n  lVar1 = *(long *)(param_1 + 0xb8);\n  if (param_3 == '\0') {\n    __s = "";\n    local_f8 = local_e8;\n    uVar9 = 0;\n    if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = uVar9;\n    local_f8 = local_e8;\n    sVar11 = strlen(param_2);\n    pcVar16 = param_2 + sVar11;\n  }\n  else {\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }\n  FUN_00174550(&local_f8,param_2,pcVar16);\n  pcVar16 = (char *)0xffffffffffffffff;\n  local_d8 = local_100;\n  local_d0 = local_c0;\n  if (__s != (char *)0x0) {\n    sVar11 = strlen(__s);\n    pcVar16 = __s + sVar11;\n  }\nLAB_0024f1f5:\n                    /* try { // try from 0024f1fd to 0024f201 has its CatchHandler @ 0024f543 */\n  FUN_00174550(&local_d0,__s,pcVar16);\n  local_ac = *(undefined1 *)(lVar1 + 0x4c9);\n  local_b0 = 0;\n  uStack_ab = *(undefined1 *)(lVar1 + 0x889);\n                    /* try { // try from 0024f220 to 0024f224 has its CatchHandler @ 0024f573 */\n  uStack_a8 = FUN_001fbc10(lVar1);\n  local_9c = 0;\n  uStack_a4 = CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801));\n  uStack_a0 = *(undefined4 *)(lVar1 + 0x91f0);\n  local_98 = local_88;\n                    /* try { // try from 0024f264 to 0024f268 has its CatchHandler @ 0024f56b */\n  FUN_0017d640(&local_98,local_f8,local_f8 + local_f0);\n  local_78 = local_d8;\n  local_70 = local_60;\n                    /* try { // try from 0024f291 to 0024f295 has its CatchHandler @ 0024f563 */\n  FUN_0017d640(&local_70,local_d0,local_d0 + local_c8);\n  local_4c = CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)));\n  uStack_44 = CONCAT44(uStack_a0,uStack_a4);\n  local_50 = local_b0;\n  local_3c = local_9c;\n                    /* try { // try from 0024f2c0 to 0024f2c4 has its CatchHandler @ 0024f55b */\n  puVar12 = (undefined1 *)FUN_002f0690(0x80);\n  *puVar12 = 1;\n  *(undefined1 **)(puVar12 + 8) = puVar12 + 0x18;\n                    /* try { // try from 0024f2e9 to 0024f2ed has its CatchHandler @ 0024f553 */\n  FUN_0017d640(puVar12 + 8,local_98,local_98 + local_90);\n  *(undefined4 *)(puVar12 + 0x28) = local_78;\n  *(undefined1 **)(puVar12 + 0x30) = puVar12 + 0x40;\n                    /* try { // try from 0024f317 to 0024f31b has its CatchHandler @ 0024f54b */\n  FUN_0017d640(puVar12 + 0x30,local_70,local_70 + local_68);\n  *(undefined8 *)(puVar12 + 0x68) = 0;\n  *(undefined8 *)(puVar12 + 0x70) = 0;\n  puVar12[0x50] = local_50;\n  *(undefined8 *)(puVar12 + 0x54) = local_4c;\n  *(undefined8 *)(puVar12 + 0x5c) = uStack_44;\n  *(undefined4 *)(puVar12 + 100) = local_3c;\n  *(undefined8 *)(puVar12 + 0x78) = 0;\n  if (local_70 != local_60) {\n    FUN_002f1e60();\n  }\n  if (local_98 != local_88) {\n    FUN_002f1e60();\n  }\n                    /* try { // try from 0024f384 to 0024f486 has its CatchHandler @ 0024f56b */\n  puVar13 = (undefined1 *)FUN_002f0690(0x20);\n  *puVar13 = 1;\n  puVar8 = PTR_DAT_0045c708;\n  *(undefined8 *)(puVar13 + 8) = 0;\n  *(undefined8 *)(puVar13 + 0x10) = 0;\n  *(undefined8 *)(puVar13 + 0x18) = 0;\n  *(undefined4 *)(puVar13 + 4) = 1;\n  cVar10 = FUN_0024b600(puVar8);\n  if (cVar10 != '\0') {\n    uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");\n                    /* try { // try from 0024f539 to 0024f53d has its CatchHandler @ 0024f56b */\n    FUN_001878b0(uVar15);\n  }\n  if (*(long *)(param_1 + 0x180) != 0) {\n    FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);\n  }\n  uVar15 = *(undefined8 *)(param_1 + 0xc0);\n  puVar14 = (undefined8 *)FUN_002f0690(0x90);\n  uVar2 = *(undefined8 *)(param_1 + 0xe8);\n  uVar3 = *(undefined8 *)(param_1 + 0xe0);\n  uVar4 = *(undefined8 *)(param_1 + 0xf8);\n  uVar5 = *(undefined8 *)(param_1 + 0xf0);\n  puVar14[1] = 0;\n  uVar6 = *(undefined8 *)(param_1 + 0xd8);\n  uVar7 = *(undefined8 *)(param_1 + 0xd0);\n  puVar14[9] = uVar3;\n  puVar14[10] = uVar2;\n  puVar14[2] = puVar14 + 4;\n  puVar14[3] = 0;\n  *(undefined1 *)(puVar14 + 4) = 0;\n  *(undefined1 *)(puVar14 + 6) = 0;\n  *puVar14 = &PTR_FUN_00447b60;\n  puVar14[7] = uVar7;\n  puVar14[8] = uVar6;\n  *(undefined4 *)(puVar14 + 0xb) = 0;\n  puVar14[0xc] = uVar5;\n  puVar14[0xd] = puVar12;\n  puVar14[0xe] = 0;\n  puVar14[0xf] = 0;\n  puVar14[0x10] = uVar4;\n  puVar14[0x11] = puVar13;\n  FUN_0029da60(uVar15,puVar14);\n  *(undefined1 **)(param_1 + 0xf8) = puVar13;\n  *(undefined1 *)(param_1 + 0xb2) = 1;\n  if (local_d0 != local_c0) {\n    FUN_002f1e60();\n  }\n  if (local_f8 != local_e8) {\n    FUN_002f1e60();\n  }\n  return 0;\n}\n\n" (function_definition "undefined8 FUN_0024f160(long param_1,char *param_2,char param_3)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  char cVar10;\n  size_t sVar11;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined8 *puVar14;\n  undefined8 uVar15;\n  char *pcVar16;\n  char *__s;\n  undefined4 local_100;\n  undefined1 *local_f8;\n  long local_f0;\n  undefined1 local_e8 [16];\n  undefined4 local_d8;\n  undefined1 *local_d0;\n  long local_c8;\n  undefined1 local_c0 [16];\n  undefined1 local_b0;\n  undefined1 local_ac;\n  undefined1 uStack_ab;\n  undefined2 uStack_aa;\n  undefined4 uStack_a8;\n  undefined4 uStack_a4;\n  undefined4 uStack_a0;\n  undefined4 local_9c;\n  undefined1 *local_98;\n  long local_90;\n  undefined1 local_88 [16];\n  undefined4 local_78;\n  undefined1 *local_70;\n  long local_68;\n  undefined1 local_60 [16];\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  undefined4 local_3c;\n  \n  lVar1 = *(long *)(param_1 + 0xb8);\n  if (param_3 == '\0') {\n    __s = "";\n    local_f8 = local_e8;\n    uVar9 = 0;\n    if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = uVar9;\n    local_f8 = local_e8;\n    sVar11 = strlen(param_2);\n    pcVar16 = param_2 + sVar11;\n  }\n  else {\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }\n  FUN_00174550(&local_f8,param_2,pcVar16);\n  pcVar16 = (char *)0xffffffffffffffff;\n  local_d8 = local_100;\n  local_d0 = local_c0;\n  if (__s != (char *)0x0) {\n    sVar11 = strlen(__s);\n    pcVar16 = __s + sVar11;\n  }\nLAB_0024f1f5:\n                    /* try { // try from 0024f1fd to 0024f201 has its CatchHandler @ 0024f543 */\n  FUN_00174550(&local_d0,__s,pcVar16);\n  local_ac = *(undefined1 *)(lVar1 + 0x4c9);\n  local_b0 = 0;\n  uStack_ab = *(undefined1 *)(lVar1 + 0x889);\n                    /* try { // try from 0024f220 to 0024f224 has its CatchHandler @ 0024f573 */\n  uStack_a8 = FUN_001fbc10(lVar1);\n  local_9c = 0;\n  uStack_a4 = CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801));\n  uStack_a0 = *(undefined4 *)(lVar1 + 0x91f0);\n  local_98 = local_88;\n                    /* try { // try from 0024f264 to 0024f268 has its CatchHandler @ 0024f56b */\n  FUN_0017d640(&local_98,local_f8,local_f8 + local_f0);\n  local_78 = local_d8;\n  local_70 = local_60;\n                    /* try { // try from 0024f291 to 0024f295 has its CatchHandler @ 0024f563 */\n  FUN_0017d640(&local_70,local_d0,local_d0 + local_c8);\n  local_4c = CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)));\n  uStack_44 = CONCAT44(uStack_a0,uStack_a4);\n  local_50 = local_b0;\n  local_3c = local_9c;\n                    /* try { // try from 0024f2c0 to 0024f2c4 has its CatchHandler @ 0024f55b */\n  puVar12 = (undefined1 *)FUN_002f0690(0x80);\n  *puVar12 = 1;\n  *(undefined1 **)(puVar12 + 8) = puVar12 + 0x18;\n                    /* try { // try from 0024f2e9 to 0024f2ed has its CatchHandler @ 0024f553 */\n  FUN_0017d640(puVar12 + 8,local_98,local_98 + local_90);\n  *(undefined4 *)(puVar12 + 0x28) = local_78;\n  *(undefined1 **)(puVar12 + 0x30) = puVar12 + 0x40;\n                    /* try { // try from 0024f317 to 0024f31b has its CatchHandler @ 0024f54b */\n  FUN_0017d640(puVar12 + 0x30,local_70,local_70 + local_68);\n  *(undefined8 *)(puVar12 + 0x68) = 0;\n  *(undefined8 *)(puVar12 + 0x70) = 0;\n  puVar12[0x50] = local_50;\n  *(undefined8 *)(puVar12 + 0x54) = local_4c;\n  *(undefined8 *)(puVar12 + 0x5c) = uStack_44;\n  *(undefined4 *)(puVar12 + 100) = local_3c;\n  *(undefined8 *)(puVar12 + 0x78) = 0;\n  if (local_70 != local_60) {\n    FUN_002f1e60();\n  }\n  if (local_98 != local_88) {\n    FUN_002f1e60();\n  }\n                    /* try { // try from 0024f384 to 0024f486 has its CatchHandler @ 0024f56b */\n  puVar13 = (undefined1 *)FUN_002f0690(0x20);\n  *puVar13 = 1;\n  puVar8 = PTR_DAT_0045c708;\n  *(undefined8 *)(puVar13 + 8) = 0;\n  *(undefined8 *)(puVar13 + 0x10) = 0;\n  *(undefined8 *)(puVar13 + 0x18) = 0;\n  *(undefined4 *)(puVar13 + 4) = 1;\n  cVar10 = FUN_0024b600(puVar8);\n  if (cVar10 != '\0') {\n    uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");\n                    /* try { // try from 0024f539 to 0024f53d has its CatchHandler @ 0024f56b */\n    FUN_001878b0(uVar15);\n  }\n  if (*(long *)(param_1 + 0x180) != 0) {\n    FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);\n  }\n  uVar15 = *(undefined8 *)(param_1 + 0xc0);\n  puVar14 = (undefined8 *)FUN_002f0690(0x90);\n  uVar2 = *(undefined8 *)(param_1 + 0xe8);\n  uVar3 = *(undefined8 *)(param_1 + 0xe0);\n  uVar4 = *(undefined8 *)(param_1 + 0xf8);\n  uVar5 = *(undefined8 *)(param_1 + 0xf0);\n  puVar14[1] = 0;\n  uVar6 = *(undefined8 *)(param_1 + 0xd8);\n  uVar7 = *(undefined8 *)(param_1 + 0xd0);\n  puVar14[9] = uVar3;\n  puVar14[10] = uVar2;\n  puVar14[2] = puVar14 + 4;\n  puVar14[3] = 0;\n  *(undefined1 *)(puVar14 + 4) = 0;\n  *(undefined1 *)(puVar14 + 6) = 0;\n  *puVar14 = &PTR_FUN_00447b60;\n  puVar14[7] = uVar7;\n  puVar14[8] = uVar6;\n  *(undefined4 *)(puVar14 + 0xb) = 0;\n  puVar14[0xc] = uVar5;\n  puVar14[0xd] = puVar12;\n  puVar14[0xe] = 0;\n  puVar14[0xf] = 0;\n  puVar14[0x10] = uVar4;\n  puVar14[0x11] = puVar13;\n  FUN_0029da60(uVar15,puVar14);\n  *(undefined1 **)(param_1 + 0xf8) = puVar13;\n  *(undefined1 *)(param_1 + 0xb2) = 1;\n  if (local_d0 != local_c0) {\n    FUN_002f1e60();\n  }\n  if (local_f8 != local_e8) {\n    FUN_002f1e60();\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_0024f160(long param_1,char *param_2,char param_3)" identifier (parameter_list "(long param_1,char *param_2,char param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "char param_3" primitive_type identifier) ))) (compound_statement "{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  char cVar10;\n  size_t sVar11;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined8 *puVar14;\n  undefined8 uVar15;\n  char *pcVar16;\n  char *__s;\n  undefined4 local_100;\n  undefined1 *local_f8;\n  long local_f0;\n  undefined1 local_e8 [16];\n  undefined4 local_d8;\n  undefined1 *local_d0;\n  long local_c8;\n  undefined1 local_c0 [16];\n  undefined1 local_b0;\n  undefined1 local_ac;\n  undefined1 uStack_ab;\n  undefined2 uStack_aa;\n  undefined4 uStack_a8;\n  undefined4 uStack_a4;\n  undefined4 uStack_a0;\n  undefined4 local_9c;\n  undefined1 *local_98;\n  long local_90;\n  undefined1 local_88 [16];\n  undefined4 local_78;\n  undefined1 *local_70;\n  long local_68;\n  undefined1 local_60 [16];\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  undefined4 local_3c;\n  \n  lVar1 = *(long *)(param_1 + 0xb8);\n  if (param_3 == '\0') {\n    __s = "";\n    local_f8 = local_e8;\n    uVar9 = 0;\n    if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = uVar9;\n    local_f8 = local_e8;\n    sVar11 = strlen(param_2);\n    pcVar16 = param_2 + sVar11;\n  }\n  else {\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }\n  FUN_00174550(&local_f8,param_2,pcVar16);\n  pcVar16 = (char *)0xffffffffffffffff;\n  local_d8 = local_100;\n  local_d0 = local_c0;\n  if (__s != (char *)0x0) {\n    sVar11 = strlen(__s);\n    pcVar16 = __s + sVar11;\n  }\nLAB_0024f1f5:\n                    /* try { // try from 0024f1fd to 0024f201 has its CatchHandler @ 0024f543 */\n  FUN_00174550(&local_d0,__s,pcVar16);\n  local_ac = *(undefined1 *)(lVar1 + 0x4c9);\n  local_b0 = 0;\n  uStack_ab = *(undefined1 *)(lVar1 + 0x889);\n                    /* try { // try from 0024f220 to 0024f224 has its CatchHandler @ 0024f573 */\n  uStack_a8 = FUN_001fbc10(lVar1);\n  local_9c = 0;\n  uStack_a4 = CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801));\n  uStack_a0 = *(undefined4 *)(lVar1 + 0x91f0);\n  local_98 = local_88;\n                    /* try { // try from 0024f264 to 0024f268 has its CatchHandler @ 0024f56b */\n  FUN_0017d640(&local_98,local_f8,local_f8 + local_f0);\n  local_78 = local_d8;\n  local_70 = local_60;\n                    /* try { // try from 0024f291 to 0024f295 has its CatchHandler @ 0024f563 */\n  FUN_0017d640(&local_70,local_d0,local_d0 + local_c8);\n  local_4c = CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)));\n  uStack_44 = CONCAT44(uStack_a0,uStack_a4);\n  local_50 = local_b0;\n  local_3c = local_9c;\n                    /* try { // try from 0024f2c0 to 0024f2c4 has its CatchHandler @ 0024f55b */\n  puVar12 = (undefined1 *)FUN_002f0690(0x80);\n  *puVar12 = 1;\n  *(undefined1 **)(puVar12 + 8) = puVar12 + 0x18;\n                    /* try { // try from 0024f2e9 to 0024f2ed has its CatchHandler @ 0024f553 */\n  FUN_0017d640(puVar12 + 8,local_98,local_98 + local_90);\n  *(undefined4 *)(puVar12 + 0x28) = local_78;\n  *(undefined1 **)(puVar12 + 0x30) = puVar12 + 0x40;\n                    /* try { // try from 0024f317 to 0024f31b has its CatchHandler @ 0024f54b */\n  FUN_0017d640(puVar12 + 0x30,local_70,local_70 + local_68);\n  *(undefined8 *)(puVar12 + 0x68) = 0;\n  *(undefined8 *)(puVar12 + 0x70) = 0;\n  puVar12[0x50] = local_50;\n  *(undefined8 *)(puVar12 + 0x54) = local_4c;\n  *(undefined8 *)(puVar12 + 0x5c) = uStack_44;\n  *(undefined4 *)(puVar12 + 100) = local_3c;\n  *(undefined8 *)(puVar12 + 0x78) = 0;\n  if (local_70 != local_60) {\n    FUN_002f1e60();\n  }\n  if (local_98 != local_88) {\n    FUN_002f1e60();\n  }\n                    /* try { // try from 0024f384 to 0024f486 has its CatchHandler @ 0024f56b */\n  puVar13 = (undefined1 *)FUN_002f0690(0x20);\n  *puVar13 = 1;\n  puVar8 = PTR_DAT_0045c708;\n  *(undefined8 *)(puVar13 + 8) = 0;\n  *(undefined8 *)(puVar13 + 0x10) = 0;\n  *(undefined8 *)(puVar13 + 0x18) = 0;\n  *(undefined4 *)(puVar13 + 4) = 1;\n  cVar10 = FUN_0024b600(puVar8);\n  if (cVar10 != '\0') {\n    uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");\n                    /* try { // try from 0024f539 to 0024f53d has its CatchHandler @ 0024f56b */\n    FUN_001878b0(uVar15);\n  }\n  if (*(long *)(param_1 + 0x180) != 0) {\n    FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);\n  }\n  uVar15 = *(undefined8 *)(param_1 + 0xc0);\n  puVar14 = (undefined8 *)FUN_002f0690(0x90);\n  uVar2 = *(undefined8 *)(param_1 + 0xe8);\n  uVar3 = *(undefined8 *)(param_1 + 0xe0);\n  uVar4 = *(undefined8 *)(param_1 + 0xf8);\n  uVar5 = *(undefined8 *)(param_1 + 0xf0);\n  puVar14[1] = 0;\n  uVar6 = *(undefined8 *)(param_1 + 0xd8);\n  uVar7 = *(undefined8 *)(param_1 + 0xd0);\n  puVar14[9] = uVar3;\n  puVar14[10] = uVar2;\n  puVar14[2] = puVar14 + 4;\n  puVar14[3] = 0;\n  *(undefined1 *)(puVar14 + 4) = 0;\n  *(undefined1 *)(puVar14 + 6) = 0;\n  *puVar14 = &PTR_FUN_00447b60;\n  puVar14[7] = uVar7;\n  puVar14[8] = uVar6;\n  *(undefined4 *)(puVar14 + 0xb) = 0;\n  puVar14[0xc] = uVar5;\n  puVar14[0xd] = puVar12;\n  puVar14[0xe] = 0;\n  puVar14[0xf] = 0;\n  puVar14[0x10] = uVar4;\n  puVar14[0x11] = puVar13;\n  FUN_0029da60(uVar15,puVar14);\n  *(undefined1 **)(param_1 + 0xf8) = puVar13;\n  *(undefined1 *)(param_1 + 0xb2) = 1;\n  if (local_d0 != local_c0) {\n    FUN_002f1e60();\n  }\n  if (local_f8 != local_e8) {\n    FUN_002f1e60();\n  }\n  return 0;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "char cVar10;" primitive_type identifier ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined1 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined8 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined8 uVar15;" type_identifier identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "undefined4 local_100;" type_identifier identifier ;) (declaration "undefined1 *local_f8;" type_identifier (pointer_declarator "*local_f8" * identifier) ;) (declaration "long local_f0;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_e8 [16];" type_identifier (array_declarator "local_e8 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_d8;" type_identifier identifier ;) (declaration "undefined1 *local_d0;" type_identifier (pointer_declarator "*local_d0" * identifier) ;) (declaration "long local_c8;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_c0 [16];" type_identifier (array_declarator "local_c0 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 local_b0;" type_identifier identifier ;) (declaration "undefined1 local_ac;" type_identifier identifier ;) (declaration "undefined1 uStack_ab;" type_identifier identifier ;) (declaration "undefined2 uStack_aa;" type_identifier identifier ;) (declaration "undefined4 uStack_a8;" type_identifier identifier ;) (declaration "undefined4 uStack_a4;" type_identifier identifier ;) (declaration "undefined4 uStack_a0;" type_identifier identifier ;) (declaration "undefined4 local_9c;" type_identifier identifier ;) (declaration "undefined1 *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "long local_90;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_88 [16];" type_identifier (array_declarator "local_88 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_78;" type_identifier identifier ;) (declaration "undefined1 *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "long local_68;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_60 [16];" type_identifier (array_declarator "local_60 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 local_50;" type_identifier identifier ;) (declaration "undefined8 local_4c;" type_identifier identifier ;) (declaration "undefined8 uStack_44;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (expression_statement "lVar1 = *(long *)(param_1 + 0xb8);" (assignment_expression "lVar1 = *(long *)(param_1 + 0xb8)" identifier = (pointer_expression "*(long *)(param_1 + 0xb8)" * (cast_expression "(long *)(param_1 + 0xb8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb8)" ( (binary_expression "param_1 + 0xb8" identifier + number_literal) ))))) ;) (if_statement "if (param_3 == '\0') {\n    __s = "";\n    local_f8 = local_e8;\n    uVar9 = 0;\n    if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = uVar9;\n    local_f8 = local_e8;\n    sVar11 = strlen(param_2);\n    pcVar16 = param_2 + sVar11;\n  }\n  else {\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }" if (parenthesized_expression "(param_3 == '\0')" ( (binary_expression "param_3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    __s = "";\n    local_f8 = local_e8;\n    uVar9 = 0;\n    if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = uVar9;\n    local_f8 = local_e8;\n    sVar11 = strlen(param_2);\n    pcVar16 = param_2 + sVar11;\n  }" { (expression_statement "__s = "";" (assignment_expression "__s = """ identifier = (string_literal """" " ")) ;) (expression_statement "local_f8 = local_e8;" (assignment_expression "local_f8 = local_e8" identifier = identifier) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (if_statement "if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }" if (parenthesized_expression "(param_2 == (char *)0x0)" ( (binary_expression "param_2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }" { (expression_statement "FUN_00174550(&local_f8,0,0xffffffffffffffff);" (call_expression "FUN_00174550(&local_f8,0,0xffffffffffffffff)" identifier (argument_list "(&local_f8,0,0xffffffffffffffff)" ( (pointer_expression "&local_f8" & identifier) , number_literal , number_literal ))) ;) (expression_statement "local_d0 = local_c0;" (assignment_expression "local_d0 = local_c0" identifier = identifier) ;) (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" identifier = number_literal) ;) (expression_statement "pcVar16 = "";" (assignment_expression "pcVar16 = """ identifier = (string_literal """" " ")) ;) (goto_statement "goto LAB_0024f1f5;" goto statement_identifier ;) })) (labeled_statement "LAB_0024f1b3:\n    local_100 = uVar9;" statement_identifier : (expression_statement "local_100 = uVar9;" (assignment_expression "local_100 = uVar9" identifier = identifier) ;)) (expression_statement "local_f8 = local_e8;" (assignment_expression "local_f8 = local_e8" identifier = identifier) ;) (expression_statement "sVar11 = strlen(param_2);" (assignment_expression "sVar11 = strlen(param_2)" identifier = (call_expression "strlen(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "pcVar16 = param_2 + sVar11;" (assignment_expression "pcVar16 = param_2 + sVar11" identifier = (binary_expression "param_2 + sVar11" identifier + identifier)) ;) }) (else_clause "else {\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }" else (compound_statement "{\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }" { (expression_statement "__s = *(char **)(param_1 + 0x100);" (assignment_expression "__s = *(char **)(param_1 + 0x100)" identifier = (pointer_expression "*(char **)(param_1 + 0x100)" * (cast_expression "(char **)(param_1 + 0x100)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x100)" ( (binary_expression "param_1 + 0x100" identifier + number_literal) ))))) ;) (expression_statement "local_100 = 1;" (assignment_expression "local_100 = 1" identifier = number_literal) ;) (expression_statement "pcVar16 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar16 = (char *)0xffffffffffffffff" identifier = (cast_expression "(char *)0xffffffffffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_f8 = local_e8;" (assignment_expression "local_f8 = local_e8" identifier = identifier) ;) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (if_statement "if (param_2 != (char *)0x0) goto LAB_0024f1b3;" if (parenthesized_expression "(param_2 != (char *)0x0)" ( (binary_expression "param_2 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0024f1b3;" goto statement_identifier ;)) }))) (expression_statement "FUN_00174550(&local_f8,param_2,pcVar16);" (call_expression "FUN_00174550(&local_f8,param_2,pcVar16)" identifier (argument_list "(&local_f8,param_2,pcVar16)" ( (pointer_expression "&local_f8" & identifier) , identifier , identifier ))) ;) (expression_statement "pcVar16 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar16 = (char *)0xffffffffffffffff" identifier = (cast_expression "(char *)0xffffffffffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_d8 = local_100;" (assignment_expression "local_d8 = local_100" identifier = identifier) ;) (expression_statement "local_d0 = local_c0;" (assignment_expression "local_d0 = local_c0" identifier = identifier) ;) (if_statement "if (__s != (char *)0x0) {\n    sVar11 = strlen(__s);\n    pcVar16 = __s + sVar11;\n  }" if (parenthesized_expression "(__s != (char *)0x0)" ( (binary_expression "__s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    sVar11 = strlen(__s);\n    pcVar16 = __s + sVar11;\n  }" { (expression_statement "sVar11 = strlen(__s);" (assignment_expression "sVar11 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "pcVar16 = __s + sVar11;" (assignment_expression "pcVar16 = __s + sVar11" identifier = (binary_expression "__s + sVar11" identifier + identifier)) ;) })) (labeled_statement "LAB_0024f1f5:\n                    /* try { // try from 0024f1fd to 0024f201 has its CatchHandler @ 0024f543 */\n  FUN_00174550(&local_d0,__s,pcVar16);" statement_identifier : comment (expression_statement "FUN_00174550(&local_d0,__s,pcVar16);" (call_expression "FUN_00174550(&local_d0,__s,pcVar16)" identifier (argument_list "(&local_d0,__s,pcVar16)" ( (pointer_expression "&local_d0" & identifier) , identifier , identifier ))) ;)) (expression_statement "local_ac = *(undefined1 *)(lVar1 + 0x4c9);" (assignment_expression "local_ac = *(undefined1 *)(lVar1 + 0x4c9)" identifier = (pointer_expression "*(undefined1 *)(lVar1 + 0x4c9)" * (cast_expression "(undefined1 *)(lVar1 + 0x4c9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x4c9)" ( (binary_expression "lVar1 + 0x4c9" identifier + number_literal) ))))) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "uStack_ab = *(undefined1 *)(lVar1 + 0x889);" (assignment_expression "uStack_ab = *(undefined1 *)(lVar1 + 0x889)" identifier = (pointer_expression "*(undefined1 *)(lVar1 + 0x889)" * (cast_expression "(undefined1 *)(lVar1 + 0x889)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x889)" ( (binary_expression "lVar1 + 0x889" identifier + number_literal) ))))) ;) comment (expression_statement "uStack_a8 = FUN_001fbc10(lVar1);" (assignment_expression "uStack_a8 = FUN_001fbc10(lVar1)" identifier = (call_expression "FUN_001fbc10(lVar1)" identifier (argument_list "(lVar1)" ( identifier )))) ;) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (expression_statement "uStack_a4 = CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801));" (assignment_expression "uStack_a4 = CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801))" identifier = (call_expression "CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801))" identifier (argument_list "(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801))" ( (field_expression "uStack_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(undefined1 *)(lVar1 + 0x7801)" * (cast_expression "(undefined1 *)(lVar1 + 0x7801)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x7801)" ( (binary_expression "lVar1 + 0x7801" identifier + number_literal) )))) )))) ;) (expression_statement "uStack_a0 = *(undefined4 *)(lVar1 + 0x91f0);" (assignment_expression "uStack_a0 = *(undefined4 *)(lVar1 + 0x91f0)" identifier = (pointer_expression "*(undefined4 *)(lVar1 + 0x91f0)" * (cast_expression "(undefined4 *)(lVar1 + 0x91f0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x91f0)" ( (binary_expression "lVar1 + 0x91f0" identifier + number_literal) ))))) ;) (expression_statement "local_98 = local_88;" (assignment_expression "local_98 = local_88" identifier = identifier) ;) comment (expression_statement "FUN_0017d640(&local_98,local_f8,local_f8 + local_f0);" (call_expression "FUN_0017d640(&local_98,local_f8,local_f8 + local_f0)" identifier (argument_list "(&local_98,local_f8,local_f8 + local_f0)" ( (pointer_expression "&local_98" & identifier) , identifier , (binary_expression "local_f8 + local_f0" identifier + identifier) ))) ;) (expression_statement "local_78 = local_d8;" (assignment_expression "local_78 = local_d8" identifier = identifier) ;) (expression_statement "local_70 = local_60;" (assignment_expression "local_70 = local_60" identifier = identifier) ;) comment (expression_statement "FUN_0017d640(&local_70,local_d0,local_d0 + local_c8);" (call_expression "FUN_0017d640(&local_70,local_d0,local_d0 + local_c8)" identifier (argument_list "(&local_70,local_d0,local_d0 + local_c8)" ( (pointer_expression "&local_70" & identifier) , identifier , (binary_expression "local_d0 + local_c8" identifier + identifier) ))) ;) (expression_statement "local_4c = CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)));" (assignment_expression "local_4c = CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)))" identifier = (call_expression "CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)))" identifier (argument_list "(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)))" ( identifier , (call_expression "CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac))" identifier (argument_list "(uStack_aa,CONCAT11(uStack_ab,local_ac))" ( identifier , (call_expression "CONCAT11(uStack_ab,local_ac)" identifier (argument_list "(uStack_ab,local_ac)" ( identifier , identifier ))) ))) )))) ;) (expression_statement "uStack_44 = CONCAT44(uStack_a0,uStack_a4);" (assignment_expression "uStack_44 = CONCAT44(uStack_a0,uStack_a4)" identifier = (call_expression "CONCAT44(uStack_a0,uStack_a4)" identifier (argument_list "(uStack_a0,uStack_a4)" ( identifier , identifier )))) ;) (expression_statement "local_50 = local_b0;" (assignment_expression "local_50 = local_b0" identifier = identifier) ;) (expression_statement "local_3c = local_9c;" (assignment_expression "local_3c = local_9c" identifier = identifier) ;) comment (expression_statement "puVar12 = (undefined1 *)FUN_002f0690(0x80);" (assignment_expression "puVar12 = (undefined1 *)FUN_002f0690(0x80)" identifier = (cast_expression "(undefined1 *)FUN_002f0690(0x80)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002f0690(0x80)" identifier (argument_list "(0x80)" ( number_literal ))))) ;) (expression_statement "*puVar12 = 1;" (assignment_expression "*puVar12 = 1" (pointer_expression "*puVar12" * identifier) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar12 + 8) = puVar12 + 0x18;" (assignment_expression "*(undefined1 **)(puVar12 + 8) = puVar12 + 0x18" (pointer_expression "*(undefined1 **)(puVar12 + 8)" * (cast_expression "(undefined1 **)(puVar12 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 8)" ( (binary_expression "puVar12 + 8" identifier + number_literal) )))) = (binary_expression "puVar12 + 0x18" identifier + number_literal)) ;) comment (expression_statement "FUN_0017d640(puVar12 + 8,local_98,local_98 + local_90);" (call_expression "FUN_0017d640(puVar12 + 8,local_98,local_98 + local_90)" identifier (argument_list "(puVar12 + 8,local_98,local_98 + local_90)" ( (binary_expression "puVar12 + 8" identifier + number_literal) , identifier , (binary_expression "local_98 + local_90" identifier + identifier) ))) ;) (expression_statement "*(undefined4 *)(puVar12 + 0x28) = local_78;" (assignment_expression "*(undefined4 *)(puVar12 + 0x28) = local_78" (pointer_expression "*(undefined4 *)(puVar12 + 0x28)" * (cast_expression "(undefined4 *)(puVar12 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x28)" ( (binary_expression "puVar12 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar12 + 0x30) = puVar12 + 0x40;" (assignment_expression "*(undefined1 **)(puVar12 + 0x30) = puVar12 + 0x40" (pointer_expression "*(undefined1 **)(puVar12 + 0x30)" * (cast_expression "(undefined1 **)(puVar12 + 0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x30)" ( (binary_expression "puVar12 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar12 + 0x40" identifier + number_literal)) ;) comment (expression_statement "FUN_0017d640(puVar12 + 0x30,local_70,local_70 + local_68);" (call_expression "FUN_0017d640(puVar12 + 0x30,local_70,local_70 + local_68)" identifier (argument_list "(puVar12 + 0x30,local_70,local_70 + local_68)" ( (binary_expression "puVar12 + 0x30" identifier + number_literal) , identifier , (binary_expression "local_70 + local_68" identifier + identifier) ))) ;) (expression_statement "*(undefined8 *)(puVar12 + 0x68) = 0;" (assignment_expression "*(undefined8 *)(puVar12 + 0x68) = 0" (pointer_expression "*(undefined8 *)(puVar12 + 0x68)" * (cast_expression "(undefined8 *)(puVar12 + 0x68)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x68)" ( (binary_expression "puVar12 + 0x68" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(puVar12 + 0x70) = 0;" (assignment_expression "*(undefined8 *)(puVar12 + 0x70) = 0" (pointer_expression "*(undefined8 *)(puVar12 + 0x70)" * (cast_expression "(undefined8 *)(puVar12 + 0x70)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x70)" ( (binary_expression "puVar12 + 0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar12[0x50] = local_50;" (assignment_expression "puVar12[0x50] = local_50" (subscript_expression "puVar12[0x50]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 *)(puVar12 + 0x54) = local_4c;" (assignment_expression "*(undefined8 *)(puVar12 + 0x54) = local_4c" (pointer_expression "*(undefined8 *)(puVar12 + 0x54)" * (cast_expression "(undefined8 *)(puVar12 + 0x54)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x54)" ( (binary_expression "puVar12 + 0x54" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(puVar12 + 0x5c) = uStack_44;" (assignment_expression "*(undefined8 *)(puVar12 + 0x5c) = uStack_44" (pointer_expression "*(undefined8 *)(puVar12 + 0x5c)" * (cast_expression "(undefined8 *)(puVar12 + 0x5c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x5c)" ( (binary_expression "puVar12 + 0x5c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar12 + 100) = local_3c;" (assignment_expression "*(undefined4 *)(puVar12 + 100) = local_3c" (pointer_expression "*(undefined4 *)(puVar12 + 100)" * (cast_expression "(undefined4 *)(puVar12 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 100)" ( (binary_expression "puVar12 + 100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(puVar12 + 0x78) = 0;" (assignment_expression "*(undefined8 *)(puVar12 + 0x78) = 0" (pointer_expression "*(undefined8 *)(puVar12 + 0x78)" * (cast_expression "(undefined8 *)(puVar12 + 0x78)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x78)" ( (binary_expression "puVar12 + 0x78" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (local_70 != local_60) {\n    FUN_002f1e60();\n  }" if (parenthesized_expression "(local_70 != local_60)" ( (binary_expression "local_70 != local_60" identifier != identifier) )) (compound_statement "{\n    FUN_002f1e60();\n  }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_98 != local_88) {\n    FUN_002f1e60();\n  }" if (parenthesized_expression "(local_98 != local_88)" ( (binary_expression "local_98 != local_88" identifier != identifier) )) (compound_statement "{\n    FUN_002f1e60();\n  }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) })) comment (expression_statement "puVar13 = (undefined1 *)FUN_002f0690(0x20);" (assignment_expression "puVar13 = (undefined1 *)FUN_002f0690(0x20)" identifier = (cast_expression "(undefined1 *)FUN_002f0690(0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002f0690(0x20)" identifier (argument_list "(0x20)" ( number_literal ))))) ;) (expression_statement "*puVar13 = 1;" (assignment_expression "*puVar13 = 1" (pointer_expression "*puVar13" * identifier) = number_literal) ;) (expression_statement "puVar8 = PTR_DAT_0045c708;" (assignment_expression "puVar8 = PTR_DAT_0045c708" identifier = identifier) ;) (expression_statement "*(undefined8 *)(puVar13 + 8) = 0;" (assignment_expression "*(undefined8 *)(puVar13 + 8) = 0" (pointer_expression "*(undefined8 *)(puVar13 + 8)" * (cast_expression "(undefined8 *)(puVar13 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 8)" ( (binary_expression "puVar13 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(puVar13 + 0x10) = 0;" (assignment_expression "*(undefined8 *)(puVar13 + 0x10) = 0" (pointer_expression "*(undefined8 *)(puVar13 + 0x10)" * (cast_expression "(undefined8 *)(puVar13 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x10)" ( (binary_expression "puVar13 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(puVar13 + 0x18) = 0;" (assignment_expression "*(undefined8 *)(puVar13 + 0x18) = 0" (pointer_expression "*(undefined8 *)(puVar13 + 0x18)" * (cast_expression "(undefined8 *)(puVar13 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x18)" ( (binary_expression "puVar13 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar13 + 4) = 1;" (assignment_expression "*(undefined4 *)(puVar13 + 4) = 1" (pointer_expression "*(undefined4 *)(puVar13 + 4)" * (cast_expression "(undefined4 *)(puVar13 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 4)" ( (binary_expression "puVar13 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar10 = FUN_0024b600(puVar8);" (assignment_expression "cVar10 = FUN_0024b600(puVar8)" identifier = (call_expression "FUN_0024b600(puVar8)" identifier (argument_list "(puVar8)" ( identifier )))) ;) (if_statement "if (cVar10 != '\0') {\n    uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");\n                    /* try { // try from 0024f539 to 0024f53d has its CatchHandler @ 0024f56b */\n    FUN_001878b0(uVar15);\n  }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");\n                    /* try { // try from 0024f539 to 0024f53d has its CatchHandler @ 0024f56b */\n    FUN_001878b0(uVar15);\n  }" { (expression_statement "uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");" (assignment_expression "uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet")" identifier = (call_expression "gettext("input files added by plug-ins in --incremental mode not supported yet")" identifier (argument_list "("input files added by plug-ins in --incremental mode not supported yet")" ( (string_literal ""input files added by plug-ins in --incremental mode not supported yet"" " string_content ") )))) ;) comment (expression_statement "FUN_001878b0(uVar15);" (call_expression "FUN_001878b0(uVar15)" identifier (argument_list "(uVar15)" ( identifier ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x180) != 0) {\n    FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x180) != 0)" ( (binary_expression "*(long *)(param_1 + 0x180) != 0" (pointer_expression "*(long *)(param_1 + 0x180)" * (cast_expression "(long *)(param_1 + 0x180)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x180)" ( (binary_expression "param_1 + 0x180" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);\n  }" { (expression_statement "FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);" (call_expression "FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3)" identifier (argument_list "(*(long *)(param_1 + 0x180),param_2,param_3)" ( (pointer_expression "*(long *)(param_1 + 0x180)" * (cast_expression "(long *)(param_1 + 0x180)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x180)" ( (binary_expression "param_1 + 0x180" identifier + number_literal) )))) , identifier , identifier ))) ;) })) (expression_statement "uVar15 = *(undefined8 *)(param_1 + 0xc0);" (assignment_expression "uVar15 = *(undefined8 *)(param_1 + 0xc0)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0xc0)" * (cast_expression "(undefined8 *)(param_1 + 0xc0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "puVar14 = (undefined8 *)FUN_002f0690(0x90);" (assignment_expression "puVar14 = (undefined8 *)FUN_002f0690(0x90)" identifier = (cast_expression "(undefined8 *)FUN_002f0690(0x90)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002f0690(0x90)" identifier (argument_list "(0x90)" ( number_literal ))))) ;) (expression_statement "uVar2 = *(undefined8 *)(param_1 + 0xe8);" (assignment_expression "uVar2 = *(undefined8 *)(param_1 + 0xe8)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0xe8)" * (cast_expression "(undefined8 *)(param_1 + 0xe8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe8)" ( (binary_expression "param_1 + 0xe8" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined8 *)(param_1 + 0xe0);" (assignment_expression "uVar3 = *(undefined8 *)(param_1 + 0xe0)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0xe0)" * (cast_expression "(undefined8 *)(param_1 + 0xe0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined8 *)(param_1 + 0xf8);" (assignment_expression "uVar4 = *(undefined8 *)(param_1 + 0xf8)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0xf8)" * (cast_expression "(undefined8 *)(param_1 + 0xf8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(undefined8 *)(param_1 + 0xf0);" (assignment_expression "uVar5 = *(undefined8 *)(param_1 + 0xf0)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0xf0)" * (cast_expression "(undefined8 *)(param_1 + 0xf0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf0)" ( (binary_expression "param_1 + 0xf0" identifier + number_literal) ))))) ;) (expression_statement "puVar14[1] = 0;" (assignment_expression "puVar14[1] = 0" (subscript_expression "puVar14[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = *(undefined8 *)(param_1 + 0xd8);" (assignment_expression "uVar6 = *(undefined8 *)(param_1 + 0xd8)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0xd8)" * (cast_expression "(undefined8 *)(param_1 + 0xd8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xd8)" ( (binary_expression "param_1 + 0xd8" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined8 *)(param_1 + 0xd0);" (assignment_expression "uVar7 = *(undefined8 *)(param_1 + 0xd0)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0xd0)" * (cast_expression "(undefined8 *)(param_1 + 0xd0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xd0)" ( (binary_expression "param_1 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "puVar14[9] = uVar3;" (assignment_expression "puVar14[9] = uVar3" (subscript_expression "puVar14[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar14[10] = uVar2;" (assignment_expression "puVar14[10] = uVar2" (subscript_expression "puVar14[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar14[2] = puVar14 + 4;" (assignment_expression "puVar14[2] = puVar14 + 4" (subscript_expression "puVar14[2]" identifier [ number_literal ]) = (binary_expression "puVar14 + 4" identifier + number_literal)) ;) (expression_statement "puVar14[3] = 0;" (assignment_expression "puVar14[3] = 0" (subscript_expression "puVar14[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar14 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar14 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar14 + 4)" * (cast_expression "(undefined1 *)(puVar14 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 4)" ( (binary_expression "puVar14 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar14 + 6) = 0;" (assignment_expression "*(undefined1 *)(puVar14 + 6) = 0" (pointer_expression "*(undefined1 *)(puVar14 + 6)" * (cast_expression "(undefined1 *)(puVar14 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 6)" ( (binary_expression "puVar14 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*puVar14 = &PTR_FUN_00447b60;" (assignment_expression "*puVar14 = &PTR_FUN_00447b60" (pointer_expression "*puVar14" * identifier) = (pointer_expression "&PTR_FUN_00447b60" & identifier)) ;) (expression_statement "puVar14[7] = uVar7;" (assignment_expression "puVar14[7] = uVar7" (subscript_expression "puVar14[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar14[8] = uVar6;" (assignment_expression "puVar14[8] = uVar6" (subscript_expression "puVar14[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + 0xb) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + 0xb) = 0" (pointer_expression "*(undefined4 *)(puVar14 + 0xb)" * (cast_expression "(undefined4 *)(puVar14 + 0xb)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0xb)" ( (binary_expression "puVar14 + 0xb" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar14[0xc] = uVar5;" (assignment_expression "puVar14[0xc] = uVar5" (subscript_expression "puVar14[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar14[0xd] = puVar12;" (assignment_expression "puVar14[0xd] = puVar12" (subscript_expression "puVar14[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar14[0xe] = 0;" (assignment_expression "puVar14[0xe] = 0" (subscript_expression "puVar14[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar14[0xf] = 0;" (assignment_expression "puVar14[0xf] = 0" (subscript_expression "puVar14[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar14[0x10] = uVar4;" (assignment_expression "puVar14[0x10] = uVar4" (subscript_expression "puVar14[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar14[0x11] = puVar13;" (assignment_expression "puVar14[0x11] = puVar13" (subscript_expression "puVar14[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0029da60(uVar15,puVar14);" (call_expression "FUN_0029da60(uVar15,puVar14)" identifier (argument_list "(uVar15,puVar14)" ( identifier , identifier ))) ;) (expression_statement "*(undefined1 **)(param_1 + 0xf8) = puVar13;" (assignment_expression "*(undefined1 **)(param_1 + 0xf8) = puVar13" (pointer_expression "*(undefined1 **)(param_1 + 0xf8)" * (cast_expression "(undefined1 **)(param_1 + 0xf8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(param_1 + 0xb2) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xb2) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xb2)" * (cast_expression "(undefined1 *)(param_1 + 0xb2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb2)" ( (binary_expression "param_1 + 0xb2" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (local_d0 != local_c0) {\n    FUN_002f1e60();\n  }" if (parenthesized_expression "(local_d0 != local_c0)" ( (binary_expression "local_d0 != local_c0" identifier != identifier) )) (compound_statement "{\n    FUN_002f1e60();\n  }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_f8 != local_e8) {\n    FUN_002f1e60();\n  }" if (parenthesized_expression "(local_f8 != local_e8)" ( (binary_expression "local_f8 != local_e8" identifier != identifier) )) (compound_statement "{\n    FUN_002f1e60();\n  }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: ld_plugin_status add_input_file(Plugin_manager * this, char * pathname,\n   bool is_lib) */\n\nld_plugin_status __thiscall\ngold::Plugin_manager::add_input_file(Plugin_manager *this,char *pathname,bool is_lib)\n\n{\n  General_options *this_00;\n  Workqueue *this_01;\n  Dirsearch *pDVar1;\n  Layout *pLVar2;\n  Task_token *pTVar3;\n  Mapfile *pMVar4;\n  Symbol_table *pSVar5;\n  Input_objects *pIVar6;\n  Parameters *this_02;\n  Input_file_type IVar7;\n  bool bVar8;\n  size_t sVar9;\n  undefined1 *puVar10;\n  Task_token *pTVar11;\n  Task *t;\n  char *pcVar12;\n  char *pcVar13;\n  Input_file_type local_100;\n  Input_file_argument file;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_98;\n  Input_file_type local_78;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_70;\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  uint local_3c;\n  \n  this_00 = this->options_;\n  if (is_lib) {\n    pcVar12 = (this->extra_search_path_)._M_dataplus._M_p;\n    local_100 = INPUT_FILE_TYPE_LIBRARY;\n    pcVar13 = (char *)0xffffffffffffffff;\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    IVar7 = INPUT_FILE_TYPE_LIBRARY;\n    if (pathname != (char *)0x0) goto LAB_0024f1b3;\n  }\n  else {\n    pcVar12 = "";\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    IVar7 = INPUT_FILE_TYPE_FILE;\n    if (pathname == (char *)0x0) {\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&file.name_,0,0xffffffffffffffff);\n      file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n      file.type_ = INPUT_FILE_TYPE_FILE;\n      pcVar13 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = IVar7;\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    sVar9 = strlen(pathname);\n    pcVar13 = pathname + sVar9;\n  }\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>(&file.name_,pathname,pcVar13);\n  pcVar13 = (char *)0xffffffffffffffff;\n  file.type_ = local_100;\n  file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n  if (pcVar12 != (char *)0x0) {\n    sVar9 = strlen(pcVar12);\n    pcVar13 = pcVar12 + sVar9;\n  }\nLAB_0024f1f5:\n                    /* try { // try from 0024f1fd to 0024f201 has its CatchHandler @ 0024f543 */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>(&file.extra_search_path_,pcVar12,pcVar13);\n  file.options_.as_needed_ = (this_00->as_needed_).value;\n  file.just_symbols_ = false;\n  file.options_.Bdynamic_ = (this_00->Bdynamic_).value;\n                    /* try { // try from 0024f220 to 0024f224 has its CatchHandler @ 0024f573 */\n  file.options_.format_enum_ = General_options::format_enum(this_00);\n  file.arg_serial_ = 0;\n  file.options_.whole_archive_ = (this_00->whole_archive_).value;\n  file.options_.incremental_disposition_ = this_00->incremental_disposition_;\n  local_98._M_dataplus._M_p = (pointer)&local_98.field_2;\n                    /* try { // try from 0024f264 to 0024f268 has its CatchHandler @ 0024f56b */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>(&local_98,file.name_._M_dataplus._M_p,\n                      file.name_._M_dataplus._M_p + file.name_._M_string_length);\n  local_78 = file.type_;\n  local_70._M_dataplus._M_p = (pointer)&local_70.field_2;\n                    /* try { // try from 0024f291 to 0024f295 has its CatchHandler @ 0024f563 */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>(&local_70,file.extra_search_path_._M_dataplus._M_p,\n                      file.extra_search_path_._M_dataplus._M_p +\n                      file.extra_search_path_._M_string_length);\n  local_4c = CONCAT44(file.options_.format_enum_,\n                      CONCAT22(file.options_._2_2_,\n                               CONCAT11(file.options_.Bdynamic_,file.options_.as_needed_)));\n  uStack_44 = CONCAT44(file.options_.incremental_disposition_,file.options_._8_4_);\n  local_50 = file.just_symbols_;\n  local_3c = file.arg_serial_;\n                    /* try { // try from 0024f2c0 to 0024f2c4 has its CatchHandler @ 0024f55b */\n  puVar10 = (undefined1 *)operator_new(0x80);\n  *puVar10 = 1;\n  *(undefined1 **)(puVar10 + 8) = puVar10 + 0x18;\n                    /* try { // try from 0024f2e9 to 0024f2ed has its CatchHandler @ 0024f553 */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                      (puVar10 + 8),local_98._M_dataplus._M_p,\n                      local_98._M_dataplus._M_p + local_98._M_string_length);\n  *(Input_file_type *)(puVar10 + 0x28) = local_78;\n  *(undefined1 **)(puVar10 + 0x30) = puVar10 + 0x40;\n                    /* try { // try from 0024f317 to 0024f31b has its CatchHandler @ 0024f54b */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                      (puVar10 + 0x30),local_70._M_dataplus._M_p,\n                      local_70._M_dataplus._M_p + local_70._M_string_length);\n  *(undefined8 *)(puVar10 + 0x68) = 0;\n  *(undefined8 *)(puVar10 + 0x70) = 0;\n  puVar10[0x50] = local_50;\n  *(undefined8 *)(puVar10 + 0x54) = local_4c;\n  *(undefined8 *)(puVar10 + 0x5c) = uStack_44;\n  *(uint *)(puVar10 + 100) = local_3c;\n  *(undefined8 *)(puVar10 + 0x78) = 0;\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_70._M_dataplus._M_p != &local_70.field_2) {\n    operator_delete(local_70._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       *)local_98._M_dataplus._M_p != &local_98.field_2) {\n    operator_delete(local_98._M_dataplus._M_p);\n  }\n                    /* try { // try from 0024f384 to 0024f486 has its CatchHandler @ 0024f56b */\n  pTVar11 = (Task_token *)operator_new(0x20);\n  pTVar11->is_blocker_ = true;\n  this_02 = parameters;\n  pTVar11->writer_ = (Task *)0x0;\n  (pTVar11->waiting_).head_ = (Task *)0x0;\n  (pTVar11->waiting_).tail_ = (Task *)0x0;\n  pTVar11->blockers_ = 1;\n  bVar8 = Parameters::incremental(this_02);\n  if (bVar8) {\n    pcVar12 = (char *)gettext(\n                             "input files added by plug-ins in --incremental mode not supported yet"\n                             );\n                    /* try { // try from 0024f539 to 0024f53d has its CatchHandler @ 0024f56b */\n    gold_error(pcVar12);\n  }\n  if (this->recorder_ != (Plugin_recorder *)0x0) {\n    Plugin_recorder::replacement_file(this->recorder_,pathname,is_lib);\n  }\n  this_01 = this->workqueue_;\n  t = (Task *)operator_new(0x90);\n  pDVar1 = this->dirpath_;\n  pLVar2 = this->layout_;\n  pTVar3 = this->this_blocker_;\n  pMVar4 = this->mapfile_;\n  t->list_next_ = (Task *)0x0;\n  pSVar5 = this->symtab_;\n  pIVar6 = this->input_objects_;\n  t[1].name_._M_dataplus._M_p = (pointer)pLVar2;\n  t[1].name_._M_string_length = (size_type)pDVar1;\n  (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n  (t->name_)._M_string_length = 0;\n  (t->name_).field_2._M_local_buf[0] = '\0';\n  t->should_run_soon_ = false;\n  t->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_00447b60;\n  t[1]._vptr_Task = (_func_int_varargs **)pIVar6;\n  t[1].list_next_ = (Task *)pSVar5;\n  *(undefined4 *)&t[1].name_.field_2 = 0;\n  *(Mapfile **)((long)&t[1].name_.field_2 + 8) = pMVar4;\n  *(undefined1 **)&t[1].should_run_soon_ = puVar10;\n  t[2]._vptr_Task = (_func_int_varargs **)0x0;\n  t[2].list_next_ = (Task *)0x0;\n  t[2].name_._M_dataplus._M_p = &pTVar3->is_blocker_;\n  t[2].name_._M_string_length = (size_type)pTVar11;\n  Workqueue::queue_soon(this_01,t);\n  this->this_blocker_ = pTVar11;\n  this->any_added_ = true;\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {\n    operator_delete(file.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       *)file.name_._M_dataplus._M_p != &file.name_.field_2) {\n    operator_delete(file.name_._M_dataplus._M_p);\n  }\n  return LDPS_OK;\n}\n\n" comment comment comment (function_definition "ld_plugin_status __thiscall\ngold::Plugin_manager::add_input_file(Plugin_manager *this,char *pathname,bool is_lib)\n\n{\n  General_options *this_00;\n  Workqueue *this_01;\n  Dirsearch *pDVar1;\n  Layout *pLVar2;\n  Task_token *pTVar3;\n  Mapfile *pMVar4;\n  Symbol_table *pSVar5;\n  Input_objects *pIVar6;\n  Parameters *this_02;\n  Input_file_type IVar7;\n  bool bVar8;\n  size_t sVar9;\n  undefined1 *puVar10;\n  Task_token *pTVar11;\n  Task *t;\n  char *pcVar12;\n  char *pcVar13;\n  Input_file_type local_100;\n  Input_file_argument file;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_98;\n  Input_file_type local_78;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_70;\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  uint local_3c;\n  \n  this_00 = this->options_;\n  if (is_lib) {\n    pcVar12 = (this->extra_search_path_)._M_dataplus._M_p;\n    local_100 = INPUT_FILE_TYPE_LIBRARY;\n    pcVar13 = (char *)0xffffffffffffffff;\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    IVar7 = INPUT_FILE_TYPE_LIBRARY;\n    if (pathname != (char *)0x0) goto LAB_0024f1b3;\n  }\n  else {\n    pcVar12 = "";\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    IVar7 = INPUT_FILE_TYPE_FILE;\n    if (pathname == (char *)0x0) {\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&file.name_,0,0xffffffffffffffff);\n      file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n      file.type_ = INPUT_FILE_TYPE_FILE;\n      pcVar13 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = IVar7;\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    sVar9 = strlen(pathname);\n    pcVar13 = pathname + sVar9;\n  }\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>(&file.name_,pathname,pcVar13);\n  pcVar13 = (char *)0xffffffffffffffff;\n  file.type_ = local_100;\n  file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n  if (pcVar12 != (char *)0x0) {\n    sVar9 = strlen(pcVar12);\n    pcVar13 = pcVar12 + sVar9;\n  }\nLAB_0024f1f5:\n                    /* try { // try from 0024f1fd to 0024f201 has its CatchHandler @ 0024f543 */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>(&file.extra_search_path_,pcVar12,pcVar13);\n  file.options_.as_needed_ = (this_00->as_needed_).value;\n  file.just_symbols_ = false;\n  file.options_.Bdynamic_ = (this_00->Bdynamic_).value;\n                    /* try { // try from 0024f220 to 0024f224 has its CatchHandler @ 0024f573 */\n  file.options_.format_enum_ = General_options::format_enum(this_00);\n  file.arg_serial_ = 0;\n  file.options_.whole_archive_ = (this_00->whole_archive_).value;\n  file.options_.incremental_disposition_ = this_00->incremental_disposition_;\n  local_98._M_dataplus._M_p = (pointer)&local_98.field_2;\n                    /* try { // try from 0024f264 to 0024f268 has its CatchHandler @ 0024f56b */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>(&local_98,file.name_._M_dataplus._M_p,\n                      file.name_._M_dataplus._M_p + file.name_._M_string_length);\n  local_78 = file.type_;\n  local_70._M_dataplus._M_p = (pointer)&local_70.field_2;\n                    /* try { // try from 0024f291 to 0024f295 has its CatchHandler @ 0024f563 */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>(&local_70,file.extra_search_path_._M_dataplus._M_p,\n                      file.extra_search_path_._M_dataplus._M_p +\n                      file.extra_search_path_._M_string_length);\n  local_4c = CONCAT44(file.options_.format_enum_,\n                      CONCAT22(file.options_._2_2_,\n                               CONCAT11(file.options_.Bdynamic_,file.options_.as_needed_)));\n  uStack_44 = CONCAT44(file.options_.incremental_disposition_,file.options_._8_4_);\n  local_50 = file.just_symbols_;\n  local_3c = file.arg_serial_;\n                    /* try { // try from 0024f2c0 to 0024f2c4 has its CatchHandler @ 0024f55b */\n  puVar10 = (undefined1 *)operator_new(0x80);\n  *puVar10 = 1;\n  *(undefined1 **)(puVar10 + 8) = puVar10 + 0x18;\n                    /* try { // try from 0024f2e9 to 0024f2ed has its CatchHandler @ 0024f553 */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                      (puVar10 + 8),local_98._M_dataplus._M_p,\n                      local_98._M_dataplus._M_p + local_98._M_string_length);\n  *(Input_file_type *)(puVar10 + 0x28) = local_78;\n  *(undefined1 **)(puVar10 + 0x30) = puVar10 + 0x40;\n                    /* try { // try from 0024f317 to 0024f31b has its CatchHandler @ 0024f54b */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                      (puVar10 + 0x30),local_70._M_dataplus._M_p,\n                      local_70._M_dataplus._M_p + local_70._M_string_length);\n  *(undefined8 *)(puVar10 + 0x68) = 0;\n  *(undefined8 *)(puVar10 + 0x70) = 0;\n  puVar10[0x50] = local_50;\n  *(undefined8 *)(puVar10 + 0x54) = local_4c;\n  *(undefined8 *)(puVar10 + 0x5c) = uStack_44;\n  *(uint *)(puVar10 + 100) = local_3c;\n  *(undefined8 *)(puVar10 + 0x78) = 0;\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_70._M_dataplus._M_p != &local_70.field_2) {\n    operator_delete(local_70._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       *)local_98._M_dataplus._M_p != &local_98.field_2) {\n    operator_delete(local_98._M_dataplus._M_p);\n  }\n                    /* try { // try from 0024f384 to 0024f486 has its CatchHandler @ 0024f56b */\n  pTVar11 = (Task_token *)operator_new(0x20);\n  pTVar11->is_blocker_ = true;\n  this_02 = parameters;\n  pTVar11->writer_ = (Task *)0x0;\n  (pTVar11->waiting_).head_ = (Task *)0x0;\n  (pTVar11->waiting_).tail_ = (Task *)0x0;\n  pTVar11->blockers_ = 1;\n  bVar8 = Parameters::incremental(this_02);\n  if (bVar8) {\n    pcVar12 = (char *)gettext(\n                             "input files added by plug-ins in --incremental mode not supported yet"\n                             );\n                    /* try { // try from 0024f539 to 0024f53d has its CatchHandler @ 0024f56b */\n    gold_error(pcVar12);\n  }\n  if (this->recorder_ != (Plugin_recorder *)0x0) {\n    Plugin_recorder::replacement_file(this->recorder_,pathname,is_lib);\n  }\n  this_01 = this->workqueue_;\n  t = (Task *)operator_new(0x90);\n  pDVar1 = this->dirpath_;\n  pLVar2 = this->layout_;\n  pTVar3 = this->this_blocker_;\n  pMVar4 = this->mapfile_;\n  t->list_next_ = (Task *)0x0;\n  pSVar5 = this->symtab_;\n  pIVar6 = this->input_objects_;\n  t[1].name_._M_dataplus._M_p = (pointer)pLVar2;\n  t[1].name_._M_string_length = (size_type)pDVar1;\n  (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n  (t->name_)._M_string_length = 0;\n  (t->name_).field_2._M_local_buf[0] = '\0';\n  t->should_run_soon_ = false;\n  t->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_00447b60;\n  t[1]._vptr_Task = (_func_int_varargs **)pIVar6;\n  t[1].list_next_ = (Task *)pSVar5;\n  *(undefined4 *)&t[1].name_.field_2 = 0;\n  *(Mapfile **)((long)&t[1].name_.field_2 + 8) = pMVar4;\n  *(undefined1 **)&t[1].should_run_soon_ = puVar10;\n  t[2]._vptr_Task = (_func_int_varargs **)0x0;\n  t[2].list_next_ = (Task *)0x0;\n  t[2].name_._M_dataplus._M_p = &pTVar3->is_blocker_;\n  t[2].name_._M_string_length = (size_type)pTVar11;\n  Workqueue::queue_soon(this_01,t);\n  this->this_blocker_ = pTVar11;\n  this->any_added_ = true;\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {\n    operator_delete(file.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       *)file.name_._M_dataplus._M_p != &file.name_.field_2) {\n    operator_delete(file.name_._M_dataplus._M_p);\n  }\n  return LDPS_OK;\n}" type_identifier (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Plugin_manager::" identifier : : identifier : :) (function_declarator "add_input_file(Plugin_manager *this,char *pathname,bool is_lib)" identifier (parameter_list "(Plugin_manager *this,char *pathname,bool is_lib)" ( (parameter_declaration "Plugin_manager *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "char *pathname" primitive_type (pointer_declarator "*pathname" * identifier)) , (parameter_declaration "bool is_lib" primitive_type identifier) ))) (compound_statement "{\n  General_options *this_00;\n  Workqueue *this_01;\n  Dirsearch *pDVar1;\n  Layout *pLVar2;\n  Task_token *pTVar3;\n  Mapfile *pMVar4;\n  Symbol_table *pSVar5;\n  Input_objects *pIVar6;\n  Parameters *this_02;\n  Input_file_type IVar7;\n  bool bVar8;\n  size_t sVar9;\n  undefined1 *puVar10;\n  Task_token *pTVar11;\n  Task *t;\n  char *pcVar12;\n  char *pcVar13;\n  Input_file_type local_100;\n  Input_file_argument file;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_98;\n  Input_file_type local_78;\n  basic_string<char,_std::char_traits<char>,_std::allocator<char>_> local_70;\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  uint local_3c;\n  \n  this_00 = this->options_;\n  if (is_lib) {\n    pcVar12 = (this->extra_search_path_)._M_dataplus._M_p;\n    local_100 = INPUT_FILE_TYPE_LIBRARY;\n    pcVar13 = (char *)0xffffffffffffffff;\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    IVar7 = INPUT_FILE_TYPE_LIBRARY;\n    if (pathname != (char *)0x0) goto LAB_0024f1b3;\n  }\n  else {\n    pcVar12 = "";\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    IVar7 = INPUT_FILE_TYPE_FILE;\n    if (pathname == (char *)0x0) {\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&file.name_,0,0xffffffffffffffff);\n      file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n      file.type_ = INPUT_FILE_TYPE_FILE;\n      pcVar13 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = IVar7;\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    sVar9 = strlen(pathname);\n    pcVar13 = pathname + sVar9;\n  }\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>(&file.name_,pathname,pcVar13);\n  pcVar13 = (char *)0xffffffffffffffff;\n  file.type_ = local_100;\n  file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n  if (pcVar12 != (char *)0x0) {\n    sVar9 = strlen(pcVar12);\n    pcVar13 = pcVar12 + sVar9;\n  }\nLAB_0024f1f5:\n                    /* try { // try from 0024f1fd to 0024f201 has its CatchHandler @ 0024f543 */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>(&file.extra_search_path_,pcVar12,pcVar13);\n  file.options_.as_needed_ = (this_00->as_needed_).value;\n  file.just_symbols_ = false;\n  file.options_.Bdynamic_ = (this_00->Bdynamic_).value;\n                    /* try { // try from 0024f220 to 0024f224 has its CatchHandler @ 0024f573 */\n  file.options_.format_enum_ = General_options::format_enum(this_00);\n  file.arg_serial_ = 0;\n  file.options_.whole_archive_ = (this_00->whole_archive_).value;\n  file.options_.incremental_disposition_ = this_00->incremental_disposition_;\n  local_98._M_dataplus._M_p = (pointer)&local_98.field_2;\n                    /* try { // try from 0024f264 to 0024f268 has its CatchHandler @ 0024f56b */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>(&local_98,file.name_._M_dataplus._M_p,\n                      file.name_._M_dataplus._M_p + file.name_._M_string_length);\n  local_78 = file.type_;\n  local_70._M_dataplus._M_p = (pointer)&local_70.field_2;\n                    /* try { // try from 0024f291 to 0024f295 has its CatchHandler @ 0024f563 */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>(&local_70,file.extra_search_path_._M_dataplus._M_p,\n                      file.extra_search_path_._M_dataplus._M_p +\n                      file.extra_search_path_._M_string_length);\n  local_4c = CONCAT44(file.options_.format_enum_,\n                      CONCAT22(file.options_._2_2_,\n                               CONCAT11(file.options_.Bdynamic_,file.options_.as_needed_)));\n  uStack_44 = CONCAT44(file.options_.incremental_disposition_,file.options_._8_4_);\n  local_50 = file.just_symbols_;\n  local_3c = file.arg_serial_;\n                    /* try { // try from 0024f2c0 to 0024f2c4 has its CatchHandler @ 0024f55b */\n  puVar10 = (undefined1 *)operator_new(0x80);\n  *puVar10 = 1;\n  *(undefined1 **)(puVar10 + 8) = puVar10 + 0x18;\n                    /* try { // try from 0024f2e9 to 0024f2ed has its CatchHandler @ 0024f553 */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                      (puVar10 + 8),local_98._M_dataplus._M_p,\n                      local_98._M_dataplus._M_p + local_98._M_string_length);\n  *(Input_file_type *)(puVar10 + 0x28) = local_78;\n  *(undefined1 **)(puVar10 + 0x30) = puVar10 + 0x40;\n                    /* try { // try from 0024f317 to 0024f31b has its CatchHandler @ 0024f54b */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::allocator<char>_> *)\n                      (puVar10 + 0x30),local_70._M_dataplus._M_p,\n                      local_70._M_dataplus._M_p + local_70._M_string_length);\n  *(undefined8 *)(puVar10 + 0x68) = 0;\n  *(undefined8 *)(puVar10 + 0x70) = 0;\n  puVar10[0x50] = local_50;\n  *(undefined8 *)(puVar10 + 0x54) = local_4c;\n  *(undefined8 *)(puVar10 + 0x5c) = uStack_44;\n  *(uint *)(puVar10 + 100) = local_3c;\n  *(undefined8 *)(puVar10 + 0x78) = 0;\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_70._M_dataplus._M_p != &local_70.field_2) {\n    operator_delete(local_70._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       *)local_98._M_dataplus._M_p != &local_98.field_2) {\n    operator_delete(local_98._M_dataplus._M_p);\n  }\n                    /* try { // try from 0024f384 to 0024f486 has its CatchHandler @ 0024f56b */\n  pTVar11 = (Task_token *)operator_new(0x20);\n  pTVar11->is_blocker_ = true;\n  this_02 = parameters;\n  pTVar11->writer_ = (Task *)0x0;\n  (pTVar11->waiting_).head_ = (Task *)0x0;\n  (pTVar11->waiting_).tail_ = (Task *)0x0;\n  pTVar11->blockers_ = 1;\n  bVar8 = Parameters::incremental(this_02);\n  if (bVar8) {\n    pcVar12 = (char *)gettext(\n                             "input files added by plug-ins in --incremental mode not supported yet"\n                             );\n                    /* try { // try from 0024f539 to 0024f53d has its CatchHandler @ 0024f56b */\n    gold_error(pcVar12);\n  }\n  if (this->recorder_ != (Plugin_recorder *)0x0) {\n    Plugin_recorder::replacement_file(this->recorder_,pathname,is_lib);\n  }\n  this_01 = this->workqueue_;\n  t = (Task *)operator_new(0x90);\n  pDVar1 = this->dirpath_;\n  pLVar2 = this->layout_;\n  pTVar3 = this->this_blocker_;\n  pMVar4 = this->mapfile_;\n  t->list_next_ = (Task *)0x0;\n  pSVar5 = this->symtab_;\n  pIVar6 = this->input_objects_;\n  t[1].name_._M_dataplus._M_p = (pointer)pLVar2;\n  t[1].name_._M_string_length = (size_type)pDVar1;\n  (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n  (t->name_)._M_string_length = 0;\n  (t->name_).field_2._M_local_buf[0] = '\0';\n  t->should_run_soon_ = false;\n  t->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_00447b60;\n  t[1]._vptr_Task = (_func_int_varargs **)pIVar6;\n  t[1].list_next_ = (Task *)pSVar5;\n  *(undefined4 *)&t[1].name_.field_2 = 0;\n  *(Mapfile **)((long)&t[1].name_.field_2 + 8) = pMVar4;\n  *(undefined1 **)&t[1].should_run_soon_ = puVar10;\n  t[2]._vptr_Task = (_func_int_varargs **)0x0;\n  t[2].list_next_ = (Task *)0x0;\n  t[2].name_._M_dataplus._M_p = &pTVar3->is_blocker_;\n  t[2].name_._M_string_length = (size_type)pTVar11;\n  Workqueue::queue_soon(this_01,t);\n  this->this_blocker_ = pTVar11;\n  this->any_added_ = true;\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {\n    operator_delete(file.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       *)file.name_._M_dataplus._M_p != &file.name_.field_2) {\n    operator_delete(file.name_._M_dataplus._M_p);\n  }\n  return LDPS_OK;\n}" { (declaration "General_options *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "Workqueue *this_01;" type_identifier (pointer_declarator "*this_01" * identifier) ;) (declaration "Dirsearch *pDVar1;" type_identifier (pointer_declarator "*pDVar1" * identifier) ;) (declaration "Layout *pLVar2;" type_identifier (pointer_declarator "*pLVar2" * identifier) ;) (declaration "Task_token *pTVar3;" type_identifier (pointer_declarator "*pTVar3" * identifier) ;) (declaration "Mapfile *pMVar4;" type_identifier (pointer_declarator "*pMVar4" * identifier) ;) (declaration "Symbol_table *pSVar5;" type_identifier (pointer_declarator "*pSVar5" * identifier) ;) (declaration "Input_objects *pIVar6;" type_identifier (pointer_declarator "*pIVar6" * identifier) ;) (declaration "Parameters *this_02;" type_identifier (pointer_declarator "*this_02" * identifier) ;) (declaration "Input_file_type IVar7;" type_identifier identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "Task_token *pTVar11;" type_identifier (pointer_declarator "*pTVar11" * identifier) ;) (declaration "Task *t;" type_identifier (pointer_declarator "*t" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "Input_file_type local_100;" type_identifier identifier ;) (declaration "Input_file_argument file;" type_identifier identifier ;) (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_> local_98;" (binary_expression "allocator<char>_> local_98" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) ;) (declaration "Input_file_type local_78;" type_identifier identifier ;) (ERROR "basic_string<char,_std::char_traits<char>,_std::" (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_> local_70;" (binary_expression "allocator<char>_> local_70" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) ;) (declaration "undefined1 local_50;" type_identifier identifier ;) (declaration "undefined8 local_4c;" type_identifier identifier ;) (declaration "undefined8 uStack_44;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (expression_statement "this_00 = this->options_;" (assignment_expression "this_00 = this->options_" identifier = (field_expression "this->options_" identifier -> field_identifier)) ;) (if_statement "if (is_lib) {\n    pcVar12 = (this->extra_search_path_)._M_dataplus._M_p;\n    local_100 = INPUT_FILE_TYPE_LIBRARY;\n    pcVar13 = (char *)0xffffffffffffffff;\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    IVar7 = INPUT_FILE_TYPE_LIBRARY;\n    if (pathname != (char *)0x0) goto LAB_0024f1b3;\n  }\n  else {\n    pcVar12 = "";\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    IVar7 = INPUT_FILE_TYPE_FILE;\n    if (pathname == (char *)0x0) {\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&file.name_,0,0xffffffffffffffff);\n      file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n      file.type_ = INPUT_FILE_TYPE_FILE;\n      pcVar13 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = IVar7;\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    sVar9 = strlen(pathname);\n    pcVar13 = pathname + sVar9;\n  }" if (parenthesized_expression "(is_lib)" ( identifier )) (compound_statement "{\n    pcVar12 = (this->extra_search_path_)._M_dataplus._M_p;\n    local_100 = INPUT_FILE_TYPE_LIBRARY;\n    pcVar13 = (char *)0xffffffffffffffff;\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    IVar7 = INPUT_FILE_TYPE_LIBRARY;\n    if (pathname != (char *)0x0) goto LAB_0024f1b3;\n  }" { (expression_statement "pcVar12 = (this->extra_search_path_)._M_dataplus._M_p;" (assignment_expression "pcVar12 = (this->extra_search_path_)._M_dataplus._M_p" identifier = (field_expression "(this->extra_search_path_)._M_dataplus._M_p" (field_expression "(this->extra_search_path_)._M_dataplus" (parenthesized_expression "(this->extra_search_path_)" ( (field_expression "this->extra_search_path_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "local_100 = INPUT_FILE_TYPE_LIBRARY;" (assignment_expression "local_100 = INPUT_FILE_TYPE_LIBRARY" identifier = identifier) ;) (expression_statement "pcVar13 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar13 = (char *)0xffffffffffffffff" identifier = (cast_expression "(char *)0xffffffffffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;" (assignment_expression "file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2" (field_expression "file.name_._M_dataplus._M_p" (field_expression "file.name_._M_dataplus" (field_expression "file.name_" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(pointer)&file.name_.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "file.name_.field_2" (field_expression "file.name_" identifier . field_identifier) . field_identifier))) ;) (expression_statement "IVar7 = INPUT_FILE_TYPE_LIBRARY;" (assignment_expression "IVar7 = INPUT_FILE_TYPE_LIBRARY" identifier = identifier) ;) (if_statement "if (pathname != (char *)0x0) goto LAB_0024f1b3;" if (parenthesized_expression "(pathname != (char *)0x0)" ( (binary_expression "pathname != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0024f1b3;" goto statement_identifier ;)) }) (else_clause "else {\n    pcVar12 = "";\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    IVar7 = INPUT_FILE_TYPE_FILE;\n    if (pathname == (char *)0x0) {\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&file.name_,0,0xffffffffffffffff);\n      file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n      file.type_ = INPUT_FILE_TYPE_FILE;\n      pcVar13 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = IVar7;\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    sVar9 = strlen(pathname);\n    pcVar13 = pathname + sVar9;\n  }" else (compound_statement "{\n    pcVar12 = "";\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    IVar7 = INPUT_FILE_TYPE_FILE;\n    if (pathname == (char *)0x0) {\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&file.name_,0,0xffffffffffffffff);\n      file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n      file.type_ = INPUT_FILE_TYPE_FILE;\n      pcVar13 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = IVar7;\n    file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;\n    sVar9 = strlen(pathname);\n    pcVar13 = pathname + sVar9;\n  }" { (expression_statement "pcVar12 = "";" (assignment_expression "pcVar12 = """ identifier = (string_literal """" " ")) ;) (expression_statement "file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;" (assignment_expression "file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2" (field_expression "file.name_._M_dataplus._M_p" (field_expression "file.name_._M_dataplus" (field_expression "file.name_" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(pointer)&file.name_.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "file.name_.field_2" (field_expression "file.name_" identifier . field_identifier) . field_identifier))) ;) (expression_statement "IVar7 = INPUT_FILE_TYPE_FILE;" (assignment_expression "IVar7 = INPUT_FILE_TYPE_FILE" identifier = identifier) ;) (if_statement "if (pathname == (char *)0x0) {\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&file.name_,0,0xffffffffffffffff);\n      file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n      file.type_ = INPUT_FILE_TYPE_FILE;\n      pcVar13 = "";\n      goto LAB_0024f1f5;\n    }" if (parenthesized_expression "(pathname == (char *)0x0)" ( (binary_expression "pathname == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&file.name_,0,0xffffffffffffffff);\n      file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;\n      file.type_ = INPUT_FILE_TYPE_FILE;\n      pcVar13 = "";\n      goto LAB_0024f1f5;\n    }" { (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n      _M_construct<char_const*>(&file.name_,0,0xffffffffffffffff);" 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*>(&file.name_,0,0xffffffffffffffff);" (binary_expression "_M_construct<char_const*>(&file.name_,0,0xffffffffffffffff)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&file.name_,0,0xffffffffffffffff)" ( (comma_expression "&file.name_,0,0xffffffffffffffff" (pointer_expression "&file.name_" & (field_expression "file.name_" identifier . field_identifier)) , (comma_expression "0,0xffffffffffffffff" number_literal , number_literal)) ))) ;)) (expression_statement "file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;" (assignment_expression "file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2" (field_expression "file.extra_search_path_._M_dataplus._M_p" (field_expression "file.extra_search_path_._M_dataplus" (field_expression "file.extra_search_path_" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(pointer)&file.extra_search_path_.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "file.extra_search_path_.field_2" (field_expression "file.extra_search_path_" identifier . field_identifier) . field_identifier))) ;) (expression_statement "file.type_ = INPUT_FILE_TYPE_FILE;" (assignment_expression "file.type_ = INPUT_FILE_TYPE_FILE" (field_expression "file.type_" identifier . field_identifier) = identifier) ;) (expression_statement "pcVar13 = "";" (assignment_expression "pcVar13 = """ identifier = (string_literal """" " ")) ;) (goto_statement "goto LAB_0024f1f5;" goto statement_identifier ;) })) (labeled_statement "LAB_0024f1b3:\n    local_100 = IVar7;" statement_identifier : (expression_statement "local_100 = IVar7;" (assignment_expression "local_100 = IVar7" identifier = identifier) ;)) (expression_statement "file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2;" (assignment_expression "file.name_._M_dataplus._M_p = (pointer)&file.name_.field_2" (field_expression "file.name_._M_dataplus._M_p" (field_expression "file.name_._M_dataplus" (field_expression "file.name_" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(pointer)&file.name_.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "file.name_.field_2" (field_expression "file.name_" identifier . field_identifier) . field_identifier))) ;) (expression_statement "sVar9 = strlen(pathname);" (assignment_expression "sVar9 = strlen(pathname)" identifier = (call_expression "strlen(pathname)" identifier (argument_list "(pathname)" ( identifier )))) ;) (expression_statement "pcVar13 = pathname + sVar9;" (assignment_expression "pcVar13 = pathname + sVar9" identifier = (binary_expression "pathname + sVar9" identifier + identifier)) ;) }))) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>(&file.name_,pathname,pcVar13);" 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*>(&file.name_,pathname,pcVar13);" (binary_expression "_M_construct<char_const*>(&file.name_,pathname,pcVar13)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&file.name_,pathname,pcVar13)" ( (comma_expression "&file.name_,pathname,pcVar13" (pointer_expression "&file.name_" & (field_expression "file.name_" identifier . field_identifier)) , (comma_expression "pathname,pcVar13" identifier , identifier)) ))) ;)) (expression_statement "pcVar13 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar13 = (char *)0xffffffffffffffff" identifier = (cast_expression "(char *)0xffffffffffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "file.type_ = local_100;" (assignment_expression "file.type_ = local_100" (field_expression "file.type_" identifier . field_identifier) = identifier) ;) (expression_statement "file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2;" (assignment_expression "file.extra_search_path_._M_dataplus._M_p = (pointer)&file.extra_search_path_.field_2" (field_expression "file.extra_search_path_._M_dataplus._M_p" (field_expression "file.extra_search_path_._M_dataplus" (field_expression "file.extra_search_path_" identifier . field_identifier) . field_identifier) . field_identifier) = (binary_expression "(pointer)&file.extra_search_path_.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "file.extra_search_path_.field_2" (field_expression "file.extra_search_path_" identifier . field_identifier) . field_identifier))) ;) (if_statement "if (pcVar12 != (char *)0x0) {\n    sVar9 = strlen(pcVar12);\n    pcVar13 = pcVar12 + sVar9;\n  }" if (parenthesized_expression "(pcVar12 != (char *)0x0)" ( (binary_expression "pcVar12 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    sVar9 = strlen(pcVar12);\n    pcVar13 = pcVar12 + sVar9;\n  }" { (expression_statement "sVar9 = strlen(pcVar12);" (assignment_expression "sVar9 = strlen(pcVar12)" identifier = (call_expression "strlen(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier )))) ;) (expression_statement "pcVar13 = pcVar12 + sVar9;" (assignment_expression "pcVar13 = pcVar12 + sVar9" identifier = (binary_expression "pcVar12 + sVar9" identifier + identifier)) ;) })) (labeled_statement "LAB_0024f1f5:\n                    /* try { // try from 0024f1fd to 0024f201 has its CatchHandler @ 0024f543 */\n  std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>(&file.extra_search_path_,pcVar12,pcVar13);" statement_identifier : comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char_const*>(&file.extra_search_path_,pcVar12,pcVar13);" 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*>(&file.extra_search_path_,pcVar12,pcVar13);" (binary_expression "_M_construct<char_const*>(&file.extra_search_path_,pcVar12,pcVar13)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&file.extra_search_path_,pcVar12,pcVar13)" ( (comma_expression "&file.extra_search_path_,pcVar12,pcVar13" (pointer_expression "&file.extra_search_path_" & (field_expression "file.extra_search_path_" identifier . field_identifier)) , (comma_expression "pcVar12,pcVar13" identifier , identifier)) ))) ;))) (expression_statement "file.options_.as_needed_ = (this_00->as_needed_).value;" (assignment_expression "file.options_.as_needed_ = (this_00->as_needed_).value" (field_expression "file.options_.as_needed_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) = (field_expression "(this_00->as_needed_).value" (parenthesized_expression "(this_00->as_needed_)" ( (field_expression "this_00->as_needed_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "file.just_symbols_ = false;" (assignment_expression "file.just_symbols_ = false" (field_expression "file.just_symbols_" identifier . field_identifier) = false) ;) (expression_statement "file.options_.Bdynamic_ = (this_00->Bdynamic_).value;" (assignment_expression "file.options_.Bdynamic_ = (this_00->Bdynamic_).value" (field_expression "file.options_.Bdynamic_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) = (field_expression "(this_00->Bdynamic_).value" (parenthesized_expression "(this_00->Bdynamic_)" ( (field_expression "this_00->Bdynamic_" identifier -> field_identifier) )) . field_identifier)) ;) comment (ERROR "file.options_.format_enum_ = General_options::" (assignment_expression "file.options_.format_enum_ = General_options" (field_expression "file.options_.format_enum_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) = identifier) : :) (expression_statement "format_enum(this_00);" (call_expression "format_enum(this_00)" identifier (argument_list "(this_00)" ( identifier ))) ;) (expression_statement "file.arg_serial_ = 0;" (assignment_expression "file.arg_serial_ = 0" (field_expression "file.arg_serial_" identifier . field_identifier) = number_literal) ;) (expression_statement "file.options_.whole_archive_ = (this_00->whole_archive_).value;" (assignment_expression "file.options_.whole_archive_ = (this_00->whole_archive_).value" (field_expression "file.options_.whole_archive_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) = (field_expression "(this_00->whole_archive_).value" (parenthesized_expression "(this_00->whole_archive_)" ( (field_expression "this_00->whole_archive_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "file.options_.incremental_disposition_ = this_00->incremental_disposition_;" (assignment_expression "file.options_.incremental_disposition_ = this_00->incremental_disposition_" (field_expression "file.options_.incremental_disposition_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) = (field_expression "this_00->incremental_disposition_" identifier -> field_identifier)) ;) (expression_statement "local_98._M_dataplus._M_p = (pointer)&local_98.field_2;" (assignment_expression "local_98._M_dataplus._M_p = (pointer)&local_98.field_2" (field_expression "local_98._M_dataplus._M_p" (field_expression "local_98._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "(pointer)&local_98.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "local_98.field_2" identifier . field_identifier))) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>(&local_98,file.name_._M_dataplus._M_p,\n                      file.name_._M_dataplus._M_p + file.name_._M_string_length);" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char*>(&local_98,file.name_._M_dataplus._M_p,\n                      file.name_._M_dataplus._M_p + file.name_._M_string_length);" (binary_expression "_M_construct<char*>(&local_98,file.name_._M_dataplus._M_p,\n                      file.name_._M_dataplus._M_p + file.name_._M_string_length)" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&local_98,file.name_._M_dataplus._M_p,\n                      file.name_._M_dataplus._M_p + file.name_._M_string_length)" ( (comma_expression "&local_98,file.name_._M_dataplus._M_p,\n                      file.name_._M_dataplus._M_p + file.name_._M_string_length" (pointer_expression "&local_98" & identifier) , (comma_expression "file.name_._M_dataplus._M_p,\n                      file.name_._M_dataplus._M_p + file.name_._M_string_length" (field_expression "file.name_._M_dataplus._M_p" (field_expression "file.name_._M_dataplus" (field_expression "file.name_" identifier . field_identifier) . field_identifier) . field_identifier) , (binary_expression "file.name_._M_dataplus._M_p + file.name_._M_string_length" (field_expression "file.name_._M_dataplus._M_p" (field_expression "file.name_._M_dataplus" (field_expression "file.name_" identifier . field_identifier) . field_identifier) . field_identifier) + (field_expression "file.name_._M_string_length" (field_expression "file.name_" identifier . field_identifier) . field_identifier)))) ))) ;)) (expression_statement "local_78 = file.type_;" (assignment_expression "local_78 = file.type_" identifier = (field_expression "file.type_" identifier . field_identifier)) ;) (expression_statement "local_70._M_dataplus._M_p = (pointer)&local_70.field_2;" (assignment_expression "local_70._M_dataplus._M_p = (pointer)&local_70.field_2" (field_expression "local_70._M_dataplus._M_p" (field_expression "local_70._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "(pointer)&local_70.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "local_70.field_2" identifier . field_identifier))) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>(&local_70,file.extra_search_path_._M_dataplus._M_p,\n                      file.extra_search_path_._M_dataplus._M_p +\n                      file.extra_search_path_._M_string_length);" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char*>(&local_70,file.extra_search_path_._M_dataplus._M_p,\n                      file.extra_search_path_._M_dataplus._M_p +\n                      file.extra_search_path_._M_string_length);" (binary_expression "_M_construct<char*>(&local_70,file.extra_search_path_._M_dataplus._M_p,\n                      file.extra_search_path_._M_dataplus._M_p +\n                      file.extra_search_path_._M_string_length)" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(&local_70,file.extra_search_path_._M_dataplus._M_p,\n                      file.extra_search_path_._M_dataplus._M_p +\n                      file.extra_search_path_._M_string_length)" ( (comma_expression "&local_70,file.extra_search_path_._M_dataplus._M_p,\n                      file.extra_search_path_._M_dataplus._M_p +\n                      file.extra_search_path_._M_string_length" (pointer_expression "&local_70" & identifier) , (comma_expression "file.extra_search_path_._M_dataplus._M_p,\n                      file.extra_search_path_._M_dataplus._M_p +\n                      file.extra_search_path_._M_string_length" (field_expression "file.extra_search_path_._M_dataplus._M_p" (field_expression "file.extra_search_path_._M_dataplus" (field_expression "file.extra_search_path_" identifier . field_identifier) . field_identifier) . field_identifier) , (binary_expression "file.extra_search_path_._M_dataplus._M_p +\n                      file.extra_search_path_._M_string_length" (field_expression "file.extra_search_path_._M_dataplus._M_p" (field_expression "file.extra_search_path_._M_dataplus" (field_expression "file.extra_search_path_" identifier . field_identifier) . field_identifier) . field_identifier) + (field_expression "file.extra_search_path_._M_string_length" (field_expression "file.extra_search_path_" identifier . field_identifier) . field_identifier)))) ))) ;)) (expression_statement "local_4c = CONCAT44(file.options_.format_enum_,\n                      CONCAT22(file.options_._2_2_,\n                               CONCAT11(file.options_.Bdynamic_,file.options_.as_needed_)));" (assignment_expression "local_4c = CONCAT44(file.options_.format_enum_,\n                      CONCAT22(file.options_._2_2_,\n                               CONCAT11(file.options_.Bdynamic_,file.options_.as_needed_)))" identifier = (call_expression "CONCAT44(file.options_.format_enum_,\n                      CONCAT22(file.options_._2_2_,\n                               CONCAT11(file.options_.Bdynamic_,file.options_.as_needed_)))" identifier (argument_list "(file.options_.format_enum_,\n                      CONCAT22(file.options_._2_2_,\n                               CONCAT11(file.options_.Bdynamic_,file.options_.as_needed_)))" ( (field_expression "file.options_.format_enum_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) , (call_expression "CONCAT22(file.options_._2_2_,\n                               CONCAT11(file.options_.Bdynamic_,file.options_.as_needed_))" identifier (argument_list "(file.options_._2_2_,\n                               CONCAT11(file.options_.Bdynamic_,file.options_.as_needed_))" ( (field_expression "file.options_._2_2_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) , (call_expression "CONCAT11(file.options_.Bdynamic_,file.options_.as_needed_)" identifier (argument_list "(file.options_.Bdynamic_,file.options_.as_needed_)" ( (field_expression "file.options_.Bdynamic_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) , (field_expression "file.options_.as_needed_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) ))) ))) )))) ;) (expression_statement "uStack_44 = CONCAT44(file.options_.incremental_disposition_,file.options_._8_4_);" (assignment_expression "uStack_44 = CONCAT44(file.options_.incremental_disposition_,file.options_._8_4_)" identifier = (call_expression "CONCAT44(file.options_.incremental_disposition_,file.options_._8_4_)" identifier (argument_list "(file.options_.incremental_disposition_,file.options_._8_4_)" ( (field_expression "file.options_.incremental_disposition_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) , (field_expression "file.options_._8_4_" (field_expression "file.options_" identifier . field_identifier) . field_identifier) )))) ;) (expression_statement "local_50 = file.just_symbols_;" (assignment_expression "local_50 = file.just_symbols_" identifier = (field_expression "file.just_symbols_" identifier . field_identifier)) ;) (expression_statement "local_3c = file.arg_serial_;" (assignment_expression "local_3c = file.arg_serial_" identifier = (field_expression "file.arg_serial_" identifier . field_identifier)) ;) comment (expression_statement "puVar10 = (undefined1 *)operator_new(0x80);" (assignment_expression "puVar10 = (undefined1 *)operator_new(0x80)" identifier = (cast_expression "(undefined1 *)operator_new(0x80)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x80)" identifier (argument_list "(0x80)" ( number_literal ))))) ;) (expression_statement "*puVar10 = 1;" (assignment_expression "*puVar10 = 1" (pointer_expression "*puVar10" * identifier) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar10 + 8) = puVar10 + 0x18;" (assignment_expression "*(undefined1 **)(puVar10 + 8) = puVar10 + 0x18" (pointer_expression "*(undefined1 **)(puVar10 + 8)" * (cast_expression "(undefined1 **)(puVar10 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 8)" ( (binary_expression "puVar10 + 8" identifier + number_literal) )))) = (binary_expression "puVar10 + 0x18" identifier + number_literal)) ;) comment (ERROR "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::" (comma_expression "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>((basic_string<char,_std::char_traits<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) > : : (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > ( ( (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_> *)\n                      (puVar10 + 8),local_98._M_dataplus._M_p,\n                      local_98._M_dataplus._M_p + local_98._M_string_length);" (comma_expression "allocator<char>_> *)\n                      (puVar10 + 8),local_98._M_dataplus._M_p,\n                      local_98._M_dataplus._M_p + local_98._M_string_length" (binary_expression "allocator<char>_> *)\n                      (puVar10 + 8)" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)\n                      (puVar10 + 8)" * (ERROR ")" )) (parenthesized_expression "(puVar10 + 8)" ( (binary_expression "puVar10 + 8" identifier + number_literal) )))) , (comma_expression "local_98._M_dataplus._M_p,\n                      local_98._M_dataplus._M_p + local_98._M_string_length" (field_expression "local_98._M_dataplus._M_p" (field_expression "local_98._M_dataplus" identifier . field_identifier) . field_identifier) , (binary_expression "local_98._M_dataplus._M_p + local_98._M_string_length" (field_expression "local_98._M_dataplus._M_p" (field_expression "local_98._M_dataplus" identifier . field_identifier) . field_identifier) + (field_expression "local_98._M_string_length" identifier . field_identifier)))) (ERROR ")" )) ;) (expression_statement "*(Input_file_type *)(puVar10 + 0x28) = local_78;" (assignment_expression "*(Input_file_type *)(puVar10 + 0x28) = local_78" (pointer_expression "*(Input_file_type *)(puVar10 + 0x28)" * (cast_expression "(Input_file_type *)(puVar10 + 0x28)" ( (type_descriptor "Input_file_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x28)" ( (binary_expression "puVar10 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar10 + 0x30) = puVar10 + 0x40;" (assignment_expression "*(undefined1 **)(puVar10 + 0x30) = puVar10 + 0x40" (pointer_expression "*(undefined1 **)(puVar10 + 0x30)" * (cast_expression "(undefined1 **)(puVar10 + 0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x30)" ( (binary_expression "puVar10 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar10 + 0x40" identifier + number_literal)) ;) comment (ERROR "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std::" (comma_expression "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>((basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n  _M_construct<char*>((basic_string<char,_std::char_traits<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) > : : (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > ( ( (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_> *)\n                      (puVar10 + 0x30),local_70._M_dataplus._M_p,\n                      local_70._M_dataplus._M_p + local_70._M_string_length);" (comma_expression "allocator<char>_> *)\n                      (puVar10 + 0x30),local_70._M_dataplus._M_p,\n                      local_70._M_dataplus._M_p + local_70._M_string_length" (binary_expression "allocator<char>_> *)\n                      (puVar10 + 0x30)" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "*)\n                      (puVar10 + 0x30)" * (ERROR ")" )) (parenthesized_expression "(puVar10 + 0x30)" ( (binary_expression "puVar10 + 0x30" identifier + number_literal) )))) , (comma_expression "local_70._M_dataplus._M_p,\n                      local_70._M_dataplus._M_p + local_70._M_string_length" (field_expression "local_70._M_dataplus._M_p" (field_expression "local_70._M_dataplus" identifier . field_identifier) . field_identifier) , (binary_expression "local_70._M_dataplus._M_p + local_70._M_string_length" (field_expression "local_70._M_dataplus._M_p" (field_expression "local_70._M_dataplus" identifier . field_identifier) . field_identifier) + (field_expression "local_70._M_string_length" identifier . field_identifier)))) (ERROR ")" )) ;) (expression_statement "*(undefined8 *)(puVar10 + 0x68) = 0;" (assignment_expression "*(undefined8 *)(puVar10 + 0x68) = 0" (pointer_expression "*(undefined8 *)(puVar10 + 0x68)" * (cast_expression "(undefined8 *)(puVar10 + 0x68)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x68)" ( (binary_expression "puVar10 + 0x68" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(puVar10 + 0x70) = 0;" (assignment_expression "*(undefined8 *)(puVar10 + 0x70) = 0" (pointer_expression "*(undefined8 *)(puVar10 + 0x70)" * (cast_expression "(undefined8 *)(puVar10 + 0x70)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x70)" ( (binary_expression "puVar10 + 0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar10[0x50] = local_50;" (assignment_expression "puVar10[0x50] = local_50" (subscript_expression "puVar10[0x50]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 *)(puVar10 + 0x54) = local_4c;" (assignment_expression "*(undefined8 *)(puVar10 + 0x54) = local_4c" (pointer_expression "*(undefined8 *)(puVar10 + 0x54)" * (cast_expression "(undefined8 *)(puVar10 + 0x54)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x54)" ( (binary_expression "puVar10 + 0x54" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(puVar10 + 0x5c) = uStack_44;" (assignment_expression "*(undefined8 *)(puVar10 + 0x5c) = uStack_44" (pointer_expression "*(undefined8 *)(puVar10 + 0x5c)" * (cast_expression "(undefined8 *)(puVar10 + 0x5c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x5c)" ( (binary_expression "puVar10 + 0x5c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar10 + 100) = local_3c;" (assignment_expression "*(uint *)(puVar10 + 100) = local_3c" (pointer_expression "*(uint *)(puVar10 + 100)" * (cast_expression "(uint *)(puVar10 + 100)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 100)" ( (binary_expression "puVar10 + 100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(puVar10 + 0x78) = 0;" (assignment_expression "*(undefined8 *)(puVar10 + 0x78) = 0" (pointer_expression "*(undefined8 *)(puVar10 + 0x78)" * (cast_expression "(undefined8 *)(puVar10 + 0x78)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x78)" ( (binary_expression "puVar10 + 0x78" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_70._M_dataplus._M_p != &local_70.field_2) {\n    operator_delete(local_70._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_70._M_dataplus._M_p != &local_70.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_70._M_dataplus._M_p != &local_70.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_70._M_dataplus._M_p != &local_70.field_2" (binary_expression "allocator<char>_>_9\n       *)local_70._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)local_70._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_70._M_dataplus._M_p" (field_expression "local_70._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&local_70.field_2" & (field_expression "local_70.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n    operator_delete(local_70._M_dataplus._M_p);\n  }" { (expression_statement "operator_delete(local_70._M_dataplus._M_p);" (call_expression "operator_delete(local_70._M_dataplus._M_p)" identifier (argument_list "(local_70._M_dataplus._M_p)" ( (field_expression "local_70._M_dataplus._M_p" (field_expression "local_70._M_dataplus" 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       *)local_98._M_dataplus._M_p != &local_98.field_2) {\n    operator_delete(local_98._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_98._M_dataplus._M_p != &local_98.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)local_98._M_dataplus._M_p != &local_98.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_98._M_dataplus._M_p != &local_98.field_2" (binary_expression "allocator<char>_>_9\n       *)local_98._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)local_98._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_98._M_dataplus._M_p" (field_expression "local_98._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&local_98.field_2" & (field_expression "local_98.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n    operator_delete(local_98._M_dataplus._M_p);\n  }" { (expression_statement "operator_delete(local_98._M_dataplus._M_p);" (call_expression "operator_delete(local_98._M_dataplus._M_p)" identifier (argument_list "(local_98._M_dataplus._M_p)" ( (field_expression "local_98._M_dataplus._M_p" (field_expression "local_98._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) comment (expression_statement "pTVar11 = (Task_token *)operator_new(0x20);" (assignment_expression "pTVar11 = (Task_token *)operator_new(0x20)" identifier = (cast_expression "(Task_token *)operator_new(0x20)" ( (type_descriptor "Task_token *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x20)" identifier (argument_list "(0x20)" ( number_literal ))))) ;) (expression_statement "pTVar11->is_blocker_ = true;" (assignment_expression "pTVar11->is_blocker_ = true" (field_expression "pTVar11->is_blocker_" identifier -> field_identifier) = true) ;) (expression_statement "this_02 = parameters;" (assignment_expression "this_02 = parameters" identifier = identifier) ;) (expression_statement "pTVar11->writer_ = (Task *)0x0;" (assignment_expression "pTVar11->writer_ = (Task *)0x0" (field_expression "pTVar11->writer_" identifier -> field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pTVar11->waiting_).head_ = (Task *)0x0;" (assignment_expression "(pTVar11->waiting_).head_ = (Task *)0x0" (field_expression "(pTVar11->waiting_).head_" (parenthesized_expression "(pTVar11->waiting_)" ( (field_expression "pTVar11->waiting_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pTVar11->waiting_).tail_ = (Task *)0x0;" (assignment_expression "(pTVar11->waiting_).tail_ = (Task *)0x0" (field_expression "(pTVar11->waiting_).tail_" (parenthesized_expression "(pTVar11->waiting_)" ( (field_expression "pTVar11->waiting_" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pTVar11->blockers_ = 1;" (assignment_expression "pTVar11->blockers_ = 1" (field_expression "pTVar11->blockers_" identifier -> field_identifier) = number_literal) ;) (ERROR "bVar8 = Parameters::" (assignment_expression "bVar8 = Parameters" identifier = identifier) : :) (expression_statement "incremental(this_02);" (call_expression "incremental(this_02)" identifier (argument_list "(this_02)" ( identifier ))) ;) (if_statement "if (bVar8) {\n    pcVar12 = (char *)gettext(\n                             "input files added by plug-ins in --incremental mode not supported yet"\n                             );\n                    /* try { // try from 0024f539 to 0024f53d has its CatchHandler @ 0024f56b */\n    gold_error(pcVar12);\n  }" if (parenthesized_expression "(bVar8)" ( identifier )) (compound_statement "{\n    pcVar12 = (char *)gettext(\n                             "input files added by plug-ins in --incremental mode not supported yet"\n                             );\n                    /* try { // try from 0024f539 to 0024f53d has its CatchHandler @ 0024f56b */\n    gold_error(pcVar12);\n  }" { (expression_statement "pcVar12 = (char *)gettext(\n                             "input files added by plug-ins in --incremental mode not supported yet"\n                             );" (assignment_expression "pcVar12 = (char *)gettext(\n                             "input files added by plug-ins in --incremental mode not supported yet"\n                             )" identifier = (cast_expression "(char *)gettext(\n                             "input files added by plug-ins in --incremental mode not supported yet"\n                             )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                             "input files added by plug-ins in --incremental mode not supported yet"\n                             )" identifier (argument_list "(\n                             "input files added by plug-ins in --incremental mode not supported yet"\n                             )" ( (string_literal ""input files added by plug-ins in --incremental mode not supported yet"" " string_content ") ))))) ;) comment (expression_statement "gold_error(pcVar12);" (call_expression "gold_error(pcVar12)" identifier (argument_list "(pcVar12)" ( identifier ))) ;) })) (if_statement "if (this->recorder_ != (Plugin_recorder *)0x0) {\n    Plugin_recorder::replacement_file(this->recorder_,pathname,is_lib);\n  }" if (parenthesized_expression "(this->recorder_ != (Plugin_recorder *)0x0)" ( (binary_expression "this->recorder_ != (Plugin_recorder *)0x0" (field_expression "this->recorder_" identifier -> field_identifier) != (cast_expression "(Plugin_recorder *)0x0" ( (type_descriptor "Plugin_recorder *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    Plugin_recorder::replacement_file(this->recorder_,pathname,is_lib);\n  }" { (labeled_statement "Plugin_recorder::replacement_file(this->recorder_,pathname,is_lib);" statement_identifier : (ERROR ":" :) (expression_statement "replacement_file(this->recorder_,pathname,is_lib);" (call_expression "replacement_file(this->recorder_,pathname,is_lib)" identifier (argument_list "(this->recorder_,pathname,is_lib)" ( (field_expression "this->recorder_" identifier -> field_identifier) , identifier , identifier ))) ;)) })) (expression_statement "this_01 = this->workqueue_;" (assignment_expression "this_01 = this->workqueue_" identifier = (field_expression "this->workqueue_" identifier -> field_identifier)) ;) (expression_statement "t = (Task *)operator_new(0x90);" (assignment_expression "t = (Task *)operator_new(0x90)" identifier = (cast_expression "(Task *)operator_new(0x90)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x90)" identifier (argument_list "(0x90)" ( number_literal ))))) ;) (expression_statement "pDVar1 = this->dirpath_;" (assignment_expression "pDVar1 = this->dirpath_" identifier = (field_expression "this->dirpath_" identifier -> field_identifier)) ;) (expression_statement "pLVar2 = this->layout_;" (assignment_expression "pLVar2 = this->layout_" identifier = (field_expression "this->layout_" identifier -> field_identifier)) ;) (expression_statement "pTVar3 = this->this_blocker_;" (assignment_expression "pTVar3 = this->this_blocker_" identifier = (field_expression "this->this_blocker_" identifier -> field_identifier)) ;) (expression_statement "pMVar4 = this->mapfile_;" (assignment_expression "pMVar4 = this->mapfile_" identifier = (field_expression "this->mapfile_" identifier -> field_identifier)) ;) (expression_statement "t->list_next_ = (Task *)0x0;" (assignment_expression "t->list_next_ = (Task *)0x0" (field_expression "t->list_next_" identifier -> field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pSVar5 = this->symtab_;" (assignment_expression "pSVar5 = this->symtab_" identifier = (field_expression "this->symtab_" identifier -> field_identifier)) ;) (expression_statement "pIVar6 = this->input_objects_;" (assignment_expression "pIVar6 = this->input_objects_" identifier = (field_expression "this->input_objects_" identifier -> field_identifier)) ;) (expression_statement "t[1].name_._M_dataplus._M_p = (pointer)pLVar2;" (assignment_expression "t[1].name_._M_dataplus._M_p = (pointer)pLVar2" (field_expression "t[1].name_._M_dataplus._M_p" (field_expression "t[1].name_._M_dataplus" (field_expression "t[1].name_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)pLVar2" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "t[1].name_._M_string_length = (size_type)pDVar1;" (assignment_expression "t[1].name_._M_string_length = (size_type)pDVar1" (field_expression "t[1].name_._M_string_length" (field_expression "t[1].name_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(size_type)pDVar1" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (expression_statement "(t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;" (assignment_expression "(t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2" (field_expression "(t->name_)._M_dataplus._M_p" (field_expression "(t->name_)._M_dataplus" (parenthesized_expression "(t->name_)" ( (field_expression "t->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(t->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(t->name_).field_2" (parenthesized_expression "(t->name_)" ( (field_expression "t->name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "(t->name_)._M_string_length = 0;" (assignment_expression "(t->name_)._M_string_length = 0" (field_expression "(t->name_)._M_string_length" (parenthesized_expression "(t->name_)" ( (field_expression "t->name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(t->name_).field_2._M_local_buf[0] = '\0';" (assignment_expression "(t->name_).field_2._M_local_buf[0] = '\0'" (subscript_expression "(t->name_).field_2._M_local_buf[0]" (field_expression "(t->name_).field_2._M_local_buf" (field_expression "(t->name_).field_2" (parenthesized_expression "(t->name_)" ( (field_expression "t->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "t->should_run_soon_ = false;" (assignment_expression "t->should_run_soon_ = false" (field_expression "t->should_run_soon_" identifier -> field_identifier) = false) ;) (expression_statement "t->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_00447b60;" (assignment_expression "t->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_00447b60" (field_expression "t->_vptr_Task" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Read_symbols_00447b60" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Read_symbols_00447b60" & identifier))) ;) (expression_statement "t[1]._vptr_Task = (_func_int_varargs **)pIVar6;" (assignment_expression "t[1]._vptr_Task = (_func_int_varargs **)pIVar6" (field_expression "t[1]._vptr_Task" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)pIVar6" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "t[1].list_next_ = (Task *)pSVar5;" (assignment_expression "t[1].list_next_ = (Task *)pSVar5" (field_expression "t[1].list_next_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Task *)pSVar5" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(undefined4 *)&t[1].name_.field_2 = 0;" (assignment_expression "*(undefined4 *)&t[1].name_.field_2 = 0" (pointer_expression "*(undefined4 *)&t[1].name_.field_2" * (cast_expression "(undefined4 *)&t[1].name_.field_2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&t[1].name_.field_2" & (field_expression "t[1].name_.field_2" (field_expression "t[1].name_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(Mapfile **)((long)&t[1].name_.field_2 + 8) = pMVar4;" (assignment_expression "*(Mapfile **)((long)&t[1].name_.field_2 + 8) = pMVar4" (pointer_expression "*(Mapfile **)((long)&t[1].name_.field_2 + 8)" * (cast_expression "(Mapfile **)((long)&t[1].name_.field_2 + 8)" ( (type_descriptor "Mapfile **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)&t[1].name_.field_2 + 8)" ( (binary_expression "(long)&t[1].name_.field_2 + 8" (cast_expression "(long)&t[1].name_.field_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&t[1].name_.field_2" & (field_expression "t[1].name_.field_2" (field_expression "t[1].name_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)&t[1].should_run_soon_ = puVar10;" (assignment_expression "*(undefined1 **)&t[1].should_run_soon_ = puVar10" (pointer_expression "*(undefined1 **)&t[1].should_run_soon_" * (cast_expression "(undefined1 **)&t[1].should_run_soon_" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&t[1].should_run_soon_" & (field_expression "t[1].should_run_soon_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (expression_statement "t[2]._vptr_Task = (_func_int_varargs **)0x0;" (assignment_expression "t[2]._vptr_Task = (_func_int_varargs **)0x0" (field_expression "t[2]._vptr_Task" (subscript_expression "t[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "t[2].list_next_ = (Task *)0x0;" (assignment_expression "t[2].list_next_ = (Task *)0x0" (field_expression "t[2].list_next_" (subscript_expression "t[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "t[2].name_._M_dataplus._M_p = &pTVar3->is_blocker_;" (assignment_expression "t[2].name_._M_dataplus._M_p = &pTVar3->is_blocker_" (field_expression "t[2].name_._M_dataplus._M_p" (field_expression "t[2].name_._M_dataplus" (field_expression "t[2].name_" (subscript_expression "t[2]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&pTVar3->is_blocker_" & (field_expression "pTVar3->is_blocker_" identifier -> field_identifier))) ;) (expression_statement "t[2].name_._M_string_length = (size_type)pTVar11;" (assignment_expression "t[2].name_._M_string_length = (size_type)pTVar11" (field_expression "t[2].name_._M_string_length" (field_expression "t[2].name_" (subscript_expression "t[2]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(size_type)pTVar11" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (labeled_statement "Workqueue::queue_soon(this_01,t);" statement_identifier : (ERROR ":" :) (expression_statement "queue_soon(this_01,t);" (call_expression "queue_soon(this_01,t)" identifier (argument_list "(this_01,t)" ( identifier , identifier ))) ;)) (expression_statement "this->this_blocker_ = pTVar11;" (assignment_expression "this->this_blocker_ = pTVar11" (field_expression "this->this_blocker_" identifier -> field_identifier) = identifier) ;) (expression_statement "this->any_added_ = true;" (assignment_expression "this->any_added_ = true" (field_expression "this->any_added_" identifier -> field_identifier) = true) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {\n    operator_delete(file.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       *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.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       *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2" (binary_expression "allocator<char>_>_9\n       *)file.extra_search_path_._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)file.extra_search_path_._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "file.extra_search_path_._M_dataplus._M_p" (field_expression "file.extra_search_path_._M_dataplus" (field_expression "file.extra_search_path_" identifier . field_identifier) . field_identifier) . field_identifier))) != (pointer_expression "&file.extra_search_path_.field_2" & (field_expression "file.extra_search_path_.field_2" (field_expression "file.extra_search_path_" identifier . field_identifier) . field_identifier))) )) )) (compound_statement "{\n    operator_delete(file.extra_search_path_._M_dataplus._M_p);\n  }" { (expression_statement "operator_delete(file.extra_search_path_._M_dataplus._M_p);" (call_expression "operator_delete(file.extra_search_path_._M_dataplus._M_p)" identifier (argument_list "(file.extra_search_path_._M_dataplus._M_p)" ( (field_expression "file.extra_search_path_._M_dataplus._M_p" (field_expression "file.extra_search_path_._M_dataplus" (field_expression "file.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       *)file.name_._M_dataplus._M_p != &file.name_.field_2) {\n    operator_delete(file.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       *)file.name_._M_dataplus._M_p != &file.name_.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)file.name_._M_dataplus._M_p != &file.name_.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       *)file.name_._M_dataplus._M_p != &file.name_.field_2" (binary_expression "allocator<char>_>_9\n       *)file.name_._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)file.name_._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "file.name_._M_dataplus._M_p" (field_expression "file.name_._M_dataplus" (field_expression "file.name_" identifier . field_identifier) . field_identifier) . field_identifier))) != (pointer_expression "&file.name_.field_2" & (field_expression "file.name_.field_2" (field_expression "file.name_" identifier . field_identifier) . field_identifier))) )) )) (compound_statement "{\n    operator_delete(file.name_._M_dataplus._M_p);\n  }" { (expression_statement "operator_delete(file.name_._M_dataplus._M_p);" (call_expression "operator_delete(file.name_._M_dataplus._M_p)" identifier (argument_list "(file.name_._M_dataplus._M_p)" ( (field_expression "file.name_._M_dataplus._M_p" (field_expression "file.name_._M_dataplus" (field_expression "file.name_" identifier . field_identifier) . field_identifier) . field_identifier) ))) ;) })) (return_statement "return LDPS_OK;" return identifier ;) })))
(translation_unit "undefined8 FUN_0024f160(long param_1,char *param_2,char param_3)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  char cVar10;\n  size_t sVar11;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined8 *puVar14;\n  undefined8 uVar15;\n  char *pcVar16;\n  char *__s;\n  undefined4 local_100;\n  undefined1 *local_f8;\n  long local_f0;\n  undefined1 local_e8 [16];\n  undefined4 local_d8;\n  undefined1 *local_d0;\n  long local_c8;\n  undefined1 local_c0 [16];\n  undefined1 local_b0;\n  undefined1 local_ac;\n  undefined1 uStack_ab;\n  undefined2 uStack_aa;\n  undefined4 uStack_a8;\n  undefined4 uStack_a4;\n  undefined4 uStack_a0;\n  undefined4 local_9c;\n  undefined1 *local_98;\n  long local_90;\n  undefined1 local_88 [16];\n  undefined4 local_78;\n  undefined1 *local_70;\n  long local_68;\n  undefined1 local_60 [16];\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  undefined4 local_3c;\n  \n  lVar1 = *(long *)(param_1 + 0xb8);\n  if (param_3 == '\0') {\n    __s = "";\n    local_f8 = local_e8;\n    uVar9 = 0;\n    if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = uVar9;\n    local_f8 = local_e8;\n    sVar11 = strlen(param_2);\n    pcVar16 = param_2 + sVar11;\n  }\n  else {\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }\n  FUN_00174550(&local_f8,param_2,pcVar16);\n  pcVar16 = (char *)0xffffffffffffffff;\n  local_d8 = local_100;\n  local_d0 = local_c0;\n  if (__s != (char *)0x0) {\n    sVar11 = strlen(__s);\n    pcVar16 = __s + sVar11;\n  }\nLAB_0024f1f5:\n                    \n  FUN_00174550(&local_d0,__s,pcVar16);\n  local_ac = *(undefined1 *)(lVar1 + 0x4c9);\n  local_b0 = 0;\n  uStack_ab = *(undefined1 *)(lVar1 + 0x889);\n                    \n  uStack_a8 = FUN_001fbc10(lVar1);\n  local_9c = 0;\n  uStack_a4 = CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801));\n  uStack_a0 = *(undefined4 *)(lVar1 + 0x91f0);\n  local_98 = local_88;\n                    \n  FUN_0017d640(&local_98,local_f8,local_f8 + local_f0);\n  local_78 = local_d8;\n  local_70 = local_60;\n                    \n  FUN_0017d640(&local_70,local_d0,local_d0 + local_c8);\n  local_4c = CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)));\n  uStack_44 = CONCAT44(uStack_a0,uStack_a4);\n  local_50 = local_b0;\n  local_3c = local_9c;\n                    \n  puVar12 = (undefined1 *)FUN_002f0690(0x80);\n  *puVar12 = 1;\n  *(undefined1 **)(puVar12 + 8) = puVar12 + 0x18;\n                    \n  FUN_0017d640(puVar12 + 8,local_98,local_98 + local_90);\n  *(undefined4 *)(puVar12 + 0x28) = local_78;\n  *(undefined1 **)(puVar12 + 0x30) = puVar12 + 0x40;\n                    \n  FUN_0017d640(puVar12 + 0x30,local_70,local_70 + local_68);\n  *(undefined8 *)(puVar12 + 0x68) = 0;\n  *(undefined8 *)(puVar12 + 0x70) = 0;\n  puVar12[0x50] = local_50;\n  *(undefined8 *)(puVar12 + 0x54) = local_4c;\n  *(undefined8 *)(puVar12 + 0x5c) = uStack_44;\n  *(undefined4 *)(puVar12 + 100) = local_3c;\n  *(undefined8 *)(puVar12 + 0x78) = 0;\n  if (local_70 != local_60) {\n    FUN_002f1e60();\n  }\n  if (local_98 != local_88) {\n    FUN_002f1e60();\n  }\n                    \n  puVar13 = (undefined1 *)FUN_002f0690(0x20);\n  *puVar13 = 1;\n  puVar8 = PTR_DAT_0045c708;\n  *(undefined8 *)(puVar13 + 8) = 0;\n  *(undefined8 *)(puVar13 + 0x10) = 0;\n  *(undefined8 *)(puVar13 + 0x18) = 0;\n  *(undefined4 *)(puVar13 + 4) = 1;\n  cVar10 = FUN_0024b600(puVar8);\n  if (cVar10 != '\0') {\n    uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");\n                    \n    FUN_001878b0(uVar15);\n  }\n  if (*(long *)(param_1 + 0x180) != 0) {\n    FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);\n  }\n  uVar15 = *(undefined8 *)(param_1 + 0xc0);\n  puVar14 = (undefined8 *)FUN_002f0690(0x90);\n  uVar2 = *(undefined8 *)(param_1 + 0xe8);\n  uVar3 = *(undefined8 *)(param_1 + 0xe0);\n  uVar4 = *(undefined8 *)(param_1 + 0xf8);\n  uVar5 = *(undefined8 *)(param_1 + 0xf0);\n  puVar14[1] = 0;\n  uVar6 = *(undefined8 *)(param_1 + 0xd8);\n  uVar7 = *(undefined8 *)(param_1 + 0xd0);\n  puVar14[9] = uVar3;\n  puVar14[10] = uVar2;\n  puVar14[2] = puVar14 + 4;\n  puVar14[3] = 0;\n  *(undefined1 *)(puVar14 + 4) = 0;\n  *(undefined1 *)(puVar14 + 6) = 0;\n  *puVar14 = &PTR_FUN_00447b60;\n  puVar14[7] = uVar7;\n  puVar14[8] = uVar6;\n  *(undefined4 *)(puVar14 + 0xb) = 0;\n  puVar14[0xc] = uVar5;\n  puVar14[0xd] = puVar12;\n  puVar14[0xe] = 0;\n  puVar14[0xf] = 0;\n  puVar14[0x10] = uVar4;\n  puVar14[0x11] = puVar13;\n  FUN_0029da60(uVar15,puVar14);\n  *(undefined1 **)(param_1 + 0xf8) = puVar13;\n  *(undefined1 *)(param_1 + 0xb2) = 1;\n  if (local_d0 != local_c0) {\n    FUN_002f1e60();\n  }\n  if (local_f8 != local_e8) {\n    FUN_002f1e60();\n  }\n  return 0;\n}\n\n" (function_definition "undefined8 FUN_0024f160(long param_1,char *param_2,char param_3)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  char cVar10;\n  size_t sVar11;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined8 *puVar14;\n  undefined8 uVar15;\n  char *pcVar16;\n  char *__s;\n  undefined4 local_100;\n  undefined1 *local_f8;\n  long local_f0;\n  undefined1 local_e8 [16];\n  undefined4 local_d8;\n  undefined1 *local_d0;\n  long local_c8;\n  undefined1 local_c0 [16];\n  undefined1 local_b0;\n  undefined1 local_ac;\n  undefined1 uStack_ab;\n  undefined2 uStack_aa;\n  undefined4 uStack_a8;\n  undefined4 uStack_a4;\n  undefined4 uStack_a0;\n  undefined4 local_9c;\n  undefined1 *local_98;\n  long local_90;\n  undefined1 local_88 [16];\n  undefined4 local_78;\n  undefined1 *local_70;\n  long local_68;\n  undefined1 local_60 [16];\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  undefined4 local_3c;\n  \n  lVar1 = *(long *)(param_1 + 0xb8);\n  if (param_3 == '\0') {\n    __s = "";\n    local_f8 = local_e8;\n    uVar9 = 0;\n    if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = uVar9;\n    local_f8 = local_e8;\n    sVar11 = strlen(param_2);\n    pcVar16 = param_2 + sVar11;\n  }\n  else {\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }\n  FUN_00174550(&local_f8,param_2,pcVar16);\n  pcVar16 = (char *)0xffffffffffffffff;\n  local_d8 = local_100;\n  local_d0 = local_c0;\n  if (__s != (char *)0x0) {\n    sVar11 = strlen(__s);\n    pcVar16 = __s + sVar11;\n  }\nLAB_0024f1f5:\n                    \n  FUN_00174550(&local_d0,__s,pcVar16);\n  local_ac = *(undefined1 *)(lVar1 + 0x4c9);\n  local_b0 = 0;\n  uStack_ab = *(undefined1 *)(lVar1 + 0x889);\n                    \n  uStack_a8 = FUN_001fbc10(lVar1);\n  local_9c = 0;\n  uStack_a4 = CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801));\n  uStack_a0 = *(undefined4 *)(lVar1 + 0x91f0);\n  local_98 = local_88;\n                    \n  FUN_0017d640(&local_98,local_f8,local_f8 + local_f0);\n  local_78 = local_d8;\n  local_70 = local_60;\n                    \n  FUN_0017d640(&local_70,local_d0,local_d0 + local_c8);\n  local_4c = CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)));\n  uStack_44 = CONCAT44(uStack_a0,uStack_a4);\n  local_50 = local_b0;\n  local_3c = local_9c;\n                    \n  puVar12 = (undefined1 *)FUN_002f0690(0x80);\n  *puVar12 = 1;\n  *(undefined1 **)(puVar12 + 8) = puVar12 + 0x18;\n                    \n  FUN_0017d640(puVar12 + 8,local_98,local_98 + local_90);\n  *(undefined4 *)(puVar12 + 0x28) = local_78;\n  *(undefined1 **)(puVar12 + 0x30) = puVar12 + 0x40;\n                    \n  FUN_0017d640(puVar12 + 0x30,local_70,local_70 + local_68);\n  *(undefined8 *)(puVar12 + 0x68) = 0;\n  *(undefined8 *)(puVar12 + 0x70) = 0;\n  puVar12[0x50] = local_50;\n  *(undefined8 *)(puVar12 + 0x54) = local_4c;\n  *(undefined8 *)(puVar12 + 0x5c) = uStack_44;\n  *(undefined4 *)(puVar12 + 100) = local_3c;\n  *(undefined8 *)(puVar12 + 0x78) = 0;\n  if (local_70 != local_60) {\n    FUN_002f1e60();\n  }\n  if (local_98 != local_88) {\n    FUN_002f1e60();\n  }\n                    \n  puVar13 = (undefined1 *)FUN_002f0690(0x20);\n  *puVar13 = 1;\n  puVar8 = PTR_DAT_0045c708;\n  *(undefined8 *)(puVar13 + 8) = 0;\n  *(undefined8 *)(puVar13 + 0x10) = 0;\n  *(undefined8 *)(puVar13 + 0x18) = 0;\n  *(undefined4 *)(puVar13 + 4) = 1;\n  cVar10 = FUN_0024b600(puVar8);\n  if (cVar10 != '\0') {\n    uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");\n                    \n    FUN_001878b0(uVar15);\n  }\n  if (*(long *)(param_1 + 0x180) != 0) {\n    FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);\n  }\n  uVar15 = *(undefined8 *)(param_1 + 0xc0);\n  puVar14 = (undefined8 *)FUN_002f0690(0x90);\n  uVar2 = *(undefined8 *)(param_1 + 0xe8);\n  uVar3 = *(undefined8 *)(param_1 + 0xe0);\n  uVar4 = *(undefined8 *)(param_1 + 0xf8);\n  uVar5 = *(undefined8 *)(param_1 + 0xf0);\n  puVar14[1] = 0;\n  uVar6 = *(undefined8 *)(param_1 + 0xd8);\n  uVar7 = *(undefined8 *)(param_1 + 0xd0);\n  puVar14[9] = uVar3;\n  puVar14[10] = uVar2;\n  puVar14[2] = puVar14 + 4;\n  puVar14[3] = 0;\n  *(undefined1 *)(puVar14 + 4) = 0;\n  *(undefined1 *)(puVar14 + 6) = 0;\n  *puVar14 = &PTR_FUN_00447b60;\n  puVar14[7] = uVar7;\n  puVar14[8] = uVar6;\n  *(undefined4 *)(puVar14 + 0xb) = 0;\n  puVar14[0xc] = uVar5;\n  puVar14[0xd] = puVar12;\n  puVar14[0xe] = 0;\n  puVar14[0xf] = 0;\n  puVar14[0x10] = uVar4;\n  puVar14[0x11] = puVar13;\n  FUN_0029da60(uVar15,puVar14);\n  *(undefined1 **)(param_1 + 0xf8) = puVar13;\n  *(undefined1 *)(param_1 + 0xb2) = 1;\n  if (local_d0 != local_c0) {\n    FUN_002f1e60();\n  }\n  if (local_f8 != local_e8) {\n    FUN_002f1e60();\n  }\n  return 0;\n}" type_identifier (function_declarator "FUN_0024f160(long param_1,char *param_2,char param_3)" identifier (parameter_list "(long param_1,char *param_2,char param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "char param_3" primitive_type identifier) ))) (compound_statement "{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  char cVar10;\n  size_t sVar11;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined8 *puVar14;\n  undefined8 uVar15;\n  char *pcVar16;\n  char *__s;\n  undefined4 local_100;\n  undefined1 *local_f8;\n  long local_f0;\n  undefined1 local_e8 [16];\n  undefined4 local_d8;\n  undefined1 *local_d0;\n  long local_c8;\n  undefined1 local_c0 [16];\n  undefined1 local_b0;\n  undefined1 local_ac;\n  undefined1 uStack_ab;\n  undefined2 uStack_aa;\n  undefined4 uStack_a8;\n  undefined4 uStack_a4;\n  undefined4 uStack_a0;\n  undefined4 local_9c;\n  undefined1 *local_98;\n  long local_90;\n  undefined1 local_88 [16];\n  undefined4 local_78;\n  undefined1 *local_70;\n  long local_68;\n  undefined1 local_60 [16];\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  undefined4 local_3c;\n  \n  lVar1 = *(long *)(param_1 + 0xb8);\n  if (param_3 == '\0') {\n    __s = "";\n    local_f8 = local_e8;\n    uVar9 = 0;\n    if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = uVar9;\n    local_f8 = local_e8;\n    sVar11 = strlen(param_2);\n    pcVar16 = param_2 + sVar11;\n  }\n  else {\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }\n  FUN_00174550(&local_f8,param_2,pcVar16);\n  pcVar16 = (char *)0xffffffffffffffff;\n  local_d8 = local_100;\n  local_d0 = local_c0;\n  if (__s != (char *)0x0) {\n    sVar11 = strlen(__s);\n    pcVar16 = __s + sVar11;\n  }\nLAB_0024f1f5:\n                    \n  FUN_00174550(&local_d0,__s,pcVar16);\n  local_ac = *(undefined1 *)(lVar1 + 0x4c9);\n  local_b0 = 0;\n  uStack_ab = *(undefined1 *)(lVar1 + 0x889);\n                    \n  uStack_a8 = FUN_001fbc10(lVar1);\n  local_9c = 0;\n  uStack_a4 = CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801));\n  uStack_a0 = *(undefined4 *)(lVar1 + 0x91f0);\n  local_98 = local_88;\n                    \n  FUN_0017d640(&local_98,local_f8,local_f8 + local_f0);\n  local_78 = local_d8;\n  local_70 = local_60;\n                    \n  FUN_0017d640(&local_70,local_d0,local_d0 + local_c8);\n  local_4c = CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)));\n  uStack_44 = CONCAT44(uStack_a0,uStack_a4);\n  local_50 = local_b0;\n  local_3c = local_9c;\n                    \n  puVar12 = (undefined1 *)FUN_002f0690(0x80);\n  *puVar12 = 1;\n  *(undefined1 **)(puVar12 + 8) = puVar12 + 0x18;\n                    \n  FUN_0017d640(puVar12 + 8,local_98,local_98 + local_90);\n  *(undefined4 *)(puVar12 + 0x28) = local_78;\n  *(undefined1 **)(puVar12 + 0x30) = puVar12 + 0x40;\n                    \n  FUN_0017d640(puVar12 + 0x30,local_70,local_70 + local_68);\n  *(undefined8 *)(puVar12 + 0x68) = 0;\n  *(undefined8 *)(puVar12 + 0x70) = 0;\n  puVar12[0x50] = local_50;\n  *(undefined8 *)(puVar12 + 0x54) = local_4c;\n  *(undefined8 *)(puVar12 + 0x5c) = uStack_44;\n  *(undefined4 *)(puVar12 + 100) = local_3c;\n  *(undefined8 *)(puVar12 + 0x78) = 0;\n  if (local_70 != local_60) {\n    FUN_002f1e60();\n  }\n  if (local_98 != local_88) {\n    FUN_002f1e60();\n  }\n                    \n  puVar13 = (undefined1 *)FUN_002f0690(0x20);\n  *puVar13 = 1;\n  puVar8 = PTR_DAT_0045c708;\n  *(undefined8 *)(puVar13 + 8) = 0;\n  *(undefined8 *)(puVar13 + 0x10) = 0;\n  *(undefined8 *)(puVar13 + 0x18) = 0;\n  *(undefined4 *)(puVar13 + 4) = 1;\n  cVar10 = FUN_0024b600(puVar8);\n  if (cVar10 != '\0') {\n    uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");\n                    \n    FUN_001878b0(uVar15);\n  }\n  if (*(long *)(param_1 + 0x180) != 0) {\n    FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);\n  }\n  uVar15 = *(undefined8 *)(param_1 + 0xc0);\n  puVar14 = (undefined8 *)FUN_002f0690(0x90);\n  uVar2 = *(undefined8 *)(param_1 + 0xe8);\n  uVar3 = *(undefined8 *)(param_1 + 0xe0);\n  uVar4 = *(undefined8 *)(param_1 + 0xf8);\n  uVar5 = *(undefined8 *)(param_1 + 0xf0);\n  puVar14[1] = 0;\n  uVar6 = *(undefined8 *)(param_1 + 0xd8);\n  uVar7 = *(undefined8 *)(param_1 + 0xd0);\n  puVar14[9] = uVar3;\n  puVar14[10] = uVar2;\n  puVar14[2] = puVar14 + 4;\n  puVar14[3] = 0;\n  *(undefined1 *)(puVar14 + 4) = 0;\n  *(undefined1 *)(puVar14 + 6) = 0;\n  *puVar14 = &PTR_FUN_00447b60;\n  puVar14[7] = uVar7;\n  puVar14[8] = uVar6;\n  *(undefined4 *)(puVar14 + 0xb) = 0;\n  puVar14[0xc] = uVar5;\n  puVar14[0xd] = puVar12;\n  puVar14[0xe] = 0;\n  puVar14[0xf] = 0;\n  puVar14[0x10] = uVar4;\n  puVar14[0x11] = puVar13;\n  FUN_0029da60(uVar15,puVar14);\n  *(undefined1 **)(param_1 + 0xf8) = puVar13;\n  *(undefined1 *)(param_1 + 0xb2) = 1;\n  if (local_d0 != local_c0) {\n    FUN_002f1e60();\n  }\n  if (local_f8 != local_e8) {\n    FUN_002f1e60();\n  }\n  return 0;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "char cVar10;" primitive_type identifier ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined1 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined8 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined8 uVar15;" type_identifier identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "undefined4 local_100;" type_identifier identifier ;) (declaration "undefined1 *local_f8;" type_identifier (pointer_declarator "*local_f8" * identifier) ;) (declaration "long local_f0;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_e8 [16];" type_identifier (array_declarator "local_e8 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_d8;" type_identifier identifier ;) (declaration "undefined1 *local_d0;" type_identifier (pointer_declarator "*local_d0" * identifier) ;) (declaration "long local_c8;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_c0 [16];" type_identifier (array_declarator "local_c0 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 local_b0;" type_identifier identifier ;) (declaration "undefined1 local_ac;" type_identifier identifier ;) (declaration "undefined1 uStack_ab;" type_identifier identifier ;) (declaration "undefined2 uStack_aa;" type_identifier identifier ;) (declaration "undefined4 uStack_a8;" type_identifier identifier ;) (declaration "undefined4 uStack_a4;" type_identifier identifier ;) (declaration "undefined4 uStack_a0;" type_identifier identifier ;) (declaration "undefined4 local_9c;" type_identifier identifier ;) (declaration "undefined1 *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "long local_90;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_88 [16];" type_identifier (array_declarator "local_88 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 local_78;" type_identifier identifier ;) (declaration "undefined1 *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "long local_68;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_60 [16];" type_identifier (array_declarator "local_60 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 local_50;" type_identifier identifier ;) (declaration "undefined8 local_4c;" type_identifier identifier ;) (declaration "undefined8 uStack_44;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (expression_statement "lVar1 = *(long *)(param_1 + 0xb8);" (assignment_expression "lVar1 = *(long *)(param_1 + 0xb8)" identifier = (pointer_expression "*(long *)(param_1 + 0xb8)" * (cast_expression "(long *)(param_1 + 0xb8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb8)" ( (binary_expression "param_1 + 0xb8" identifier + number_literal) ))))) ;) (if_statement "if (param_3 == '\0') {\n    __s = "";\n    local_f8 = local_e8;\n    uVar9 = 0;\n    if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = uVar9;\n    local_f8 = local_e8;\n    sVar11 = strlen(param_2);\n    pcVar16 = param_2 + sVar11;\n  }\n  else {\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }" if (parenthesized_expression "(param_3 == '\0')" ( (binary_expression "param_3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    __s = "";\n    local_f8 = local_e8;\n    uVar9 = 0;\n    if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = uVar9;\n    local_f8 = local_e8;\n    sVar11 = strlen(param_2);\n    pcVar16 = param_2 + sVar11;\n  }" { (expression_statement "__s = "";" (assignment_expression "__s = """ identifier = (string_literal """" " ")) ;) (expression_statement "local_f8 = local_e8;" (assignment_expression "local_f8 = local_e8" identifier = identifier) ;) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) (if_statement "if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }" if (parenthesized_expression "(param_2 == (char *)0x0)" ( (binary_expression "param_2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }" { (expression_statement "FUN_00174550(&local_f8,0,0xffffffffffffffff);" (call_expression "FUN_00174550(&local_f8,0,0xffffffffffffffff)" identifier (argument_list "(&local_f8,0,0xffffffffffffffff)" ( (pointer_expression "&local_f8" & identifier) , number_literal , number_literal ))) ;) (expression_statement "local_d0 = local_c0;" (assignment_expression "local_d0 = local_c0" identifier = identifier) ;) (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" identifier = number_literal) ;) (expression_statement "pcVar16 = "";" (assignment_expression "pcVar16 = """ identifier = (string_literal """" " ")) ;) (goto_statement "goto LAB_0024f1f5;" goto statement_identifier ;) })) (labeled_statement "LAB_0024f1b3:\n    local_100 = uVar9;" statement_identifier : (expression_statement "local_100 = uVar9;" (assignment_expression "local_100 = uVar9" identifier = identifier) ;)) (expression_statement "local_f8 = local_e8;" (assignment_expression "local_f8 = local_e8" identifier = identifier) ;) (expression_statement "sVar11 = strlen(param_2);" (assignment_expression "sVar11 = strlen(param_2)" identifier = (call_expression "strlen(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "pcVar16 = param_2 + sVar11;" (assignment_expression "pcVar16 = param_2 + sVar11" identifier = (binary_expression "param_2 + sVar11" identifier + identifier)) ;) }) (else_clause "else {\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }" else (compound_statement "{\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }" { (expression_statement "__s = *(char **)(param_1 + 0x100);" (assignment_expression "__s = *(char **)(param_1 + 0x100)" identifier = (pointer_expression "*(char **)(param_1 + 0x100)" * (cast_expression "(char **)(param_1 + 0x100)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x100)" ( (binary_expression "param_1 + 0x100" identifier + number_literal) ))))) ;) (expression_statement "local_100 = 1;" (assignment_expression "local_100 = 1" identifier = number_literal) ;) (expression_statement "pcVar16 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar16 = (char *)0xffffffffffffffff" identifier = (cast_expression "(char *)0xffffffffffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_f8 = local_e8;" (assignment_expression "local_f8 = local_e8" identifier = identifier) ;) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" identifier = number_literal) ;) (if_statement "if (param_2 != (char *)0x0) goto LAB_0024f1b3;" if (parenthesized_expression "(param_2 != (char *)0x0)" ( (binary_expression "param_2 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0024f1b3;" goto statement_identifier ;)) }))) (expression_statement "FUN_00174550(&local_f8,param_2,pcVar16);" (call_expression "FUN_00174550(&local_f8,param_2,pcVar16)" identifier (argument_list "(&local_f8,param_2,pcVar16)" ( (pointer_expression "&local_f8" & identifier) , identifier , identifier ))) ;) (expression_statement "pcVar16 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar16 = (char *)0xffffffffffffffff" identifier = (cast_expression "(char *)0xffffffffffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_d8 = local_100;" (assignment_expression "local_d8 = local_100" identifier = identifier) ;) (expression_statement "local_d0 = local_c0;" (assignment_expression "local_d0 = local_c0" identifier = identifier) ;) (if_statement "if (__s != (char *)0x0) {\n    sVar11 = strlen(__s);\n    pcVar16 = __s + sVar11;\n  }" if (parenthesized_expression "(__s != (char *)0x0)" ( (binary_expression "__s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    sVar11 = strlen(__s);\n    pcVar16 = __s + sVar11;\n  }" { (expression_statement "sVar11 = strlen(__s);" (assignment_expression "sVar11 = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "pcVar16 = __s + sVar11;" (assignment_expression "pcVar16 = __s + sVar11" identifier = (binary_expression "__s + sVar11" identifier + identifier)) ;) })) (labeled_statement "LAB_0024f1f5:\n                    \n  FUN_00174550(&local_d0,__s,pcVar16);" statement_identifier : (expression_statement "FUN_00174550(&local_d0,__s,pcVar16);" (call_expression "FUN_00174550(&local_d0,__s,pcVar16)" identifier (argument_list "(&local_d0,__s,pcVar16)" ( (pointer_expression "&local_d0" & identifier) , identifier , identifier ))) ;)) (expression_statement "local_ac = *(undefined1 *)(lVar1 + 0x4c9);" (assignment_expression "local_ac = *(undefined1 *)(lVar1 + 0x4c9)" identifier = (pointer_expression "*(undefined1 *)(lVar1 + 0x4c9)" * (cast_expression "(undefined1 *)(lVar1 + 0x4c9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x4c9)" ( (binary_expression "lVar1 + 0x4c9" identifier + number_literal) ))))) ;) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" identifier = number_literal) ;) (expression_statement "uStack_ab = *(undefined1 *)(lVar1 + 0x889);" (assignment_expression "uStack_ab = *(undefined1 *)(lVar1 + 0x889)" identifier = (pointer_expression "*(undefined1 *)(lVar1 + 0x889)" * (cast_expression "(undefined1 *)(lVar1 + 0x889)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x889)" ( (binary_expression "lVar1 + 0x889" identifier + number_literal) ))))) ;) (expression_statement "uStack_a8 = FUN_001fbc10(lVar1);" (assignment_expression "uStack_a8 = FUN_001fbc10(lVar1)" identifier = (call_expression "FUN_001fbc10(lVar1)" identifier (argument_list "(lVar1)" ( identifier )))) ;) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (expression_statement "uStack_a4 = CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801));" (assignment_expression "uStack_a4 = CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801))" identifier = (call_expression "CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801))" identifier (argument_list "(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801))" ( (field_expression "uStack_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(undefined1 *)(lVar1 + 0x7801)" * (cast_expression "(undefined1 *)(lVar1 + 0x7801)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x7801)" ( (binary_expression "lVar1 + 0x7801" identifier + number_literal) )))) )))) ;) (expression_statement "uStack_a0 = *(undefined4 *)(lVar1 + 0x91f0);" (assignment_expression "uStack_a0 = *(undefined4 *)(lVar1 + 0x91f0)" identifier = (pointer_expression "*(undefined4 *)(lVar1 + 0x91f0)" * (cast_expression "(undefined4 *)(lVar1 + 0x91f0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x91f0)" ( (binary_expression "lVar1 + 0x91f0" identifier + number_literal) ))))) ;) (expression_statement "local_98 = local_88;" (assignment_expression "local_98 = local_88" identifier = identifier) ;) (expression_statement "FUN_0017d640(&local_98,local_f8,local_f8 + local_f0);" (call_expression "FUN_0017d640(&local_98,local_f8,local_f8 + local_f0)" identifier (argument_list "(&local_98,local_f8,local_f8 + local_f0)" ( (pointer_expression "&local_98" & identifier) , identifier , (binary_expression "local_f8 + local_f0" identifier + identifier) ))) ;) (expression_statement "local_78 = local_d8;" (assignment_expression "local_78 = local_d8" identifier = identifier) ;) (expression_statement "local_70 = local_60;" (assignment_expression "local_70 = local_60" identifier = identifier) ;) (expression_statement "FUN_0017d640(&local_70,local_d0,local_d0 + local_c8);" (call_expression "FUN_0017d640(&local_70,local_d0,local_d0 + local_c8)" identifier (argument_list "(&local_70,local_d0,local_d0 + local_c8)" ( (pointer_expression "&local_70" & identifier) , identifier , (binary_expression "local_d0 + local_c8" identifier + identifier) ))) ;) (expression_statement "local_4c = CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)));" (assignment_expression "local_4c = CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)))" identifier = (call_expression "CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)))" identifier (argument_list "(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)))" ( identifier , (call_expression "CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac))" identifier (argument_list "(uStack_aa,CONCAT11(uStack_ab,local_ac))" ( identifier , (call_expression "CONCAT11(uStack_ab,local_ac)" identifier (argument_list "(uStack_ab,local_ac)" ( identifier , identifier ))) ))) )))) ;) (expression_statement "uStack_44 = CONCAT44(uStack_a0,uStack_a4);" (assignment_expression "uStack_44 = CONCAT44(uStack_a0,uStack_a4)" identifier = (call_expression "CONCAT44(uStack_a0,uStack_a4)" identifier (argument_list "(uStack_a0,uStack_a4)" ( identifier , identifier )))) ;) (expression_statement "local_50 = local_b0;" (assignment_expression "local_50 = local_b0" identifier = identifier) ;) (expression_statement "local_3c = local_9c;" (assignment_expression "local_3c = local_9c" identifier = identifier) ;) (expression_statement "puVar12 = (undefined1 *)FUN_002f0690(0x80);" (assignment_expression "puVar12 = (undefined1 *)FUN_002f0690(0x80)" identifier = (cast_expression "(undefined1 *)FUN_002f0690(0x80)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002f0690(0x80)" identifier (argument_list "(0x80)" ( number_literal ))))) ;) (expression_statement "*puVar12 = 1;" (assignment_expression "*puVar12 = 1" (pointer_expression "*puVar12" * identifier) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar12 + 8) = puVar12 + 0x18;" (assignment_expression "*(undefined1 **)(puVar12 + 8) = puVar12 + 0x18" (pointer_expression "*(undefined1 **)(puVar12 + 8)" * (cast_expression "(undefined1 **)(puVar12 + 8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 8)" ( (binary_expression "puVar12 + 8" identifier + number_literal) )))) = (binary_expression "puVar12 + 0x18" identifier + number_literal)) ;) (expression_statement "FUN_0017d640(puVar12 + 8,local_98,local_98 + local_90);" (call_expression "FUN_0017d640(puVar12 + 8,local_98,local_98 + local_90)" identifier (argument_list "(puVar12 + 8,local_98,local_98 + local_90)" ( (binary_expression "puVar12 + 8" identifier + number_literal) , identifier , (binary_expression "local_98 + local_90" identifier + identifier) ))) ;) (expression_statement "*(undefined4 *)(puVar12 + 0x28) = local_78;" (assignment_expression "*(undefined4 *)(puVar12 + 0x28) = local_78" (pointer_expression "*(undefined4 *)(puVar12 + 0x28)" * (cast_expression "(undefined4 *)(puVar12 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x28)" ( (binary_expression "puVar12 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar12 + 0x30) = puVar12 + 0x40;" (assignment_expression "*(undefined1 **)(puVar12 + 0x30) = puVar12 + 0x40" (pointer_expression "*(undefined1 **)(puVar12 + 0x30)" * (cast_expression "(undefined1 **)(puVar12 + 0x30)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x30)" ( (binary_expression "puVar12 + 0x30" identifier + number_literal) )))) = (binary_expression "puVar12 + 0x40" identifier + number_literal)) ;) (expression_statement "FUN_0017d640(puVar12 + 0x30,local_70,local_70 + local_68);" (call_expression "FUN_0017d640(puVar12 + 0x30,local_70,local_70 + local_68)" identifier (argument_list "(puVar12 + 0x30,local_70,local_70 + local_68)" ( (binary_expression "puVar12 + 0x30" identifier + number_literal) , identifier , (binary_expression "local_70 + local_68" identifier + identifier) ))) ;) (expression_statement "*(undefined8 *)(puVar12 + 0x68) = 0;" (assignment_expression "*(undefined8 *)(puVar12 + 0x68) = 0" (pointer_expression "*(undefined8 *)(puVar12 + 0x68)" * (cast_expression "(undefined8 *)(puVar12 + 0x68)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x68)" ( (binary_expression "puVar12 + 0x68" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(puVar12 + 0x70) = 0;" (assignment_expression "*(undefined8 *)(puVar12 + 0x70) = 0" (pointer_expression "*(undefined8 *)(puVar12 + 0x70)" * (cast_expression "(undefined8 *)(puVar12 + 0x70)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x70)" ( (binary_expression "puVar12 + 0x70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar12[0x50] = local_50;" (assignment_expression "puVar12[0x50] = local_50" (subscript_expression "puVar12[0x50]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 *)(puVar12 + 0x54) = local_4c;" (assignment_expression "*(undefined8 *)(puVar12 + 0x54) = local_4c" (pointer_expression "*(undefined8 *)(puVar12 + 0x54)" * (cast_expression "(undefined8 *)(puVar12 + 0x54)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x54)" ( (binary_expression "puVar12 + 0x54" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(puVar12 + 0x5c) = uStack_44;" (assignment_expression "*(undefined8 *)(puVar12 + 0x5c) = uStack_44" (pointer_expression "*(undefined8 *)(puVar12 + 0x5c)" * (cast_expression "(undefined8 *)(puVar12 + 0x5c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x5c)" ( (binary_expression "puVar12 + 0x5c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar12 + 100) = local_3c;" (assignment_expression "*(undefined4 *)(puVar12 + 100) = local_3c" (pointer_expression "*(undefined4 *)(puVar12 + 100)" * (cast_expression "(undefined4 *)(puVar12 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 100)" ( (binary_expression "puVar12 + 100" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(puVar12 + 0x78) = 0;" (assignment_expression "*(undefined8 *)(puVar12 + 0x78) = 0" (pointer_expression "*(undefined8 *)(puVar12 + 0x78)" * (cast_expression "(undefined8 *)(puVar12 + 0x78)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x78)" ( (binary_expression "puVar12 + 0x78" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (local_70 != local_60) {\n    FUN_002f1e60();\n  }" if (parenthesized_expression "(local_70 != local_60)" ( (binary_expression "local_70 != local_60" identifier != identifier) )) (compound_statement "{\n    FUN_002f1e60();\n  }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_98 != local_88) {\n    FUN_002f1e60();\n  }" if (parenthesized_expression "(local_98 != local_88)" ( (binary_expression "local_98 != local_88" identifier != identifier) )) (compound_statement "{\n    FUN_002f1e60();\n  }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar13 = (undefined1 *)FUN_002f0690(0x20);" (assignment_expression "puVar13 = (undefined1 *)FUN_002f0690(0x20)" identifier = (cast_expression "(undefined1 *)FUN_002f0690(0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002f0690(0x20)" identifier (argument_list "(0x20)" ( number_literal ))))) ;) (expression_statement "*puVar13 = 1;" (assignment_expression "*puVar13 = 1" (pointer_expression "*puVar13" * identifier) = number_literal) ;) (expression_statement "puVar8 = PTR_DAT_0045c708;" (assignment_expression "puVar8 = PTR_DAT_0045c708" identifier = identifier) ;) (expression_statement "*(undefined8 *)(puVar13 + 8) = 0;" (assignment_expression "*(undefined8 *)(puVar13 + 8) = 0" (pointer_expression "*(undefined8 *)(puVar13 + 8)" * (cast_expression "(undefined8 *)(puVar13 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 8)" ( (binary_expression "puVar13 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(puVar13 + 0x10) = 0;" (assignment_expression "*(undefined8 *)(puVar13 + 0x10) = 0" (pointer_expression "*(undefined8 *)(puVar13 + 0x10)" * (cast_expression "(undefined8 *)(puVar13 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x10)" ( (binary_expression "puVar13 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(puVar13 + 0x18) = 0;" (assignment_expression "*(undefined8 *)(puVar13 + 0x18) = 0" (pointer_expression "*(undefined8 *)(puVar13 + 0x18)" * (cast_expression "(undefined8 *)(puVar13 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x18)" ( (binary_expression "puVar13 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar13 + 4) = 1;" (assignment_expression "*(undefined4 *)(puVar13 + 4) = 1" (pointer_expression "*(undefined4 *)(puVar13 + 4)" * (cast_expression "(undefined4 *)(puVar13 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 4)" ( (binary_expression "puVar13 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar10 = FUN_0024b600(puVar8);" (assignment_expression "cVar10 = FUN_0024b600(puVar8)" identifier = (call_expression "FUN_0024b600(puVar8)" identifier (argument_list "(puVar8)" ( identifier )))) ;) (if_statement "if (cVar10 != '\0') {\n    uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");\n                    \n    FUN_001878b0(uVar15);\n  }" if (parenthesized_expression "(cVar10 != '\0')" ( (binary_expression "cVar10 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");\n                    \n    FUN_001878b0(uVar15);\n  }" { (expression_statement "uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");" (assignment_expression "uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet")" identifier = (call_expression "gettext("input files added by plug-ins in --incremental mode not supported yet")" identifier (argument_list "("input files added by plug-ins in --incremental mode not supported yet")" ( (string_literal ""input files added by plug-ins in --incremental mode not supported yet"" " string_content ") )))) ;) (expression_statement "FUN_001878b0(uVar15);" (call_expression "FUN_001878b0(uVar15)" identifier (argument_list "(uVar15)" ( identifier ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x180) != 0) {\n    FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x180) != 0)" ( (binary_expression "*(long *)(param_1 + 0x180) != 0" (pointer_expression "*(long *)(param_1 + 0x180)" * (cast_expression "(long *)(param_1 + 0x180)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x180)" ( (binary_expression "param_1 + 0x180" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);\n  }" { (expression_statement "FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);" (call_expression "FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3)" identifier (argument_list "(*(long *)(param_1 + 0x180),param_2,param_3)" ( (pointer_expression "*(long *)(param_1 + 0x180)" * (cast_expression "(long *)(param_1 + 0x180)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x180)" ( (binary_expression "param_1 + 0x180" identifier + number_literal) )))) , identifier , identifier ))) ;) })) (expression_statement "uVar15 = *(undefined8 *)(param_1 + 0xc0);" (assignment_expression "uVar15 = *(undefined8 *)(param_1 + 0xc0)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0xc0)" * (cast_expression "(undefined8 *)(param_1 + 0xc0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc0)" ( (binary_expression "param_1 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "puVar14 = (undefined8 *)FUN_002f0690(0x90);" (assignment_expression "puVar14 = (undefined8 *)FUN_002f0690(0x90)" identifier = (cast_expression "(undefined8 *)FUN_002f0690(0x90)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002f0690(0x90)" identifier (argument_list "(0x90)" ( number_literal ))))) ;) (expression_statement "uVar2 = *(undefined8 *)(param_1 + 0xe8);" (assignment_expression "uVar2 = *(undefined8 *)(param_1 + 0xe8)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0xe8)" * (cast_expression "(undefined8 *)(param_1 + 0xe8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe8)" ( (binary_expression "param_1 + 0xe8" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined8 *)(param_1 + 0xe0);" (assignment_expression "uVar3 = *(undefined8 *)(param_1 + 0xe0)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0xe0)" * (cast_expression "(undefined8 *)(param_1 + 0xe0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined8 *)(param_1 + 0xf8);" (assignment_expression "uVar4 = *(undefined8 *)(param_1 + 0xf8)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0xf8)" * (cast_expression "(undefined8 *)(param_1 + 0xf8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(undefined8 *)(param_1 + 0xf0);" (assignment_expression "uVar5 = *(undefined8 *)(param_1 + 0xf0)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0xf0)" * (cast_expression "(undefined8 *)(param_1 + 0xf0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf0)" ( (binary_expression "param_1 + 0xf0" identifier + number_literal) ))))) ;) (expression_statement "puVar14[1] = 0;" (assignment_expression "puVar14[1] = 0" (subscript_expression "puVar14[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar6 = *(undefined8 *)(param_1 + 0xd8);" (assignment_expression "uVar6 = *(undefined8 *)(param_1 + 0xd8)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0xd8)" * (cast_expression "(undefined8 *)(param_1 + 0xd8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xd8)" ( (binary_expression "param_1 + 0xd8" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined8 *)(param_1 + 0xd0);" (assignment_expression "uVar7 = *(undefined8 *)(param_1 + 0xd0)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0xd0)" * (cast_expression "(undefined8 *)(param_1 + 0xd0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xd0)" ( (binary_expression "param_1 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "puVar14[9] = uVar3;" (assignment_expression "puVar14[9] = uVar3" (subscript_expression "puVar14[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar14[10] = uVar2;" (assignment_expression "puVar14[10] = uVar2" (subscript_expression "puVar14[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar14[2] = puVar14 + 4;" (assignment_expression "puVar14[2] = puVar14 + 4" (subscript_expression "puVar14[2]" identifier [ number_literal ]) = (binary_expression "puVar14 + 4" identifier + number_literal)) ;) (expression_statement "puVar14[3] = 0;" (assignment_expression "puVar14[3] = 0" (subscript_expression "puVar14[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar14 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar14 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar14 + 4)" * (cast_expression "(undefined1 *)(puVar14 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 4)" ( (binary_expression "puVar14 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar14 + 6) = 0;" (assignment_expression "*(undefined1 *)(puVar14 + 6) = 0" (pointer_expression "*(undefined1 *)(puVar14 + 6)" * (cast_expression "(undefined1 *)(puVar14 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 6)" ( (binary_expression "puVar14 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*puVar14 = &PTR_FUN_00447b60;" (assignment_expression "*puVar14 = &PTR_FUN_00447b60" (pointer_expression "*puVar14" * identifier) = (pointer_expression "&PTR_FUN_00447b60" & identifier)) ;) (expression_statement "puVar14[7] = uVar7;" (assignment_expression "puVar14[7] = uVar7" (subscript_expression "puVar14[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar14[8] = uVar6;" (assignment_expression "puVar14[8] = uVar6" (subscript_expression "puVar14[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(puVar14 + 0xb) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + 0xb) = 0" (pointer_expression "*(undefined4 *)(puVar14 + 0xb)" * (cast_expression "(undefined4 *)(puVar14 + 0xb)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0xb)" ( (binary_expression "puVar14 + 0xb" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar14[0xc] = uVar5;" (assignment_expression "puVar14[0xc] = uVar5" (subscript_expression "puVar14[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar14[0xd] = puVar12;" (assignment_expression "puVar14[0xd] = puVar12" (subscript_expression "puVar14[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar14[0xe] = 0;" (assignment_expression "puVar14[0xe] = 0" (subscript_expression "puVar14[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar14[0xf] = 0;" (assignment_expression "puVar14[0xf] = 0" (subscript_expression "puVar14[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar14[0x10] = uVar4;" (assignment_expression "puVar14[0x10] = uVar4" (subscript_expression "puVar14[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar14[0x11] = puVar13;" (assignment_expression "puVar14[0x11] = puVar13" (subscript_expression "puVar14[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_0029da60(uVar15,puVar14);" (call_expression "FUN_0029da60(uVar15,puVar14)" identifier (argument_list "(uVar15,puVar14)" ( identifier , identifier ))) ;) (expression_statement "*(undefined1 **)(param_1 + 0xf8) = puVar13;" (assignment_expression "*(undefined1 **)(param_1 + 0xf8) = puVar13" (pointer_expression "*(undefined1 **)(param_1 + 0xf8)" * (cast_expression "(undefined1 **)(param_1 + 0xf8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(param_1 + 0xb2) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xb2) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xb2)" * (cast_expression "(undefined1 *)(param_1 + 0xb2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb2)" ( (binary_expression "param_1 + 0xb2" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (local_d0 != local_c0) {\n    FUN_002f1e60();\n  }" if (parenthesized_expression "(local_d0 != local_c0)" ( (binary_expression "local_d0 != local_c0" identifier != identifier) )) (compound_statement "{\n    FUN_002f1e60();\n  }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (local_f8 != local_e8) {\n    FUN_002f1e60();\n  }" if (parenthesized_expression "(local_f8 != local_e8)" ( (binary_expression "local_f8 != local_e8" identifier != identifier) )) (compound_statement "{\n    FUN_002f1e60();\n  }" { (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) 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 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) 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 (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (string_literal " ")) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (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 *)) ) LIT)) ;) (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)) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , 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 = 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 = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (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) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (binary_expression IDENT + IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (binary_expression IDENT + IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , IDENT ))) ))) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + IDENT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + IDENT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return LIT ;) })))
(function_definition "undefined8 FUN_0024f160(long param_1,char *param_2,char param_3)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  char cVar10;\n  size_t sVar11;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined8 *puVar14;\n  undefined8 uVar15;\n  char *pcVar16;\n  char *__s;\n  undefined4 local_100;\n  undefined1 *local_f8;\n  long local_f0;\n  undefined1 local_e8 [16];\n  undefined4 local_d8;\n  undefined1 *local_d0;\n  long local_c8;\n  undefined1 local_c0 [16];\n  undefined1 local_b0;\n  undefined1 local_ac;\n  undefined1 uStack_ab;\n  undefined2 uStack_aa;\n  undefined4 uStack_a8;\n  undefined4 uStack_a4;\n  undefined4 uStack_a0;\n  undefined4 local_9c;\n  undefined1 *local_98;\n  long local_90;\n  undefined1 local_88 [16];\n  undefined4 local_78;\n  undefined1 *local_70;\n  long local_68;\n  undefined1 local_60 [16];\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  undefined4 local_3c;\n  \n  lVar1 = *(long *)(param_1 + 0xb8);\n  if (param_3 == '\0') {\n    __s = "";\n    local_f8 = local_e8;\n    uVar9 = 0;\n    if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = uVar9;\n    local_f8 = local_e8;\n    sVar11 = strlen(param_2);\n    pcVar16 = param_2 + sVar11;\n  }\n  else {\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }\n  FUN_00174550(&local_f8,param_2,pcVar16);\n  pcVar16 = (char *)0xffffffffffffffff;\n  local_d8 = local_100;\n  local_d0 = local_c0;\n  if (__s != (char *)0x0) {\n    sVar11 = strlen(__s);\n    pcVar16 = __s + sVar11;\n  }\nLAB_0024f1f5:\n                    \n  FUN_00174550(&local_d0,__s,pcVar16);\n  local_ac = *(undefined1 *)(lVar1 + 0x4c9);\n  local_b0 = 0;\n  uStack_ab = *(undefined1 *)(lVar1 + 0x889);\n                    \n  uStack_a8 = FUN_001fbc10(lVar1);\n  local_9c = 0;\n  uStack_a4 = CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801));\n  uStack_a0 = *(undefined4 *)(lVar1 + 0x91f0);\n  local_98 = local_88;\n                    \n  FUN_0017d640(&local_98,local_f8,local_f8 + local_f0);\n  local_78 = local_d8;\n  local_70 = local_60;\n                    \n  FUN_0017d640(&local_70,local_d0,local_d0 + local_c8);\n  local_4c = CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)));\n  uStack_44 = CONCAT44(uStack_a0,uStack_a4);\n  local_50 = local_b0;\n  local_3c = local_9c;\n                    \n  puVar12 = (undefined1 *)FUN_002f0690(0x80);\n  *puVar12 = 1;\n  *(undefined1 **)(puVar12 + 8) = puVar12 + 0x18;\n                    \n  FUN_0017d640(puVar12 + 8,local_98,local_98 + local_90);\n  *(undefined4 *)(puVar12 + 0x28) = local_78;\n  *(undefined1 **)(puVar12 + 0x30) = puVar12 + 0x40;\n                    \n  FUN_0017d640(puVar12 + 0x30,local_70,local_70 + local_68);\n  *(undefined8 *)(puVar12 + 0x68) = 0;\n  *(undefined8 *)(puVar12 + 0x70) = 0;\n  puVar12[0x50] = local_50;\n  *(undefined8 *)(puVar12 + 0x54) = local_4c;\n  *(undefined8 *)(puVar12 + 0x5c) = uStack_44;\n  *(undefined4 *)(puVar12 + 100) = local_3c;\n  *(undefined8 *)(puVar12 + 0x78) = 0;\n  if (local_70 != local_60) {\n    FUN_002f1e60();\n  }\n  if (local_98 != local_88) {\n    FUN_002f1e60();\n  }\n                    \n  puVar13 = (undefined1 *)FUN_002f0690(0x20);\n  *puVar13 = 1;\n  puVar8 = PTR_DAT_0045c708;\n  *(undefined8 *)(puVar13 + 8) = 0;\n  *(undefined8 *)(puVar13 + 0x10) = 0;\n  *(undefined8 *)(puVar13 + 0x18) = 0;\n  *(undefined4 *)(puVar13 + 4) = 1;\n  cVar10 = FUN_0024b600(puVar8);\n  if (cVar10 != '\0') {\n    uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");\n                    \n    FUN_001878b0(uVar15);\n  }\n  if (*(long *)(param_1 + 0x180) != 0) {\n    FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);\n  }\n  uVar15 = *(undefined8 *)(param_1 + 0xc0);\n  puVar14 = (undefined8 *)FUN_002f0690(0x90);\n  uVar2 = *(undefined8 *)(param_1 + 0xe8);\n  uVar3 = *(undefined8 *)(param_1 + 0xe0);\n  uVar4 = *(undefined8 *)(param_1 + 0xf8);\n  uVar5 = *(undefined8 *)(param_1 + 0xf0);\n  puVar14[1] = 0;\n  uVar6 = *(undefined8 *)(param_1 + 0xd8);\n  uVar7 = *(undefined8 *)(param_1 + 0xd0);\n  puVar14[9] = uVar3;\n  puVar14[10] = uVar2;\n  puVar14[2] = puVar14 + 4;\n  puVar14[3] = 0;\n  *(undefined1 *)(puVar14 + 4) = 0;\n  *(undefined1 *)(puVar14 + 6) = 0;\n  *puVar14 = &PTR_FUN_00447b60;\n  puVar14[7] = uVar7;\n  puVar14[8] = uVar6;\n  *(undefined4 *)(puVar14 + 0xb) = 0;\n  puVar14[0xc] = uVar5;\n  puVar14[0xd] = puVar12;\n  puVar14[0xe] = 0;\n  puVar14[0xf] = 0;\n  puVar14[0x10] = uVar4;\n  puVar14[0x11] = puVar13;\n  FUN_0029da60(uVar15,puVar14);\n  *(undefined1 **)(param_1 + 0xf8) = puVar13;\n  *(undefined1 *)(param_1 + 0xb2) = 1;\n  if (local_d0 != local_c0) {\n    FUN_002f1e60();\n  }\n  if (local_f8 != local_e8) {\n    FUN_002f1e60();\n  }\n  return 0;\n}" (type_identifier "undefined8") (function_declarator "FUN_0024f160(long param_1,char *param_2,char param_3)" (identifier "FUN_0024f160") (parameter_list "(long param_1,char *param_2,char param_3)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "char param_3" (primitive_type "char") (identifier "param_3")) () ")"))) (compound_statement "{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  char cVar10;\n  size_t sVar11;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined8 *puVar14;\n  undefined8 uVar15;\n  char *pcVar16;\n  char *__s;\n  undefined4 local_100;\n  undefined1 *local_f8;\n  long local_f0;\n  undefined1 local_e8 [16];\n  undefined4 local_d8;\n  undefined1 *local_d0;\n  long local_c8;\n  undefined1 local_c0 [16];\n  undefined1 local_b0;\n  undefined1 local_ac;\n  undefined1 uStack_ab;\n  undefined2 uStack_aa;\n  undefined4 uStack_a8;\n  undefined4 uStack_a4;\n  undefined4 uStack_a0;\n  undefined4 local_9c;\n  undefined1 *local_98;\n  long local_90;\n  undefined1 local_88 [16];\n  undefined4 local_78;\n  undefined1 *local_70;\n  long local_68;\n  undefined1 local_60 [16];\n  undefined1 local_50;\n  undefined8 local_4c;\n  undefined8 uStack_44;\n  undefined4 local_3c;\n  \n  lVar1 = *(long *)(param_1 + 0xb8);\n  if (param_3 == '\0') {\n    __s = "";\n    local_f8 = local_e8;\n    uVar9 = 0;\n    if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = uVar9;\n    local_f8 = local_e8;\n    sVar11 = strlen(param_2);\n    pcVar16 = param_2 + sVar11;\n  }\n  else {\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }\n  FUN_00174550(&local_f8,param_2,pcVar16);\n  pcVar16 = (char *)0xffffffffffffffff;\n  local_d8 = local_100;\n  local_d0 = local_c0;\n  if (__s != (char *)0x0) {\n    sVar11 = strlen(__s);\n    pcVar16 = __s + sVar11;\n  }\nLAB_0024f1f5:\n                    \n  FUN_00174550(&local_d0,__s,pcVar16);\n  local_ac = *(undefined1 *)(lVar1 + 0x4c9);\n  local_b0 = 0;\n  uStack_ab = *(undefined1 *)(lVar1 + 0x889);\n                    \n  uStack_a8 = FUN_001fbc10(lVar1);\n  local_9c = 0;\n  uStack_a4 = CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801));\n  uStack_a0 = *(undefined4 *)(lVar1 + 0x91f0);\n  local_98 = local_88;\n                    \n  FUN_0017d640(&local_98,local_f8,local_f8 + local_f0);\n  local_78 = local_d8;\n  local_70 = local_60;\n                    \n  FUN_0017d640(&local_70,local_d0,local_d0 + local_c8);\n  local_4c = CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)));\n  uStack_44 = CONCAT44(uStack_a0,uStack_a4);\n  local_50 = local_b0;\n  local_3c = local_9c;\n                    \n  puVar12 = (undefined1 *)FUN_002f0690(0x80);\n  *puVar12 = 1;\n  *(undefined1 **)(puVar12 + 8) = puVar12 + 0x18;\n                    \n  FUN_0017d640(puVar12 + 8,local_98,local_98 + local_90);\n  *(undefined4 *)(puVar12 + 0x28) = local_78;\n  *(undefined1 **)(puVar12 + 0x30) = puVar12 + 0x40;\n                    \n  FUN_0017d640(puVar12 + 0x30,local_70,local_70 + local_68);\n  *(undefined8 *)(puVar12 + 0x68) = 0;\n  *(undefined8 *)(puVar12 + 0x70) = 0;\n  puVar12[0x50] = local_50;\n  *(undefined8 *)(puVar12 + 0x54) = local_4c;\n  *(undefined8 *)(puVar12 + 0x5c) = uStack_44;\n  *(undefined4 *)(puVar12 + 100) = local_3c;\n  *(undefined8 *)(puVar12 + 0x78) = 0;\n  if (local_70 != local_60) {\n    FUN_002f1e60();\n  }\n  if (local_98 != local_88) {\n    FUN_002f1e60();\n  }\n                    \n  puVar13 = (undefined1 *)FUN_002f0690(0x20);\n  *puVar13 = 1;\n  puVar8 = PTR_DAT_0045c708;\n  *(undefined8 *)(puVar13 + 8) = 0;\n  *(undefined8 *)(puVar13 + 0x10) = 0;\n  *(undefined8 *)(puVar13 + 0x18) = 0;\n  *(undefined4 *)(puVar13 + 4) = 1;\n  cVar10 = FUN_0024b600(puVar8);\n  if (cVar10 != '\0') {\n    uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");\n                    \n    FUN_001878b0(uVar15);\n  }\n  if (*(long *)(param_1 + 0x180) != 0) {\n    FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);\n  }\n  uVar15 = *(undefined8 *)(param_1 + 0xc0);\n  puVar14 = (undefined8 *)FUN_002f0690(0x90);\n  uVar2 = *(undefined8 *)(param_1 + 0xe8);\n  uVar3 = *(undefined8 *)(param_1 + 0xe0);\n  uVar4 = *(undefined8 *)(param_1 + 0xf8);\n  uVar5 = *(undefined8 *)(param_1 + 0xf0);\n  puVar14[1] = 0;\n  uVar6 = *(undefined8 *)(param_1 + 0xd8);\n  uVar7 = *(undefined8 *)(param_1 + 0xd0);\n  puVar14[9] = uVar3;\n  puVar14[10] = uVar2;\n  puVar14[2] = puVar14 + 4;\n  puVar14[3] = 0;\n  *(undefined1 *)(puVar14 + 4) = 0;\n  *(undefined1 *)(puVar14 + 6) = 0;\n  *puVar14 = &PTR_FUN_00447b60;\n  puVar14[7] = uVar7;\n  puVar14[8] = uVar6;\n  *(undefined4 *)(puVar14 + 0xb) = 0;\n  puVar14[0xc] = uVar5;\n  puVar14[0xd] = puVar12;\n  puVar14[0xe] = 0;\n  puVar14[0xf] = 0;\n  puVar14[0x10] = uVar4;\n  puVar14[0x11] = puVar13;\n  FUN_0029da60(uVar15,puVar14);\n  *(undefined1 **)(param_1 + 0xf8) = puVar13;\n  *(undefined1 *)(param_1 + 0xb2) = 1;\n  if (local_d0 != local_c0) {\n    FUN_002f1e60();\n  }\n  if (local_f8 != local_e8) {\n    FUN_002f1e60();\n  }\n  return 0;\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "undefined8 uVar2;" (type_identifier "undefined8") (identifier "uVar2") (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (declaration "undefined8 uVar5;" (type_identifier "undefined8") (identifier "uVar5") (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "undefined8 uVar7;" (type_identifier "undefined8") (identifier "uVar7") (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "char cVar10;" (primitive_type "char") (identifier "cVar10") (; ";")) (declaration "size_t sVar11;" (primitive_type "size_t") (identifier "sVar11") (; ";")) (declaration "undefined1 *puVar12;" (type_identifier "undefined1") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined1 *puVar13;" (type_identifier "undefined1") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "undefined8 *puVar14;" (type_identifier "undefined8") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined8 uVar15;" (type_identifier "undefined8") (identifier "uVar15") (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "undefined4 local_100;" (type_identifier "undefined4") (identifier "local_100") (; ";")) (declaration "undefined1 *local_f8;" (type_identifier "undefined1") (pointer_declarator "*local_f8" (* "*") (identifier "local_f8")) (; ";")) (declaration "long local_f0;" (sized_type_specifier "long" (long "long")) (identifier "local_f0") (; ";")) (declaration "undefined1 local_e8 [16];" (type_identifier "undefined1") (array_declarator "local_e8 [16]" (identifier "local_e8") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined4 local_d8;" (type_identifier "undefined4") (identifier "local_d8") (; ";")) (declaration "undefined1 *local_d0;" (type_identifier "undefined1") (pointer_declarator "*local_d0" (* "*") (identifier "local_d0")) (; ";")) (declaration "long local_c8;" (sized_type_specifier "long" (long "long")) (identifier "local_c8") (; ";")) (declaration "undefined1 local_c0 [16];" (type_identifier "undefined1") (array_declarator "local_c0 [16]" (identifier "local_c0") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 local_b0;" (type_identifier "undefined1") (identifier "local_b0") (; ";")) (declaration "undefined1 local_ac;" (type_identifier "undefined1") (identifier "local_ac") (; ";")) (declaration "undefined1 uStack_ab;" (type_identifier "undefined1") (identifier "uStack_ab") (; ";")) (declaration "undefined2 uStack_aa;" (type_identifier "undefined2") (identifier "uStack_aa") (; ";")) (declaration "undefined4 uStack_a8;" (type_identifier "undefined4") (identifier "uStack_a8") (; ";")) (declaration "undefined4 uStack_a4;" (type_identifier "undefined4") (identifier "uStack_a4") (; ";")) (declaration "undefined4 uStack_a0;" (type_identifier "undefined4") (identifier "uStack_a0") (; ";")) (declaration "undefined4 local_9c;" (type_identifier "undefined4") (identifier "local_9c") (; ";")) (declaration "undefined1 *local_98;" (type_identifier "undefined1") (pointer_declarator "*local_98" (* "*") (identifier "local_98")) (; ";")) (declaration "long local_90;" (sized_type_specifier "long" (long "long")) (identifier "local_90") (; ";")) (declaration "undefined1 local_88 [16];" (type_identifier "undefined1") (array_declarator "local_88 [16]" (identifier "local_88") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined4 local_78;" (type_identifier "undefined4") (identifier "local_78") (; ";")) (declaration "undefined1 *local_70;" (type_identifier "undefined1") (pointer_declarator "*local_70" (* "*") (identifier "local_70")) (; ";")) (declaration "long local_68;" (sized_type_specifier "long" (long "long")) (identifier "local_68") (; ";")) (declaration "undefined1 local_60 [16];" (type_identifier "undefined1") (array_declarator "local_60 [16]" (identifier "local_60") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 local_50;" (type_identifier "undefined1") (identifier "local_50") (; ";")) (declaration "undefined8 local_4c;" (type_identifier "undefined8") (identifier "local_4c") (; ";")) (declaration "undefined8 uStack_44;" (type_identifier "undefined8") (identifier "uStack_44") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (expression_statement "lVar1 = *(long *)(param_1 + 0xb8);" (assignment_expression "lVar1 = *(long *)(param_1 + 0xb8)" (identifier "lVar1") (= "=") (pointer_expression "*(long *)(param_1 + 0xb8)" (* "*") (cast_expression "(long *)(param_1 + 0xb8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb8)" (( "(") (binary_expression "param_1 + 0xb8" (identifier "param_1") (+ "+") (number_literal "0xb8")) () ")"))))) (; ";")) (if_statement "if (param_3 == '\0') {\n    __s = "";\n    local_f8 = local_e8;\n    uVar9 = 0;\n    if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = uVar9;\n    local_f8 = local_e8;\n    sVar11 = strlen(param_2);\n    pcVar16 = param_2 + sVar11;\n  }\n  else {\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }" (if "if") (parenthesized_expression "(param_3 == '\0')" (( "(") (binary_expression "param_3 == '\0'" (identifier "param_3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    __s = "";\n    local_f8 = local_e8;\n    uVar9 = 0;\n    if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }\nLAB_0024f1b3:\n    local_100 = uVar9;\n    local_f8 = local_e8;\n    sVar11 = strlen(param_2);\n    pcVar16 = param_2 + sVar11;\n  }" ({ "{") (expression_statement "__s = "";" (assignment_expression "__s = """ (identifier "__s") (= "=") (string_literal """" (" """) (" """))) (; ";")) (expression_statement "local_f8 = local_e8;" (assignment_expression "local_f8 = local_e8" (identifier "local_f8") (= "=") (identifier "local_e8")) (; ";")) (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" (identifier "uVar9") (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_2 == (char *)0x0) {\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }" (if "if") (parenthesized_expression "(param_2 == (char *)0x0)" (( "(") (binary_expression "param_2 == (char *)0x0" (identifier "param_2") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      FUN_00174550(&local_f8,0,0xffffffffffffffff);\n      local_d0 = local_c0;\n      local_d8 = 0;\n      pcVar16 = "";\n      goto LAB_0024f1f5;\n    }" ({ "{") (expression_statement "FUN_00174550(&local_f8,0,0xffffffffffffffff);" (call_expression "FUN_00174550(&local_f8,0,0xffffffffffffffff)" (identifier "FUN_00174550") (argument_list "(&local_f8,0,0xffffffffffffffff)" (( "(") (pointer_expression "&local_f8" (& "&") (identifier "local_f8")) (, ",") (number_literal "0") (, ",") (number_literal "0xffffffffffffffff") () ")"))) (; ";")) (expression_statement "local_d0 = local_c0;" (assignment_expression "local_d0 = local_c0" (identifier "local_d0") (= "=") (identifier "local_c0")) (; ";")) (expression_statement "local_d8 = 0;" (assignment_expression "local_d8 = 0" (identifier "local_d8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar16 = "";" (assignment_expression "pcVar16 = """ (identifier "pcVar16") (= "=") (string_literal """" (" """) (" """))) (; ";")) (goto_statement "goto LAB_0024f1f5;" (goto "goto") (statement_identifier "LAB_0024f1f5") (; ";")) (} "}"))) (labeled_statement "LAB_0024f1b3:\n    local_100 = uVar9;" (statement_identifier "LAB_0024f1b3") (: ":") (expression_statement "local_100 = uVar9;" (assignment_expression "local_100 = uVar9" (identifier "local_100") (= "=") (identifier "uVar9")) (; ";"))) (expression_statement "local_f8 = local_e8;" (assignment_expression "local_f8 = local_e8" (identifier "local_f8") (= "=") (identifier "local_e8")) (; ";")) (expression_statement "sVar11 = strlen(param_2);" (assignment_expression "sVar11 = strlen(param_2)" (identifier "sVar11") (= "=") (call_expression "strlen(param_2)" (identifier "strlen") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "pcVar16 = param_2 + sVar11;" (assignment_expression "pcVar16 = param_2 + sVar11" (identifier "pcVar16") (= "=") (binary_expression "param_2 + sVar11" (identifier "param_2") (+ "+") (identifier "sVar11"))) (; ";")) (} "}")) (else_clause "else {\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }" (else "else") (compound_statement "{\n    __s = *(char **)(param_1 + 0x100);\n    local_100 = 1;\n    pcVar16 = (char *)0xffffffffffffffff;\n    local_f8 = local_e8;\n    uVar9 = 1;\n    if (param_2 != (char *)0x0) goto LAB_0024f1b3;\n  }" ({ "{") (expression_statement "__s = *(char **)(param_1 + 0x100);" (assignment_expression "__s = *(char **)(param_1 + 0x100)" (identifier "__s") (= "=") (pointer_expression "*(char **)(param_1 + 0x100)" (* "*") (cast_expression "(char **)(param_1 + 0x100)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x100)" (( "(") (binary_expression "param_1 + 0x100" (identifier "param_1") (+ "+") (number_literal "0x100")) () ")"))))) (; ";")) (expression_statement "local_100 = 1;" (assignment_expression "local_100 = 1" (identifier "local_100") (= "=") (number_literal "1")) (; ";")) (expression_statement "pcVar16 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar16 = (char *)0xffffffffffffffff" (identifier "pcVar16") (= "=") (cast_expression "(char *)0xffffffffffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffffffffffff"))) (; ";")) (expression_statement "local_f8 = local_e8;" (assignment_expression "local_f8 = local_e8" (identifier "local_f8") (= "=") (identifier "local_e8")) (; ";")) (expression_statement "uVar9 = 1;" (assignment_expression "uVar9 = 1" (identifier "uVar9") (= "=") (number_literal "1")) (; ";")) (if_statement "if (param_2 != (char *)0x0) goto LAB_0024f1b3;" (if "if") (parenthesized_expression "(param_2 != (char *)0x0)" (( "(") (binary_expression "param_2 != (char *)0x0" (identifier "param_2") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0024f1b3;" (goto "goto") (statement_identifier "LAB_0024f1b3") (; ";"))) (} "}")))) (expression_statement "FUN_00174550(&local_f8,param_2,pcVar16);" (call_expression "FUN_00174550(&local_f8,param_2,pcVar16)" (identifier "FUN_00174550") (argument_list "(&local_f8,param_2,pcVar16)" (( "(") (pointer_expression "&local_f8" (& "&") (identifier "local_f8")) (, ",") (identifier "param_2") (, ",") (identifier "pcVar16") () ")"))) (; ";")) (expression_statement "pcVar16 = (char *)0xffffffffffffffff;" (assignment_expression "pcVar16 = (char *)0xffffffffffffffff" (identifier "pcVar16") (= "=") (cast_expression "(char *)0xffffffffffffffff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffffffffffff"))) (; ";")) (expression_statement "local_d8 = local_100;" (assignment_expression "local_d8 = local_100" (identifier "local_d8") (= "=") (identifier "local_100")) (; ";")) (expression_statement "local_d0 = local_c0;" (assignment_expression "local_d0 = local_c0" (identifier "local_d0") (= "=") (identifier "local_c0")) (; ";")) (if_statement "if (__s != (char *)0x0) {\n    sVar11 = strlen(__s);\n    pcVar16 = __s + sVar11;\n  }" (if "if") (parenthesized_expression "(__s != (char *)0x0)" (( "(") (binary_expression "__s != (char *)0x0" (identifier "__s") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    sVar11 = strlen(__s);\n    pcVar16 = __s + sVar11;\n  }" ({ "{") (expression_statement "sVar11 = strlen(__s);" (assignment_expression "sVar11 = strlen(__s)" (identifier "sVar11") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (expression_statement "pcVar16 = __s + sVar11;" (assignment_expression "pcVar16 = __s + sVar11" (identifier "pcVar16") (= "=") (binary_expression "__s + sVar11" (identifier "__s") (+ "+") (identifier "sVar11"))) (; ";")) (} "}"))) (labeled_statement "LAB_0024f1f5:\n                    \n  FUN_00174550(&local_d0,__s,pcVar16);" (statement_identifier "LAB_0024f1f5") (: ":") (expression_statement "FUN_00174550(&local_d0,__s,pcVar16);" (call_expression "FUN_00174550(&local_d0,__s,pcVar16)" (identifier "FUN_00174550") (argument_list "(&local_d0,__s,pcVar16)" (( "(") (pointer_expression "&local_d0" (& "&") (identifier "local_d0")) (, ",") (identifier "__s") (, ",") (identifier "pcVar16") () ")"))) (; ";"))) (expression_statement "local_ac = *(undefined1 *)(lVar1 + 0x4c9);" (assignment_expression "local_ac = *(undefined1 *)(lVar1 + 0x4c9)" (identifier "local_ac") (= "=") (pointer_expression "*(undefined1 *)(lVar1 + 0x4c9)" (* "*") (cast_expression "(undefined1 *)(lVar1 + 0x4c9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x4c9)" (( "(") (binary_expression "lVar1 + 0x4c9" (identifier "lVar1") (+ "+") (number_literal "0x4c9")) () ")"))))) (; ";")) (expression_statement "local_b0 = 0;" (assignment_expression "local_b0 = 0" (identifier "local_b0") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_ab = *(undefined1 *)(lVar1 + 0x889);" (assignment_expression "uStack_ab = *(undefined1 *)(lVar1 + 0x889)" (identifier "uStack_ab") (= "=") (pointer_expression "*(undefined1 *)(lVar1 + 0x889)" (* "*") (cast_expression "(undefined1 *)(lVar1 + 0x889)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x889)" (( "(") (binary_expression "lVar1 + 0x889" (identifier "lVar1") (+ "+") (number_literal "0x889")) () ")"))))) (; ";")) (expression_statement "uStack_a8 = FUN_001fbc10(lVar1);" (assignment_expression "uStack_a8 = FUN_001fbc10(lVar1)" (identifier "uStack_a8") (= "=") (call_expression "FUN_001fbc10(lVar1)" (identifier "FUN_001fbc10") (argument_list "(lVar1)" (( "(") (identifier "lVar1") () ")")))) (; ";")) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" (identifier "local_9c") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_a4 = CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801));" (assignment_expression "uStack_a4 = CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801))" (identifier "uStack_a4") (= "=") (call_expression "CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801))" (identifier "CONCAT31") (argument_list "(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801))" (( "(") (field_expression "uStack_a4._1_3_" (identifier "uStack_a4") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(undefined1 *)(lVar1 + 0x7801)" (* "*") (cast_expression "(undefined1 *)(lVar1 + 0x7801)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x7801)" (( "(") (binary_expression "lVar1 + 0x7801" (identifier "lVar1") (+ "+") (number_literal "0x7801")) () ")")))) () ")")))) (; ";")) (expression_statement "uStack_a0 = *(undefined4 *)(lVar1 + 0x91f0);" (assignment_expression "uStack_a0 = *(undefined4 *)(lVar1 + 0x91f0)" (identifier "uStack_a0") (= "=") (pointer_expression "*(undefined4 *)(lVar1 + 0x91f0)" (* "*") (cast_expression "(undefined4 *)(lVar1 + 0x91f0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x91f0)" (( "(") (binary_expression "lVar1 + 0x91f0" (identifier "lVar1") (+ "+") (number_literal "0x91f0")) () ")"))))) (; ";")) (expression_statement "local_98 = local_88;" (assignment_expression "local_98 = local_88" (identifier "local_98") (= "=") (identifier "local_88")) (; ";")) (expression_statement "FUN_0017d640(&local_98,local_f8,local_f8 + local_f0);" (call_expression "FUN_0017d640(&local_98,local_f8,local_f8 + local_f0)" (identifier "FUN_0017d640") (argument_list "(&local_98,local_f8,local_f8 + local_f0)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) (, ",") (identifier "local_f8") (, ",") (binary_expression "local_f8 + local_f0" (identifier "local_f8") (+ "+") (identifier "local_f0")) () ")"))) (; ";")) (expression_statement "local_78 = local_d8;" (assignment_expression "local_78 = local_d8" (identifier "local_78") (= "=") (identifier "local_d8")) (; ";")) (expression_statement "local_70 = local_60;" (assignment_expression "local_70 = local_60" (identifier "local_70") (= "=") (identifier "local_60")) (; ";")) (expression_statement "FUN_0017d640(&local_70,local_d0,local_d0 + local_c8);" (call_expression "FUN_0017d640(&local_70,local_d0,local_d0 + local_c8)" (identifier "FUN_0017d640") (argument_list "(&local_70,local_d0,local_d0 + local_c8)" (( "(") (pointer_expression "&local_70" (& "&") (identifier "local_70")) (, ",") (identifier "local_d0") (, ",") (binary_expression "local_d0 + local_c8" (identifier "local_d0") (+ "+") (identifier "local_c8")) () ")"))) (; ";")) (expression_statement "local_4c = CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)));" (assignment_expression "local_4c = CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)))" (identifier "local_4c") (= "=") (call_expression "CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)))" (identifier "CONCAT44") (argument_list "(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)))" (( "(") (identifier "uStack_a8") (, ",") (call_expression "CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac))" (identifier "CONCAT22") (argument_list "(uStack_aa,CONCAT11(uStack_ab,local_ac))" (( "(") (identifier "uStack_aa") (, ",") (call_expression "CONCAT11(uStack_ab,local_ac)" (identifier "CONCAT11") (argument_list "(uStack_ab,local_ac)" (( "(") (identifier "uStack_ab") (, ",") (identifier "local_ac") () ")"))) () ")"))) () ")")))) (; ";")) (expression_statement "uStack_44 = CONCAT44(uStack_a0,uStack_a4);" (assignment_expression "uStack_44 = CONCAT44(uStack_a0,uStack_a4)" (identifier "uStack_44") (= "=") (call_expression "CONCAT44(uStack_a0,uStack_a4)" (identifier "CONCAT44") (argument_list "(uStack_a0,uStack_a4)" (( "(") (identifier "uStack_a0") (, ",") (identifier "uStack_a4") () ")")))) (; ";")) (expression_statement "local_50 = local_b0;" (assignment_expression "local_50 = local_b0" (identifier "local_50") (= "=") (identifier "local_b0")) (; ";")) (expression_statement "local_3c = local_9c;" (assignment_expression "local_3c = local_9c" (identifier "local_3c") (= "=") (identifier "local_9c")) (; ";")) (expression_statement "puVar12 = (undefined1 *)FUN_002f0690(0x80);" (assignment_expression "puVar12 = (undefined1 *)FUN_002f0690(0x80)" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)FUN_002f0690(0x80)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002f0690(0x80)" (identifier "FUN_002f0690") (argument_list "(0x80)" (( "(") (number_literal "0x80") () ")"))))) (; ";")) (expression_statement "*puVar12 = 1;" (assignment_expression "*puVar12 = 1" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined1 **)(puVar12 + 8) = puVar12 + 0x18;" (assignment_expression "*(undefined1 **)(puVar12 + 8) = puVar12 + 0x18" (pointer_expression "*(undefined1 **)(puVar12 + 8)" (* "*") (cast_expression "(undefined1 **)(puVar12 + 8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 8)" (( "(") (binary_expression "puVar12 + 8" (identifier "puVar12") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "puVar12 + 0x18" (identifier "puVar12") (+ "+") (number_literal "0x18"))) (; ";")) (expression_statement "FUN_0017d640(puVar12 + 8,local_98,local_98 + local_90);" (call_expression "FUN_0017d640(puVar12 + 8,local_98,local_98 + local_90)" (identifier "FUN_0017d640") (argument_list "(puVar12 + 8,local_98,local_98 + local_90)" (( "(") (binary_expression "puVar12 + 8" (identifier "puVar12") (+ "+") (number_literal "8")) (, ",") (identifier "local_98") (, ",") (binary_expression "local_98 + local_90" (identifier "local_98") (+ "+") (identifier "local_90")) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar12 + 0x28) = local_78;" (assignment_expression "*(undefined4 *)(puVar12 + 0x28) = local_78" (pointer_expression "*(undefined4 *)(puVar12 + 0x28)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x28)" (( "(") (binary_expression "puVar12 + 0x28" (identifier "puVar12") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "local_78")) (; ";")) (expression_statement "*(undefined1 **)(puVar12 + 0x30) = puVar12 + 0x40;" (assignment_expression "*(undefined1 **)(puVar12 + 0x30) = puVar12 + 0x40" (pointer_expression "*(undefined1 **)(puVar12 + 0x30)" (* "*") (cast_expression "(undefined1 **)(puVar12 + 0x30)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0x30)" (( "(") (binary_expression "puVar12 + 0x30" (identifier "puVar12") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "puVar12 + 0x40" (identifier "puVar12") (+ "+") (number_literal "0x40"))) (; ";")) (expression_statement "FUN_0017d640(puVar12 + 0x30,local_70,local_70 + local_68);" (call_expression "FUN_0017d640(puVar12 + 0x30,local_70,local_70 + local_68)" (identifier "FUN_0017d640") (argument_list "(puVar12 + 0x30,local_70,local_70 + local_68)" (( "(") (binary_expression "puVar12 + 0x30" (identifier "puVar12") (+ "+") (number_literal "0x30")) (, ",") (identifier "local_70") (, ",") (binary_expression "local_70 + local_68" (identifier "local_70") (+ "+") (identifier "local_68")) () ")"))) (; ";")) (expression_statement "*(undefined8 *)(puVar12 + 0x68) = 0;" (assignment_expression "*(undefined8 *)(puVar12 + 0x68) = 0" (pointer_expression "*(undefined8 *)(puVar12 + 0x68)" (* "*") (cast_expression "(undefined8 *)(puVar12 + 0x68)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x68)" (( "(") (binary_expression "puVar12 + 0x68" (identifier "puVar12") (+ "+") (number_literal "0x68")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined8 *)(puVar12 + 0x70) = 0;" (assignment_expression "*(undefined8 *)(puVar12 + 0x70) = 0" (pointer_expression "*(undefined8 *)(puVar12 + 0x70)" (* "*") (cast_expression "(undefined8 *)(puVar12 + 0x70)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x70)" (( "(") (binary_expression "puVar12 + 0x70" (identifier "puVar12") (+ "+") (number_literal "0x70")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[0x50] = local_50;" (assignment_expression "puVar12[0x50] = local_50" (subscript_expression "puVar12[0x50]" (identifier "puVar12") ([ "[") (number_literal "0x50") (] "]")) (= "=") (identifier "local_50")) (; ";")) (expression_statement "*(undefined8 *)(puVar12 + 0x54) = local_4c;" (assignment_expression "*(undefined8 *)(puVar12 + 0x54) = local_4c" (pointer_expression "*(undefined8 *)(puVar12 + 0x54)" (* "*") (cast_expression "(undefined8 *)(puVar12 + 0x54)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x54)" (( "(") (binary_expression "puVar12 + 0x54" (identifier "puVar12") (+ "+") (number_literal "0x54")) () ")")))) (= "=") (identifier "local_4c")) (; ";")) (expression_statement "*(undefined8 *)(puVar12 + 0x5c) = uStack_44;" (assignment_expression "*(undefined8 *)(puVar12 + 0x5c) = uStack_44" (pointer_expression "*(undefined8 *)(puVar12 + 0x5c)" (* "*") (cast_expression "(undefined8 *)(puVar12 + 0x5c)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x5c)" (( "(") (binary_expression "puVar12 + 0x5c" (identifier "puVar12") (+ "+") (number_literal "0x5c")) () ")")))) (= "=") (identifier "uStack_44")) (; ";")) (expression_statement "*(undefined4 *)(puVar12 + 100) = local_3c;" (assignment_expression "*(undefined4 *)(puVar12 + 100) = local_3c" (pointer_expression "*(undefined4 *)(puVar12 + 100)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 100)" (( "(") (binary_expression "puVar12 + 100" (identifier "puVar12") (+ "+") (number_literal "100")) () ")")))) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "*(undefined8 *)(puVar12 + 0x78) = 0;" (assignment_expression "*(undefined8 *)(puVar12 + 0x78) = 0" (pointer_expression "*(undefined8 *)(puVar12 + 0x78)" (* "*") (cast_expression "(undefined8 *)(puVar12 + 0x78)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x78)" (( "(") (binary_expression "puVar12 + 0x78" (identifier "puVar12") (+ "+") (number_literal "0x78")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_70 != local_60) {\n    FUN_002f1e60();\n  }" (if "if") (parenthesized_expression "(local_70 != local_60)" (( "(") (binary_expression "local_70 != local_60" (identifier "local_70") (!= "!=") (identifier "local_60")) () ")")) (compound_statement "{\n    FUN_002f1e60();\n  }" ({ "{") (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" (identifier "FUN_002f1e60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_98 != local_88) {\n    FUN_002f1e60();\n  }" (if "if") (parenthesized_expression "(local_98 != local_88)" (( "(") (binary_expression "local_98 != local_88" (identifier "local_98") (!= "!=") (identifier "local_88")) () ")")) (compound_statement "{\n    FUN_002f1e60();\n  }" ({ "{") (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" (identifier "FUN_002f1e60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar13 = (undefined1 *)FUN_002f0690(0x20);" (assignment_expression "puVar13 = (undefined1 *)FUN_002f0690(0x20)" (identifier "puVar13") (= "=") (cast_expression "(undefined1 *)FUN_002f0690(0x20)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002f0690(0x20)" (identifier "FUN_002f0690") (argument_list "(0x20)" (( "(") (number_literal "0x20") () ")"))))) (; ";")) (expression_statement "*puVar13 = 1;" (assignment_expression "*puVar13 = 1" (pointer_expression "*puVar13" (* "*") (identifier "puVar13")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar8 = PTR_DAT_0045c708;" (assignment_expression "puVar8 = PTR_DAT_0045c708" (identifier "puVar8") (= "=") (identifier "PTR_DAT_0045c708")) (; ";")) (expression_statement "*(undefined8 *)(puVar13 + 8) = 0;" (assignment_expression "*(undefined8 *)(puVar13 + 8) = 0" (pointer_expression "*(undefined8 *)(puVar13 + 8)" (* "*") (cast_expression "(undefined8 *)(puVar13 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 8)" (( "(") (binary_expression "puVar13 + 8" (identifier "puVar13") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined8 *)(puVar13 + 0x10) = 0;" (assignment_expression "*(undefined8 *)(puVar13 + 0x10) = 0" (pointer_expression "*(undefined8 *)(puVar13 + 0x10)" (* "*") (cast_expression "(undefined8 *)(puVar13 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x10)" (( "(") (binary_expression "puVar13 + 0x10" (identifier "puVar13") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined8 *)(puVar13 + 0x18) = 0;" (assignment_expression "*(undefined8 *)(puVar13 + 0x18) = 0" (pointer_expression "*(undefined8 *)(puVar13 + 0x18)" (* "*") (cast_expression "(undefined8 *)(puVar13 + 0x18)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x18)" (( "(") (binary_expression "puVar13 + 0x18" (identifier "puVar13") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar13 + 4) = 1;" (assignment_expression "*(undefined4 *)(puVar13 + 4) = 1" (pointer_expression "*(undefined4 *)(puVar13 + 4)" (* "*") (cast_expression "(undefined4 *)(puVar13 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 4)" (( "(") (binary_expression "puVar13 + 4" (identifier "puVar13") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "cVar10 = FUN_0024b600(puVar8);" (assignment_expression "cVar10 = FUN_0024b600(puVar8)" (identifier "cVar10") (= "=") (call_expression "FUN_0024b600(puVar8)" (identifier "FUN_0024b600") (argument_list "(puVar8)" (( "(") (identifier "puVar8") () ")")))) (; ";")) (if_statement "if (cVar10 != '\0') {\n    uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");\n                    \n    FUN_001878b0(uVar15);\n  }" (if "if") (parenthesized_expression "(cVar10 != '\0')" (( "(") (binary_expression "cVar10 != '\0'" (identifier "cVar10") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");\n                    \n    FUN_001878b0(uVar15);\n  }" ({ "{") (expression_statement "uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");" (assignment_expression "uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet")" (identifier "uVar15") (= "=") (call_expression "gettext("input files added by plug-ins in --incremental mode not supported yet")" (identifier "gettext") (argument_list "("input files added by plug-ins in --incremental mode not supported yet")" (( "(") (string_literal ""input files added by plug-ins in --incremental mode not supported yet"" (" """) (string_content "input files added by plug-ins in --incremental mode not supported yet") (" """)) () ")")))) (; ";")) (expression_statement "FUN_001878b0(uVar15);" (call_expression "FUN_001878b0(uVar15)" (identifier "FUN_001878b0") (argument_list "(uVar15)" (( "(") (identifier "uVar15") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(param_1 + 0x180) != 0) {\n    FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);\n  }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x180) != 0)" (( "(") (binary_expression "*(long *)(param_1 + 0x180) != 0" (pointer_expression "*(long *)(param_1 + 0x180)" (* "*") (cast_expression "(long *)(param_1 + 0x180)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x180)" (( "(") (binary_expression "param_1 + 0x180" (identifier "param_1") (+ "+") (number_literal "0x180")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);\n  }" ({ "{") (expression_statement "FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);" (call_expression "FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3)" (identifier "FUN_0024dfe0") (argument_list "(*(long *)(param_1 + 0x180),param_2,param_3)" (( "(") (pointer_expression "*(long *)(param_1 + 0x180)" (* "*") (cast_expression "(long *)(param_1 + 0x180)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x180)" (( "(") (binary_expression "param_1 + 0x180" (identifier "param_1") (+ "+") (number_literal "0x180")) () ")")))) (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar15 = *(undefined8 *)(param_1 + 0xc0);" (assignment_expression "uVar15 = *(undefined8 *)(param_1 + 0xc0)" (identifier "uVar15") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0xc0)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0xc0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc0)" (( "(") (binary_expression "param_1 + 0xc0" (identifier "param_1") (+ "+") (number_literal "0xc0")) () ")"))))) (; ";")) (expression_statement "puVar14 = (undefined8 *)FUN_002f0690(0x90);" (assignment_expression "puVar14 = (undefined8 *)FUN_002f0690(0x90)" (identifier "puVar14") (= "=") (cast_expression "(undefined8 *)FUN_002f0690(0x90)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002f0690(0x90)" (identifier "FUN_002f0690") (argument_list "(0x90)" (( "(") (number_literal "0x90") () ")"))))) (; ";")) (expression_statement "uVar2 = *(undefined8 *)(param_1 + 0xe8);" (assignment_expression "uVar2 = *(undefined8 *)(param_1 + 0xe8)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0xe8)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0xe8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xe8)" (( "(") (binary_expression "param_1 + 0xe8" (identifier "param_1") (+ "+") (number_literal "0xe8")) () ")"))))) (; ";")) (expression_statement "uVar3 = *(undefined8 *)(param_1 + 0xe0);" (assignment_expression "uVar3 = *(undefined8 *)(param_1 + 0xe0)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0xe0)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0xe0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xe0)" (( "(") (binary_expression "param_1 + 0xe0" (identifier "param_1") (+ "+") (number_literal "0xe0")) () ")"))))) (; ";")) (expression_statement "uVar4 = *(undefined8 *)(param_1 + 0xf8);" (assignment_expression "uVar4 = *(undefined8 *)(param_1 + 0xf8)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0xf8)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0xf8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf8)" (( "(") (binary_expression "param_1 + 0xf8" (identifier "param_1") (+ "+") (number_literal "0xf8")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(undefined8 *)(param_1 + 0xf0);" (assignment_expression "uVar5 = *(undefined8 *)(param_1 + 0xf0)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0xf0)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0xf0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf0)" (( "(") (binary_expression "param_1 + 0xf0" (identifier "param_1") (+ "+") (number_literal "0xf0")) () ")"))))) (; ";")) (expression_statement "puVar14[1] = 0;" (assignment_expression "puVar14[1] = 0" (subscript_expression "puVar14[1]" (identifier "puVar14") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar6 = *(undefined8 *)(param_1 + 0xd8);" (assignment_expression "uVar6 = *(undefined8 *)(param_1 + 0xd8)" (identifier "uVar6") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0xd8)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0xd8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xd8)" (( "(") (binary_expression "param_1 + 0xd8" (identifier "param_1") (+ "+") (number_literal "0xd8")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(undefined8 *)(param_1 + 0xd0);" (assignment_expression "uVar7 = *(undefined8 *)(param_1 + 0xd0)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0xd0)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0xd0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xd0)" (( "(") (binary_expression "param_1 + 0xd0" (identifier "param_1") (+ "+") (number_literal "0xd0")) () ")"))))) (; ";")) (expression_statement "puVar14[9] = uVar3;" (assignment_expression "puVar14[9] = uVar3" (subscript_expression "puVar14[9]" (identifier "puVar14") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "puVar14[10] = uVar2;" (assignment_expression "puVar14[10] = uVar2" (subscript_expression "puVar14[10]" (identifier "puVar14") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "puVar14[2] = puVar14 + 4;" (assignment_expression "puVar14[2] = puVar14 + 4" (subscript_expression "puVar14[2]" (identifier "puVar14") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puVar14 + 4" (identifier "puVar14") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar14[3] = 0;" (assignment_expression "puVar14[3] = 0" (subscript_expression "puVar14[3]" (identifier "puVar14") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar14 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar14 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar14 + 4)" (* "*") (cast_expression "(undefined1 *)(puVar14 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + 4)" (( "(") (binary_expression "puVar14 + 4" (identifier "puVar14") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar14 + 6) = 0;" (assignment_expression "*(undefined1 *)(puVar14 + 6) = 0" (pointer_expression "*(undefined1 *)(puVar14 + 6)" (* "*") (cast_expression "(undefined1 *)(puVar14 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + 6)" (( "(") (binary_expression "puVar14 + 6" (identifier "puVar14") (+ "+") (number_literal "6")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar14 = &PTR_FUN_00447b60;" (assignment_expression "*puVar14 = &PTR_FUN_00447b60" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (= "=") (pointer_expression "&PTR_FUN_00447b60" (& "&") (identifier "PTR_FUN_00447b60"))) (; ";")) (expression_statement "puVar14[7] = uVar7;" (assignment_expression "puVar14[7] = uVar7" (subscript_expression "puVar14[7]" (identifier "puVar14") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar14[8] = uVar6;" (assignment_expression "puVar14[8] = uVar6" (subscript_expression "puVar14[8]" (identifier "puVar14") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar14 + 0xb) = 0;" (assignment_expression "*(undefined4 *)(puVar14 + 0xb) = 0" (pointer_expression "*(undefined4 *)(puVar14 + 0xb)" (* "*") (cast_expression "(undefined4 *)(puVar14 + 0xb)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + 0xb)" (( "(") (binary_expression "puVar14 + 0xb" (identifier "puVar14") (+ "+") (number_literal "0xb")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar14[0xc] = uVar5;" (assignment_expression "puVar14[0xc] = uVar5" (subscript_expression "puVar14[0xc]" (identifier "puVar14") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puVar14[0xd] = puVar12;" (assignment_expression "puVar14[0xd] = puVar12" (subscript_expression "puVar14[0xd]" (identifier "puVar14") ([ "[") (number_literal "0xd") (] "]")) (= "=") (identifier "puVar12")) (; ";")) (expression_statement "puVar14[0xe] = 0;" (assignment_expression "puVar14[0xe] = 0" (subscript_expression "puVar14[0xe]" (identifier "puVar14") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar14[0xf] = 0;" (assignment_expression "puVar14[0xf] = 0" (subscript_expression "puVar14[0xf]" (identifier "puVar14") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar14[0x10] = uVar4;" (assignment_expression "puVar14[0x10] = uVar4" (subscript_expression "puVar14[0x10]" (identifier "puVar14") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "puVar14[0x11] = puVar13;" (assignment_expression "puVar14[0x11] = puVar13" (subscript_expression "puVar14[0x11]" (identifier "puVar14") ([ "[") (number_literal "0x11") (] "]")) (= "=") (identifier "puVar13")) (; ";")) (expression_statement "FUN_0029da60(uVar15,puVar14);" (call_expression "FUN_0029da60(uVar15,puVar14)" (identifier "FUN_0029da60") (argument_list "(uVar15,puVar14)" (( "(") (identifier "uVar15") (, ",") (identifier "puVar14") () ")"))) (; ";")) (expression_statement "*(undefined1 **)(param_1 + 0xf8) = puVar13;" (assignment_expression "*(undefined1 **)(param_1 + 0xf8) = puVar13" (pointer_expression "*(undefined1 **)(param_1 + 0xf8)" (* "*") (cast_expression "(undefined1 **)(param_1 + 0xf8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xf8)" (( "(") (binary_expression "param_1 + 0xf8" (identifier "param_1") (+ "+") (number_literal "0xf8")) () ")")))) (= "=") (identifier "puVar13")) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0xb2) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0xb2) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0xb2)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0xb2)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb2)" (( "(") (binary_expression "param_1 + 0xb2" (identifier "param_1") (+ "+") (number_literal "0xb2")) () ")")))) (= "=") (number_literal "1")) (; ";")) (if_statement "if (local_d0 != local_c0) {\n    FUN_002f1e60();\n  }" (if "if") (parenthesized_expression "(local_d0 != local_c0)" (( "(") (binary_expression "local_d0 != local_c0" (identifier "local_d0") (!= "!=") (identifier "local_c0")) () ")")) (compound_statement "{\n    FUN_002f1e60();\n  }" ({ "{") (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" (identifier "FUN_002f1e60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_f8 != local_e8) {\n    FUN_002f1e60();\n  }" (if "if") (parenthesized_expression "(local_f8 != local_e8)" (( "(") (binary_expression "local_f8 != local_e8" (identifier "local_f8") (!= "!=") (identifier "local_e8")) () ")")) (compound_statement "{\n    FUN_002f1e60();\n  }" ({ "{") (expression_statement "FUN_002f1e60();" (call_expression "FUN_002f1e60()" (identifier "FUN_002f1e60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: ld_plugin_status add_input_file(Plugin_manager * this, char * pathname,
   bool is_lib) */

type_1 __thiscall
gold::type_2::function_1(type_2 *this,char *var_6,bool is_lib)

{
  type_3 *this_00;
  type_4 *this_01;
  type_5 *pDVar1;
  type_6 *pLVar2;
  type_7 *pTVar3;
  type_8 *pMVar4;
  type_9 *pSVar5;
  type_10 *pIVar6;
  type_11 *this_02;
  type_12 IVar7;
  bool bVar8;
  size_t var_10;
  type_13 *var_17;
  type_7 *pTVar11;
  type_14 *t;
  char *var_11;
  char *pcVar13;
  type_12 local_100;
  type_15 file;
  basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3> var_4;
  type_12 local_78;
  basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3> var_5;
  type_13 local_50;
  type_16 local_4c;
  type_16 uStack_44;
  type_17 local_3c;
  
  this_00 = this->options_;
  if (is_lib) {
    var_11 = (this->extra_search_path_)._M_dataplus._M_p;
    local_100 = INPUT_FILE_TYPE_LIBRARY;
    pcVar13 = (char *)0xffffffffffffffff;
    file.name_._M_dataplus._M_p = (type_19)&file.name_.field_2;
    IVar7 = INPUT_FILE_TYPE_LIBRARY;
    if (var_6 != (char *)0x0) goto LAB_0024f1b3;
  }
  else {
    var_11 = "";
    file.name_._M_dataplus._M_p = (type_19)&file.name_.field_2;
    IVar7 = INPUT_FILE_TYPE_FILE;
    if (var_6 == (char *)0x0) {
      std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
      var_7<var_8*>(&file.name_,0,0xffffffffffffffff);
      file.extra_search_path_._M_dataplus._M_p = (type_19)&file.extra_search_path_.field_2;
      file.type_ = INPUT_FILE_TYPE_FILE;
      pcVar13 = "";
      goto LAB_0024f1f5;
    }
LAB_0024f1b3:
    local_100 = IVar7;
    file.name_._M_dataplus._M_p = (type_19)&file.name_.field_2;
    var_10 = var_9(var_6);
    pcVar13 = var_6 + var_10;
  }
  std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
  var_7<var_8*>(&file.name_,var_6,pcVar13);
  pcVar13 = (char *)0xffffffffffffffff;
  file.type_ = local_100;
  file.extra_search_path_._M_dataplus._M_p = (type_19)&file.extra_search_path_.field_2;
  if (var_11 != (char *)0x0) {
    var_10 = var_9(var_11);
    pcVar13 = var_11 + var_10;
  }
LAB_0024f1f5:
                    /* try { // try from 0024f1fd to 0024f201 has its CatchHandler @ 0024f543 */
  std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
  var_7<var_8*>(&file.extra_search_path_,var_11,pcVar13);
  file.options_.as_needed_ = (this_00->as_needed_).value;
  file.just_symbols_ = false;
  file.options_.Bdynamic_ = (this_00->Bdynamic_).value;
                    /* try { // try from 0024f220 to 0024f224 has its CatchHandler @ 0024f573 */
  file.options_.format_enum_ = type_3::var_12(this_00);
  file.arg_serial_ = 0;
  file.options_.whole_archive_ = (this_00->whole_archive_).value;
  file.options_.incremental_disposition_ = this_00->incremental_disposition_;
  var_4._M_dataplus._M_p = (type_19)&var_4.field_2;
                    /* try { // try from 0024f264 to 0024f268 has its CatchHandler @ 0024f56b */
  std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
  var_7<var_2*>(&var_4,file.name_._M_dataplus._M_p,
                      file.name_._M_dataplus._M_p + file.name_._M_string_length);
  local_78 = file.type_;
  var_5._M_dataplus._M_p = (type_19)&var_5.field_2;
                    /* try { // try from 0024f291 to 0024f295 has its CatchHandler @ 0024f563 */
  std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
  var_7<var_2*>(&var_5,file.extra_search_path_._M_dataplus._M_p,
                      file.extra_search_path_._M_dataplus._M_p +
                      file.extra_search_path_._M_string_length);
  local_4c = var_13(file.options_.format_enum_,
                      var_14(file.options_._2_2_,
                               var_15(file.options_.Bdynamic_,file.options_.as_needed_)));
  uStack_44 = var_13(file.options_.incremental_disposition_,file.options_._8_4_);
  local_50 = file.just_symbols_;
  local_3c = file.arg_serial_;
                    /* try { // try from 0024f2c0 to 0024f2c4 has its CatchHandler @ 0024f55b */
  var_17 = (type_13 *)var_16(0x80);
  *var_17 = 1;
  *(type_13 **)(var_17 + 8) = var_17 + 0x18;
                    /* try { // try from 0024f2e9 to 0024f2ed has its CatchHandler @ 0024f553 */
  std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
  var_7<var_2*>((basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3> *)
                      (var_17 + 8),var_4._M_dataplus._M_p,
                      var_4._M_dataplus._M_p + var_4._M_string_length);
  *(type_12 *)(var_17 + 0x28) = local_78;
  *(type_13 **)(var_17 + 0x30) = var_17 + 0x40;
                    /* try { // try from 0024f317 to 0024f31b has its CatchHandler @ 0024f54b */
  std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
  var_7<var_2*>((basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3> *)
                      (var_17 + 0x30),var_5._M_dataplus._M_p,
                      var_5._M_dataplus._M_p + var_5._M_string_length);
  *(type_16 *)(var_17 + 0x68) = 0;
  *(type_16 *)(var_17 + 0x70) = 0;
  var_17[0x50] = local_50;
  *(type_16 *)(var_17 + 0x54) = local_4c;
  *(type_16 *)(var_17 + 0x5c) = uStack_44;
  *(type_17 *)(var_17 + 100) = local_3c;
  *(type_16 *)(var_17 + 0x78) = 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_18
       *)var_5._M_dataplus._M_p != &var_5.field_2) {
    var_19(var_5._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_18
       *)var_4._M_dataplus._M_p != &var_4.field_2) {
    var_19(var_4._M_dataplus._M_p);
  }
                    /* try { // try from 0024f384 to 0024f486 has its CatchHandler @ 0024f56b */
  pTVar11 = (type_7 *)var_16(0x20);
  pTVar11->is_blocker_ = true;
  this_02 = parameters;
  pTVar11->writer_ = (type_14 *)0x0;
  (pTVar11->waiting_).head_ = (type_14 *)0x0;
  (pTVar11->waiting_).tail_ = (type_14 *)0x0;
  pTVar11->blockers_ = 1;
  bVar8 = type_11::var_20(this_02);
  if (bVar8) {
    var_11 = (char *)var_21(
                             "input files added by plug-ins in --incremental mode not supported yet"
                             );
                    /* try { // try from 0024f539 to 0024f53d has its CatchHandler @ 0024f56b */
    var_22(var_11);
  }
  if (this->recorder_ != (type_18 *)0x0) {
    Plugin_recorder::var_23(this->recorder_,var_6,is_lib);
  }
  this_01 = this->workqueue_;
  t = (type_14 *)var_16(0x90);
  pDVar1 = this->dirpath_;
  pLVar2 = this->layout_;
  pTVar3 = this->this_blocker_;
  pMVar4 = this->mapfile_;
  t->list_next_ = (type_14 *)0x0;
  pSVar5 = this->symtab_;
  pIVar6 = this->input_objects_;
  t[1].name_._M_dataplus._M_p = (type_19)pLVar2;
  t[1].name_._M_string_length = (type_20)pDVar1;
  (t->name_)._M_dataplus._M_p = (type_19)&(t->name_).field_2;
  (t->name_)._M_string_length = 0;
  (t->name_).field_2._M_local_buf[0] = '\0';
  t->should_run_soon_ = false;
  t->_vptr_Task = (type_21 **)&PTR__Read_symbols_00447b60;
  t[1]._vptr_Task = (type_21 **)pIVar6;
  t[1].list_next_ = (type_14 *)pSVar5;
  *(type_22 *)&t[1].name_.field_2 = 0;
  *(type_8 **)((long)&t[1].name_.field_2 + 8) = pMVar4;
  *(type_13 **)&t[1].should_run_soon_ = var_17;
  t[2]._vptr_Task = (type_21 **)0x0;
  t[2].list_next_ = (type_14 *)0x0;
  t[2].name_._M_dataplus._M_p = &pTVar3->is_blocker_;
  t[2].name_._M_string_length = (type_20)pTVar11;
  Workqueue::var_24(this_01,t);
  this->this_blocker_ = pTVar11;
  this->any_added_ = true;
  if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_18
       *)file.extra_search_path_._M_dataplus._M_p != &file.extra_search_path_.field_2) {
    var_19(file.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_18
       *)file.name_._M_dataplus._M_p != &file.name_.field_2) {
    var_19(file.name_._M_dataplus._M_p);
  }
  return LDPS_OK;
}


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

undefined8 MASKED(long param_1,char *param_2,char param_3)

{
  long lVar1;
  undefined8 uVar2;
  undefined8 uVar3;
  undefined8 uVar4;
  undefined8 uVar5;
  undefined8 uVar6;
  undefined8 uVar7;
  undefined *puVar8;
  undefined4 uVar9;
  char cVar10;
  size_t sVar11;
  undefined1 *puVar12;
  undefined1 *puVar13;
  undefined8 *puVar14;
  undefined8 uVar15;
  char *pcVar16;
  char *__s;
  undefined4 local_100;
  undefined1 *local_f8;
  long local_f0;
  undefined1 local_e8 [16];
  undefined4 local_d8;
  undefined1 *local_d0;
  long local_c8;
  undefined1 local_c0 [16];
  undefined1 local_b0;
  undefined1 local_ac;
  undefined1 uStack_ab;
  undefined2 uStack_aa;
  undefined4 uStack_a8;
  undefined4 uStack_a4;
  undefined4 uStack_a0;
  undefined4 local_9c;
  undefined1 *local_98;
  long local_90;
  undefined1 local_88 [16];
  undefined4 local_78;
  undefined1 *local_70;
  long local_68;
  undefined1 local_60 [16];
  undefined1 local_50;
  undefined8 local_4c;
  undefined8 uStack_44;
  undefined4 local_3c;
  
  lVar1 = *(long *)(param_1 + 0xb8);
  if (param_3 == '\0') {
    __s = "";
    local_f8 = local_e8;
    uVar9 = 0;
    if (param_2 == (char *)0x0) {
      FUN_00174550(&local_f8,0,0xffffffffffffffff);
      local_d0 = local_c0;
      local_d8 = 0;
      pcVar16 = "";
      goto LAB_0024f1f5;
    }
LAB_0024f1b3:
    local_100 = uVar9;
    local_f8 = local_e8;
    sVar11 = strlen(param_2);
    pcVar16 = param_2 + sVar11;
  }
  else {
    __s = *(char **)(param_1 + 0x100);
    local_100 = 1;
    pcVar16 = (char *)0xffffffffffffffff;
    local_f8 = local_e8;
    uVar9 = 1;
    if (param_2 != (char *)0x0) goto LAB_0024f1b3;
  }
  FUN_00174550(&local_f8,param_2,pcVar16);
  pcVar16 = (char *)0xffffffffffffffff;
  local_d8 = local_100;
  local_d0 = local_c0;
  if (__s != (char *)0x0) {
    sVar11 = strlen(__s);
    pcVar16 = __s + sVar11;
  }
LAB_0024f1f5:
                    /* try { // try from 0024f1fd to 0024f201 has its CatchHandler @ 0024f543 */
  FUN_00174550(&local_d0,__s,pcVar16);
  local_ac = *(undefined1 *)(lVar1 + 0x4c9);
  local_b0 = 0;
  uStack_ab = *(undefined1 *)(lVar1 + 0x889);
                    /* try { // try from 0024f220 to 0024f224 has its CatchHandler @ 0024f573 */
  uStack_a8 = FUN_001fbc10(lVar1);
  local_9c = 0;
  uStack_a4 = CONCAT31(uStack_a4._1_3_,*(undefined1 *)(lVar1 + 0x7801));
  uStack_a0 = *(undefined4 *)(lVar1 + 0x91f0);
  local_98 = local_88;
                    /* try { // try from 0024f264 to 0024f268 has its CatchHandler @ 0024f56b */
  FUN_0017d640(&local_98,local_f8,local_f8 + local_f0);
  local_78 = local_d8;
  local_70 = local_60;
                    /* try { // try from 0024f291 to 0024f295 has its CatchHandler @ 0024f563 */
  FUN_0017d640(&local_70,local_d0,local_d0 + local_c8);
  local_4c = CONCAT44(uStack_a8,CONCAT22(uStack_aa,CONCAT11(uStack_ab,local_ac)));
  uStack_44 = CONCAT44(uStack_a0,uStack_a4);
  local_50 = local_b0;
  local_3c = local_9c;
                    /* try { // try from 0024f2c0 to 0024f2c4 has its CatchHandler @ 0024f55b */
  puVar12 = (undefined1 *)FUN_002f0690(0x80);
  *puVar12 = 1;
  *(undefined1 **)(puVar12 + 8) = puVar12 + 0x18;
                    /* try { // try from 0024f2e9 to 0024f2ed has its CatchHandler @ 0024f553 */
  FUN_0017d640(puVar12 + 8,local_98,local_98 + local_90);
  *(undefined4 *)(puVar12 + 0x28) = local_78;
  *(undefined1 **)(puVar12 + 0x30) = puVar12 + 0x40;
                    /* try { // try from 0024f317 to 0024f31b has its CatchHandler @ 0024f54b */
  FUN_0017d640(puVar12 + 0x30,local_70,local_70 + local_68);
  *(undefined8 *)(puVar12 + 0x68) = 0;
  *(undefined8 *)(puVar12 + 0x70) = 0;
  puVar12[0x50] = local_50;
  *(undefined8 *)(puVar12 + 0x54) = local_4c;
  *(undefined8 *)(puVar12 + 0x5c) = uStack_44;
  *(undefined4 *)(puVar12 + 100) = local_3c;
  *(undefined8 *)(puVar12 + 0x78) = 0;
  if (local_70 != local_60) {
    FUN_002f1e60();
  }
  if (local_98 != local_88) {
    FUN_002f1e60();
  }
                    /* try { // try from 0024f384 to 0024f486 has its CatchHandler @ 0024f56b */
  puVar13 = (undefined1 *)FUN_002f0690(0x20);
  *puVar13 = 1;
  puVar8 = PTR_DAT_0045c708;
  *(undefined8 *)(puVar13 + 8) = 0;
  *(undefined8 *)(puVar13 + 0x10) = 0;
  *(undefined8 *)(puVar13 + 0x18) = 0;
  *(undefined4 *)(puVar13 + 4) = 1;
  cVar10 = FUN_0024b600(puVar8);
  if (cVar10 != '\0') {
    uVar15 = gettext("input files added by plug-ins in --incremental mode not supported yet");
                    /* try { // try from 0024f539 to 0024f53d has its CatchHandler @ 0024f56b */
    FUN_001878b0(uVar15);
  }
  if (*(long *)(param_1 + 0x180) != 0) {
    FUN_0024dfe0(*(long *)(param_1 + 0x180),param_2,param_3);
  }
  uVar15 = *(undefined8 *)(param_1 + 0xc0);
  puVar14 = (undefined8 *)FUN_002f0690(0x90);
  uVar2 = *(undefined8 *)(param_1 + 0xe8);
  uVar3 = *(undefined8 *)(param_1 + 0xe0);
  uVar4 = *(undefined8 *)(param_1 + 0xf8);
  uVar5 = *(undefined8 *)(param_1 + 0xf0);
  puVar14[1] = 0;
  uVar6 = *(undefined8 *)(param_1 + 0xd8);
  uVar7 = *(undefined8 *)(param_1 + 0xd0);
  puVar14[9] = uVar3;
  puVar14[10] = uVar2;
  puVar14[2] = puVar14 + 4;
  puVar14[3] = 0;
  *(undefined1 *)(puVar14 + 4) = 0;
  *(undefined1 *)(puVar14 + 6) = 0;
  *puVar14 = &PTR_FUN_00447b60;
  puVar14[7] = uVar7;
  puVar14[8] = uVar6;
  *(undefined4 *)(puVar14 + 0xb) = 0;
  puVar14[0xc] = uVar5;
  puVar14[0xd] = puVar12;
  puVar14[0xe] = 0;
  puVar14[0xf] = 0;
  puVar14[0x10] = uVar4;
  puVar14[0x11] = puVar13;
  FUN_0029da60(uVar15,puVar14);
  *(undefined1 **)(param_1 + 0xf8) = puVar13;
  *(undefined1 *)(param_1 + 0xb2) = 1;
  if (local_d0 != local_c0) {
    FUN_002f1e60();
  }
  if (local_f8 != local_e8) {
    FUN_002f1e60();
  }
  return 0;
}

