
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void do_group(Read_symbols * this, Workqueue * workqueue) */

void __thiscall gold::Read_symbols::do_group(Read_symbols *this,Workqueue *workqueue)

{
  char cVar1;
  int iVar2;
  Input_file_group *pIVar3;
  Task_token *pTVar4;
  Mapfile *pMVar5;
  Input_objects *pIVar6;
  Symbol_table *pSVar7;
  Task_token *pTVar8;
  Dirsearch *pDVar9;
  Layout *pLVar10;
  pointer pcVar11;
  _func_int_varargs **pp_Var12;
  Task *t;
  Task *pTVar13;
  pointer pIVar14;
  pointer local_48;
  
  pp_Var12 = (_func_int_varargs **)operator_new(0x18);
  *pp_Var12 = (_func_int_varargs *)0x0;
  pp_Var12[1] = (_func_int_varargs *)0x0;
  pp_Var12[2] = (_func_int_varargs *)0x0;
  if (this->input_argument_->is_file_ != false) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/options.h",0x830,"group");
  }
  pIVar3 = this->input_argument_->group_;
  pTVar4 = this->this_blocker_;
  t = (Task *)operator_new(0x78);
  pMVar5 = this->mapfile_;
  pIVar6 = this->input_objects_;
  pSVar7 = this->symtab_;
  pTVar8 = this->next_blocker_;
  t[1].name_._M_dataplus._M_p = (pointer)this->layout_;
  (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;
  t->_vptr_Task = (_func_int_varargs **)&PTR__Finish_group_0042ac40;
  t[1]._vptr_Task = (_func_int_varargs **)pIVar6;
  t[1].name_._M_string_length = (size_type)pMVar5;
  t[1].list_next_ = (Task *)pSVar7;
  t->list_next_ = (Task *)0x0;
  (t->name_)._M_string_length = 0;
  (t->name_).field_2._M_local_buf[0] = '\0';
  t->should_run_soon_ = false;
  *(_func_int_varargs ***)&t[1].name_.field_2 = pp_Var12;
  *(undefined8 *)((long)&t[1].name_.field_2 + 8) = 0;
  *(undefined8 *)&t[1].should_run_soon_ = 0;
  t[2]._vptr_Task = (_func_int_varargs **)pTVar8;
  local_48 = (pointer)operator_new(0x20);
  *local_48 = '\x01';
  local_48[8] = '\0';
  local_48[9] = '\0';
  local_48[10] = '\0';
  local_48[0xb] = '\0';
  local_48[0xc] = '\0';
  local_48[0xd] = '\0';
  local_48[0xe] = '\0';
  local_48[0xf] = '\0';
  local_48[0x10] = '\0';
  local_48[0x11] = '\0';
  local_48[0x12] = '\0';
  local_48[0x13] = '\0';
  local_48[0x14] = '\0';
  local_48[0x15] = '\0';
  local_48[0x16] = '\0';
  local_48[0x17] = '\0';
  local_48[0x18] = '\0';
  local_48[0x19] = '\0';
  local_48[0x1a] = '\0';
  local_48[0x1b] = '\0';
  local_48[0x1c] = '\0';
  local_48[0x1d] = '\0';
  local_48[0x1e] = '\0';
  local_48[0x1f] = '\0';
  local_48[4] = '\x01';
  local_48[5] = '\0';
  local_48[6] = '\0';
  local_48[7] = '\0';
  pTVar13 = (Task *)operator_new(0x58);
  pSVar7 = this->symtab_;
  pTVar13[1].list_next_ = t;
  (pTVar13->name_)._M_dataplus._M_p = (pointer)&(pTVar13->name_).field_2;
  pTVar13->_vptr_Task = (_func_int_varargs **)&PTR__Start_group_0042ac00;
  pTVar13->list_next_ = (Task *)0x0;
  (pTVar13->name_)._M_string_length = 0;
  (pTVar13->name_).field_2._M_local_buf[0] = '\0';
  pTVar13->should_run_soon_ = false;
  pTVar13[1]._vptr_Task = (_func_int_varargs **)pSVar7;
  pTVar13[1].name_._M_dataplus._M_p = &pTVar4->is_blocker_;
  pTVar13[1].name_._M_string_length = (size_type)local_48;
  Workqueue::queue_soon(workqueue,pTVar13);
  pIVar14 = (pIVar3->files_).
            super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.
            _M_start;
  if (pIVar14 !=
      (pIVar3->files_).
      super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.
      _M_finish) {
    cVar1 = pIVar14->is_file_;
    pcVar11 = local_48;
    while( true ) {
      if (cVar1 == '\0') {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/readsyms.cc",0x1ed,"do_group");
      }
      local_48 = (pointer)operator_new(0x20);
      *local_48 = '\x01';
      local_48[8] = '\0';
      local_48[9] = '\0';
      local_48[10] = '\0';
      local_48[0xb] = '\0';
      local_48[0xc] = '\0';
      local_48[0xd] = '\0';
      local_48[0xe] = '\0';
      local_48[0xf] = '\0';
      local_48[0x10] = '\0';
      local_48[0x11] = '\0';
      local_48[0x12] = '\0';
      local_48[0x13] = '\0';
      local_48[0x14] = '\0';
      local_48[0x15] = '\0';
      local_48[0x16] = '\0';
      local_48[0x17] = '\0';
      local_48[0x18] = '\0';
      local_48[0x19] = '\0';
      local_48[0x1a] = '\0';
      local_48[0x1b] = '\0';
      local_48[0x1c] = '\0';
      local_48[0x1d] = '\0';
      local_48[0x1e] = '\0';
      local_48[0x1f] = '\0';
      local_48[4] = '\x01';
      local_48[5] = '\0';
      local_48[6] = '\0';
      local_48[7] = '\0';
      pTVar13 = (Task *)operator_new(0x90);
      iVar2 = this->dirindex_;
      pDVar9 = this->dirpath_;
      pLVar10 = this->layout_;
      pSVar7 = this->symtab_;
      *(pointer *)&pTVar13[1].should_run_soon_ = pIVar14;
      pIVar6 = this->input_objects_;
      *(int *)&pTVar13[1].name_.field_2 = iVar2;
      pIVar14 = pIVar14 + 1;
      pMVar5 = this->mapfile_;
      pTVar13[1].name_._M_dataplus._M_p = (pointer)pLVar10;
      pTVar13[1].name_._M_string_length = (size_type)pDVar9;
      pTVar13->list_next_ = (Task *)0x0;
      (pTVar13->name_)._M_dataplus._M_p = (pointer)&(pTVar13->name_).field_2;
      (pTVar13->name_)._M_string_length = 0;
      (pTVar13->name_).field_2._M_local_buf[0] = '\0';
      pTVar13->should_run_soon_ = false;
      pTVar13->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_0042aac0;
      pTVar13[1]._vptr_Task = (_func_int_varargs **)pIVar6;
      pTVar13[1].list_next_ = (Task *)pSVar7;
      *(Mapfile **)((long)&pTVar13[1].name_.field_2 + 8) = pMVar5;
      pTVar13[2]._vptr_Task = pp_Var12;
      pTVar13[2].list_next_ = (Task *)0x0;
      pTVar13[2].name_._M_dataplus._M_p = pcVar11;
      pTVar13[2].name_._M_string_length = (size_type)local_48;
      Workqueue::queue_soon(workqueue,pTVar13);
      if ((pIVar3->files_).
          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.
          _M_finish == pIVar14) break;
      cVar1 = pIVar14->is_file_;
      pcVar11 = local_48;
    }
  }
  if (*(long *)&t[1].should_run_soon_ == 0) {
    *(pointer *)&t[1].should_run_soon_ = local_48;
    Workqueue::queue_soon(workqueue,t);
    return;
  }
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable("../../gold/readsyms.h",0x19a,"set_blocker");
}



void FUN_0023fea0(long param_1,undefined8 param_2)

{
  char cVar1;
  undefined4 uVar2;
  undefined8 *puVar3;
  undefined8 uVar4;
  undefined8 uVar5;
  undefined8 uVar6;
  undefined8 uVar7;
  undefined8 uVar8;
  undefined1 *puVar9;
  undefined8 *puVar10;
  undefined8 *puVar11;
  undefined8 *puVar12;
  char *pcVar13;
  undefined1 *local_48;
  
  puVar10 = (undefined8 *)FUN_002d9490(0x18);
  *puVar10 = 0;
  puVar10[1] = 0;
  puVar10[2] = 0;
  if (**(char **)(param_1 + 0x68) != '\0') {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/options.h",0x830,"group");
  }
  puVar3 = *(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68);
  uVar4 = *(undefined8 *)(param_1 + 0x80);
  puVar11 = (undefined8 *)FUN_002d9490(0x78);
  uVar5 = *(undefined8 *)(param_1 + 0x60);
  uVar6 = *(undefined8 *)(param_1 + 0x38);
  uVar7 = *(undefined8 *)(param_1 + 0x40);
  uVar8 = *(undefined8 *)(param_1 + 0x88);
  puVar11[9] = *(undefined8 *)(param_1 + 0x48);
  puVar11[2] = puVar11 + 4;
  *puVar11 = &PTR_FUN_0042ac40;
  puVar11[7] = uVar6;
  puVar11[10] = uVar5;
  puVar11[8] = uVar7;
  puVar11[1] = 0;
  puVar11[3] = 0;
  *(undefined1 *)(puVar11 + 4) = 0;
  *(undefined1 *)(puVar11 + 6) = 0;
  puVar11[0xb] = puVar10;
  puVar11[0xc] = 0;
  puVar11[0xd] = 0;
  puVar11[0xe] = uVar8;
  local_48 = (undefined1 *)FUN_002d9490(0x20);
  *local_48 = 1;
  *(undefined8 *)(local_48 + 8) = 0;
  *(undefined8 *)(local_48 + 0x10) = 0;
  *(undefined8 *)(local_48 + 0x18) = 0;
  *(undefined4 *)(local_48 + 4) = 1;
  puVar12 = (undefined8 *)FUN_002d9490(0x58);
  uVar5 = *(undefined8 *)(param_1 + 0x40);
  puVar12[8] = puVar11;
  puVar12[2] = puVar12 + 4;
  *puVar12 = &PTR_FUN_0042ac00;
  puVar12[1] = 0;
  puVar12[3] = 0;
  *(undefined1 *)(puVar12 + 4) = 0;
  *(undefined1 *)(puVar12 + 6) = 0;
  puVar12[7] = uVar5;
  puVar12[9] = uVar4;
  puVar12[10] = local_48;
  FUN_00289790(param_2,puVar12);
  pcVar13 = (char *)*puVar3;
  if (pcVar13 != (char *)puVar3[1]) {
    cVar1 = *pcVar13;
    puVar9 = local_48;
    while( true ) {
      if (cVar1 == '\0') {
                    /* WARNING: Subroutine does not return */
        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");
      }
      local_48 = (undefined1 *)FUN_002d9490(0x20);
      *local_48 = 1;
      *(undefined8 *)(local_48 + 8) = 0;
      *(undefined8 *)(local_48 + 0x10) = 0;
      *(undefined8 *)(local_48 + 0x18) = 0;
      *(undefined4 *)(local_48 + 4) = 1;
      puVar12 = (undefined8 *)FUN_002d9490(0x90);
      uVar2 = *(undefined4 *)(param_1 + 0x58);
      uVar4 = *(undefined8 *)(param_1 + 0x50);
      uVar5 = *(undefined8 *)(param_1 + 0x48);
      uVar6 = *(undefined8 *)(param_1 + 0x40);
      puVar12[0xd] = pcVar13;
      uVar7 = *(undefined8 *)(param_1 + 0x38);
      *(undefined4 *)(puVar12 + 0xb) = uVar2;
      pcVar13 = pcVar13 + 0x80;
      uVar8 = *(undefined8 *)(param_1 + 0x60);
      puVar12[9] = uVar5;
      puVar12[10] = uVar4;
      puVar12[1] = 0;
      puVar12[2] = puVar12 + 4;
      puVar12[3] = 0;
      *(undefined1 *)(puVar12 + 4) = 0;
      *(undefined1 *)(puVar12 + 6) = 0;
      *puVar12 = &PTR_FUN_0042aac0;
      puVar12[7] = uVar7;
      puVar12[8] = uVar6;
      puVar12[0xc] = uVar8;
      puVar12[0xe] = puVar10;
      puVar12[0xf] = 0;
      puVar12[0x10] = puVar9;
      puVar12[0x11] = local_48;
      FUN_00289790(param_2,puVar12);
      if ((char *)puVar3[1] == pcVar13) break;
      cVar1 = *pcVar13;
      puVar9 = local_48;
    }
  }
  if (puVar11[0xd] == 0) {
    puVar11[0xd] = local_48;
    FUN_00289790(param_2,puVar11);
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0017c650("../../gold/readsyms.h",0x19a,"set_blocker");
}


PUSH R15
PUSH R14
PUSH R13
MOV R13,RDI
MOV EDI,0x18
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x28
MOV qword ptr [RSP + 0x8],RSI
CALL 0x002d9490
MOV qword ptr [RAX],0x0
MOV RBX,RAX
MOV qword ptr [RAX + 0x8],0x0
MOV qword ptr [RAX + 0x10],0x0
MOV RAX,qword ptr [R13 + 0x68]
CMP byte ptr [RAX],0x0
JNZ 0x00240152
MOV EDI,0x78
MOV R12,qword ptr [RAX + 0x68]
MOV R14,qword ptr [R13 + 0x80]
CALL 0x002d9490
MOV RDX,qword ptr [R13 + 0x60]
MOV RSI,qword ptr [R13 + 0x48]
MOV R15,RAX
MOV R8,qword ptr [R13 + 0x38]
MOV RDI,qword ptr [R13 + 0x40]
MOV qword ptr [RSP + 0x18],RAX
LEA R9,[R15 + 0x20]
MOV RAX,qword ptr [R13 + 0x88]
MOV qword ptr [R15 + 0x48],RSI
MOV qword ptr [R15 + 0x10],R9
LEA R9,[0x42ac40]
MOV qword ptr [R15],R9
MOV qword ptr [R15 + 0x38],R8
MOV qword ptr [R15 + 0x50],RDX
MOV qword ptr [R15 + 0x40],RDI
MOV EDI,0x20
MOV qword ptr [R15 + 0x8],0x0
MOV qword ptr [R15 + 0x18],0x0
MOV byte ptr [R15 + 0x20],0x0
MOV byte ptr [R15 + 0x30],0x0
MOV qword ptr [R15 + 0x58],RBX
MOV qword ptr [R15 + 0x60],0x0
MOV qword ptr [R15 + 0x68],0x0
MOV qword ptr [R15 + 0x70],RAX
CALL 0x002d9490
MOV EDI,0x58
MOV byte ptr [RAX],0x1
MOV RBP,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 0x002d9490
MOV RDX,qword ptr [R13 + 0x40]
MOV RDI,qword ptr [RSP + 0x8]
LEA RSI,[RAX + 0x20]
MOV qword ptr [RAX + 0x40],R15
MOV qword ptr [RAX + 0x10],RSI
LEA RSI,[0x42ac00]
MOV qword ptr [RAX],RSI
MOV RSI,RAX
MOV qword ptr [RAX + 0x8],0x0
MOV qword ptr [RAX + 0x18],0x0
MOV byte ptr [RAX + 0x20],0x0
MOV byte ptr [RAX + 0x30],0x0
MOV qword ptr [RAX + 0x38],RDX
MOV qword ptr [RAX + 0x48],R14
MOV qword ptr [RAX + 0x50],RBP
CALL 0x00289790
MOV R15,qword ptr [R12]
CMP R15,qword ptr [R12 + 0x8]
JZ 0x00240133
CMP byte ptr [R15],0x0
JZ 0x0024013a
MOV RAX,R13
MOV R13,RBP
MOV RBP,R15
MOV R15,RAX
JMP 0x0024002d
CMP byte ptr [RBP],0x0
MOV R13,R14
JZ 0x0024013a
MOV EDI,0x20
CALL 0x002d9490
MOV EDI,0x90
MOV byte ptr [RAX],0x1
MOV R14,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
MOV qword ptr [RSP + 0x10],RAX
CALL 0x002d9490
MOV ECX,dword ptr [R15 + 0x58]
MOV RSI,qword ptr [R15 + 0x50]
LEA RDX,[0x42aac0]
MOV RDI,qword ptr [R15 + 0x48]
MOV R8,qword ptr [R15 + 0x40]
LEA R11,[RAX + 0x20]
MOV qword ptr [RAX + 0x68],RBP
MOV R10,qword ptr [R15 + 0x38]
MOV dword ptr [RAX + 0x58],ECX
SUB RBP,-0x80
MOV RCX,qword ptr [R15 + 0x60]
MOV qword ptr [RAX + 0x48],RDI
MOV qword ptr [RAX + 0x50],RSI
MOV RDI,qword ptr [RSP + 0x8]
MOV RSI,RAX
MOV qword ptr [RAX + 0x8],0x0
MOV qword ptr [RAX + 0x10],R11
MOV qword ptr [RAX + 0x18],0x0
MOV byte ptr [RAX + 0x20],0x0
MOV byte ptr [RAX + 0x30],0x0
MOV qword ptr [RAX],RDX
MOV qword ptr [RAX + 0x38],R10
MOV qword ptr [RAX + 0x40],R8
MOV qword ptr [RAX + 0x60],RCX
MOV qword ptr [RAX + 0x70],RBX
MOV qword ptr [RAX + 0x78],0x0
MOV qword ptr [RAX + 0x80],R13
MOV qword ptr [RAX + 0x88],R14
CALL 0x00289790
CMP qword ptr [R12 + 0x8],RBP
JNZ 0x00240020
MOV RAX,qword ptr [RSP + 0x18]
CMP qword ptr [RAX + 0x68],0x0
JNZ 0x0024016a
MOV RAX,qword ptr [RSP + 0x18]
MOV RBX,qword ptr [RSP + 0x10]
MOV RDI,qword ptr [RSP + 0x8]
MOV qword ptr [RAX + 0x68],RBX
ADD RSP,0x28
MOV RSI,RAX
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
JMP 0x00289790
MOV qword ptr [RSP + 0x10],RBP
JMP 0x002400fe
LEA RDX,[0x382cf8]
MOV ESI,0x1ed
LEA RDI,[0x382b80]
CALL 0x0017c650
LEA RDX,[0x382cec]
MOV ESI,0x830
LEA RDI,[0x37369d]
CALL 0x0017c650
LEA RDX,[0x382ce0]
MOV ESI,0x19a
LEA RDI,[0x382bc9]
CALL 0x0017c650
(translation_unit "void FUN_0023fea0(long param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  undefined8 *puVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined1 *puVar9;\n  undefined8 *puVar10;\n  undefined8 *puVar11;\n  undefined8 *puVar12;\n  char *pcVar13;\n  undefined1 *local_48;\n  \n  puVar10 = (undefined8 *)FUN_002d9490(0x18);\n  *puVar10 = 0;\n  puVar10[1] = 0;\n  puVar10[2] = 0;\n  if (**(char **)(param_1 + 0x68) != '\0') {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/options.h",0x830,"group");\n  }\n  puVar3 = *(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68);\n  uVar4 = *(undefined8 *)(param_1 + 0x80);\n  puVar11 = (undefined8 *)FUN_002d9490(0x78);\n  uVar5 = *(undefined8 *)(param_1 + 0x60);\n  uVar6 = *(undefined8 *)(param_1 + 0x38);\n  uVar7 = *(undefined8 *)(param_1 + 0x40);\n  uVar8 = *(undefined8 *)(param_1 + 0x88);\n  puVar11[9] = *(undefined8 *)(param_1 + 0x48);\n  puVar11[2] = puVar11 + 4;\n  *puVar11 = &PTR_FUN_0042ac40;\n  puVar11[7] = uVar6;\n  puVar11[10] = uVar5;\n  puVar11[8] = uVar7;\n  puVar11[1] = 0;\n  puVar11[3] = 0;\n  *(undefined1 *)(puVar11 + 4) = 0;\n  *(undefined1 *)(puVar11 + 6) = 0;\n  puVar11[0xb] = puVar10;\n  puVar11[0xc] = 0;\n  puVar11[0xd] = 0;\n  puVar11[0xe] = uVar8;\n  local_48 = (undefined1 *)FUN_002d9490(0x20);\n  *local_48 = 1;\n  *(undefined8 *)(local_48 + 8) = 0;\n  *(undefined8 *)(local_48 + 0x10) = 0;\n  *(undefined8 *)(local_48 + 0x18) = 0;\n  *(undefined4 *)(local_48 + 4) = 1;\n  puVar12 = (undefined8 *)FUN_002d9490(0x58);\n  uVar5 = *(undefined8 *)(param_1 + 0x40);\n  puVar12[8] = puVar11;\n  puVar12[2] = puVar12 + 4;\n  *puVar12 = &PTR_FUN_0042ac00;\n  puVar12[1] = 0;\n  puVar12[3] = 0;\n  *(undefined1 *)(puVar12 + 4) = 0;\n  *(undefined1 *)(puVar12 + 6) = 0;\n  puVar12[7] = uVar5;\n  puVar12[9] = uVar4;\n  puVar12[10] = local_48;\n  FUN_00289790(param_2,puVar12);\n  pcVar13 = (char *)*puVar3;\n  if (pcVar13 != (char *)puVar3[1]) {\n    cVar1 = *pcVar13;\n    puVar9 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }\n  }\n  if (puVar11[0xd] == 0) {\n    puVar11[0xd] = local_48;\n    FUN_00289790(param_2,puVar11);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0017c650("../../gold/readsyms.h",0x19a,"set_blocker");\n}\n\n" (function_definition "void FUN_0023fea0(long param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  undefined8 *puVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined1 *puVar9;\n  undefined8 *puVar10;\n  undefined8 *puVar11;\n  undefined8 *puVar12;\n  char *pcVar13;\n  undefined1 *local_48;\n  \n  puVar10 = (undefined8 *)FUN_002d9490(0x18);\n  *puVar10 = 0;\n  puVar10[1] = 0;\n  puVar10[2] = 0;\n  if (**(char **)(param_1 + 0x68) != '\0') {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/options.h",0x830,"group");\n  }\n  puVar3 = *(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68);\n  uVar4 = *(undefined8 *)(param_1 + 0x80);\n  puVar11 = (undefined8 *)FUN_002d9490(0x78);\n  uVar5 = *(undefined8 *)(param_1 + 0x60);\n  uVar6 = *(undefined8 *)(param_1 + 0x38);\n  uVar7 = *(undefined8 *)(param_1 + 0x40);\n  uVar8 = *(undefined8 *)(param_1 + 0x88);\n  puVar11[9] = *(undefined8 *)(param_1 + 0x48);\n  puVar11[2] = puVar11 + 4;\n  *puVar11 = &PTR_FUN_0042ac40;\n  puVar11[7] = uVar6;\n  puVar11[10] = uVar5;\n  puVar11[8] = uVar7;\n  puVar11[1] = 0;\n  puVar11[3] = 0;\n  *(undefined1 *)(puVar11 + 4) = 0;\n  *(undefined1 *)(puVar11 + 6) = 0;\n  puVar11[0xb] = puVar10;\n  puVar11[0xc] = 0;\n  puVar11[0xd] = 0;\n  puVar11[0xe] = uVar8;\n  local_48 = (undefined1 *)FUN_002d9490(0x20);\n  *local_48 = 1;\n  *(undefined8 *)(local_48 + 8) = 0;\n  *(undefined8 *)(local_48 + 0x10) = 0;\n  *(undefined8 *)(local_48 + 0x18) = 0;\n  *(undefined4 *)(local_48 + 4) = 1;\n  puVar12 = (undefined8 *)FUN_002d9490(0x58);\n  uVar5 = *(undefined8 *)(param_1 + 0x40);\n  puVar12[8] = puVar11;\n  puVar12[2] = puVar12 + 4;\n  *puVar12 = &PTR_FUN_0042ac00;\n  puVar12[1] = 0;\n  puVar12[3] = 0;\n  *(undefined1 *)(puVar12 + 4) = 0;\n  *(undefined1 *)(puVar12 + 6) = 0;\n  puVar12[7] = uVar5;\n  puVar12[9] = uVar4;\n  puVar12[10] = local_48;\n  FUN_00289790(param_2,puVar12);\n  pcVar13 = (char *)*puVar3;\n  if (pcVar13 != (char *)puVar3[1]) {\n    cVar1 = *pcVar13;\n    puVar9 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }\n  }\n  if (puVar11[0xd] == 0) {\n    puVar11[0xd] = local_48;\n    FUN_00289790(param_2,puVar11);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0017c650("../../gold/readsyms.h",0x19a,"set_blocker");\n}" primitive_type (function_declarator "FUN_0023fea0(long param_1,undefined8 param_2)" identifier (parameter_list "(long param_1,undefined8 param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  undefined4 uVar2;\n  undefined8 *puVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined1 *puVar9;\n  undefined8 *puVar10;\n  undefined8 *puVar11;\n  undefined8 *puVar12;\n  char *pcVar13;\n  undefined1 *local_48;\n  \n  puVar10 = (undefined8 *)FUN_002d9490(0x18);\n  *puVar10 = 0;\n  puVar10[1] = 0;\n  puVar10[2] = 0;\n  if (**(char **)(param_1 + 0x68) != '\0') {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/options.h",0x830,"group");\n  }\n  puVar3 = *(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68);\n  uVar4 = *(undefined8 *)(param_1 + 0x80);\n  puVar11 = (undefined8 *)FUN_002d9490(0x78);\n  uVar5 = *(undefined8 *)(param_1 + 0x60);\n  uVar6 = *(undefined8 *)(param_1 + 0x38);\n  uVar7 = *(undefined8 *)(param_1 + 0x40);\n  uVar8 = *(undefined8 *)(param_1 + 0x88);\n  puVar11[9] = *(undefined8 *)(param_1 + 0x48);\n  puVar11[2] = puVar11 + 4;\n  *puVar11 = &PTR_FUN_0042ac40;\n  puVar11[7] = uVar6;\n  puVar11[10] = uVar5;\n  puVar11[8] = uVar7;\n  puVar11[1] = 0;\n  puVar11[3] = 0;\n  *(undefined1 *)(puVar11 + 4) = 0;\n  *(undefined1 *)(puVar11 + 6) = 0;\n  puVar11[0xb] = puVar10;\n  puVar11[0xc] = 0;\n  puVar11[0xd] = 0;\n  puVar11[0xe] = uVar8;\n  local_48 = (undefined1 *)FUN_002d9490(0x20);\n  *local_48 = 1;\n  *(undefined8 *)(local_48 + 8) = 0;\n  *(undefined8 *)(local_48 + 0x10) = 0;\n  *(undefined8 *)(local_48 + 0x18) = 0;\n  *(undefined4 *)(local_48 + 4) = 1;\n  puVar12 = (undefined8 *)FUN_002d9490(0x58);\n  uVar5 = *(undefined8 *)(param_1 + 0x40);\n  puVar12[8] = puVar11;\n  puVar12[2] = puVar12 + 4;\n  *puVar12 = &PTR_FUN_0042ac00;\n  puVar12[1] = 0;\n  puVar12[3] = 0;\n  *(undefined1 *)(puVar12 + 4) = 0;\n  *(undefined1 *)(puVar12 + 6) = 0;\n  puVar12[7] = uVar5;\n  puVar12[9] = uVar4;\n  puVar12[10] = local_48;\n  FUN_00289790(param_2,puVar12);\n  pcVar13 = (char *)*puVar3;\n  if (pcVar13 != (char *)puVar3[1]) {\n    cVar1 = *pcVar13;\n    puVar9 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }\n  }\n  if (puVar11[0xd] == 0) {\n    puVar11[0xd] = local_48;\n    FUN_00289790(param_2,puVar11);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0017c650("../../gold/readsyms.h",0x19a,"set_blocker");\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined8 *puVar3;" type_identifier (pointer_declarator "*puVar3" * 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 "undefined8 uVar8;" type_identifier identifier ;) (declaration "undefined1 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined8 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined8 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined8 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined1 *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (expression_statement "puVar10 = (undefined8 *)FUN_002d9490(0x18);" (assignment_expression "puVar10 = (undefined8 *)FUN_002d9490(0x18)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x18)" identifier (argument_list "(0x18)" ( number_literal ))))) ;) (expression_statement "*puVar10 = 0;" (assignment_expression "*puVar10 = 0" (pointer_expression "*puVar10" * identifier) = number_literal) ;) (expression_statement "puVar10[1] = 0;" (assignment_expression "puVar10[1] = 0" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[2] = 0;" (assignment_expression "puVar10[2] = 0" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (**(char **)(param_1 + 0x68) != '\0') {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/options.h",0x830,"group");\n  }" if (parenthesized_expression "(**(char **)(param_1 + 0x68) != '\0')" ( (binary_expression "**(char **)(param_1 + 0x68) != '\0'" (pointer_expression "**(char **)(param_1 + 0x68)" * (pointer_expression "*(char **)(param_1 + 0x68)" * (cast_expression "(char **)(param_1 + 0x68)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/options.h",0x830,"group");\n  }" { comment (expression_statement "FUN_0017c650("../../gold/options.h",0x830,"group");" (call_expression "FUN_0017c650("../../gold/options.h",0x830,"group")" identifier (argument_list "("../../gold/options.h",0x830,"group")" ( (string_literal ""../../gold/options.h"" " string_content ") , number_literal , (string_literal ""group"" " string_content ") ))) ;) })) (expression_statement "puVar3 = *(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68);" (assignment_expression "puVar3 = *(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68)" identifier = (pointer_expression "*(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68)" * (cast_expression "(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(char **)(param_1 + 0x68) + 0x68)" ( (binary_expression "*(char **)(param_1 + 0x68) + 0x68" (pointer_expression "*(char **)(param_1 + 0x68)" * (cast_expression "(char **)(param_1 + 0x68)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined8 *)(param_1 + 0x80);" (assignment_expression "uVar4 = *(undefined8 *)(param_1 + 0x80)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x80)" * (cast_expression "(undefined8 *)(param_1 + 0x80)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x80)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) ))))) ;) (expression_statement "puVar11 = (undefined8 *)FUN_002d9490(0x78);" (assignment_expression "puVar11 = (undefined8 *)FUN_002d9490(0x78)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x78)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x78)" identifier (argument_list "(0x78)" ( number_literal ))))) ;) (expression_statement "uVar5 = *(undefined8 *)(param_1 + 0x60);" (assignment_expression "uVar5 = *(undefined8 *)(param_1 + 0x60)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x60)" * (cast_expression "(undefined8 *)(param_1 + 0x60)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(undefined8 *)(param_1 + 0x38);" (assignment_expression "uVar6 = *(undefined8 *)(param_1 + 0x38)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x38)" * (cast_expression "(undefined8 *)(param_1 + 0x38)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined8 *)(param_1 + 0x40);" (assignment_expression "uVar7 = *(undefined8 *)(param_1 + 0x40)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x40)" * (cast_expression "(undefined8 *)(param_1 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(undefined8 *)(param_1 + 0x88);" (assignment_expression "uVar8 = *(undefined8 *)(param_1 + 0x88)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x88)" * (cast_expression "(undefined8 *)(param_1 + 0x88)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "puVar11[9] = *(undefined8 *)(param_1 + 0x48);" (assignment_expression "puVar11[9] = *(undefined8 *)(param_1 + 0x48)" (subscript_expression "puVar11[9]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(param_1 + 0x48)" * (cast_expression "(undefined8 *)(param_1 + 0x48)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "puVar11[2] = puVar11 + 4;" (assignment_expression "puVar11[2] = puVar11 + 4" (subscript_expression "puVar11[2]" identifier [ number_literal ]) = (binary_expression "puVar11 + 4" identifier + number_literal)) ;) (expression_statement "*puVar11 = &PTR_FUN_0042ac40;" (assignment_expression "*puVar11 = &PTR_FUN_0042ac40" (pointer_expression "*puVar11" * identifier) = (pointer_expression "&PTR_FUN_0042ac40" & identifier)) ;) (expression_statement "puVar11[7] = uVar6;" (assignment_expression "puVar11[7] = uVar6" (subscript_expression "puVar11[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[10] = uVar5;" (assignment_expression "puVar11[10] = uVar5" (subscript_expression "puVar11[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[8] = uVar7;" (assignment_expression "puVar11[8] = uVar7" (subscript_expression "puVar11[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[1] = 0;" (assignment_expression "puVar11[1] = 0" (subscript_expression "puVar11[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[3] = 0;" (assignment_expression "puVar11[3] = 0" (subscript_expression "puVar11[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar11 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar11 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar11 + 4)" * (cast_expression "(undefined1 *)(puVar11 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 4)" ( (binary_expression "puVar11 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar11 + 6) = 0;" (assignment_expression "*(undefined1 *)(puVar11 + 6) = 0" (pointer_expression "*(undefined1 *)(puVar11 + 6)" * (cast_expression "(undefined1 *)(puVar11 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 6)" ( (binary_expression "puVar11 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar11[0xb] = puVar10;" (assignment_expression "puVar11[0xb] = puVar10" (subscript_expression "puVar11[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[0xc] = 0;" (assignment_expression "puVar11[0xc] = 0" (subscript_expression "puVar11[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0xd] = 0;" (assignment_expression "puVar11[0xd] = 0" (subscript_expression "puVar11[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0xe] = uVar8;" (assignment_expression "puVar11[0xe] = uVar8" (subscript_expression "puVar11[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_48 = (undefined1 *)FUN_002d9490(0x20);" (assignment_expression "local_48 = (undefined1 *)FUN_002d9490(0x20)" identifier = (cast_expression "(undefined1 *)FUN_002d9490(0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x20)" identifier (argument_list "(0x20)" ( number_literal ))))) ;) (expression_statement "*local_48 = 1;" (assignment_expression "*local_48 = 1" (pointer_expression "*local_48" * identifier) = number_literal) ;) (expression_statement "*(undefined8 *)(local_48 + 8) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 8) = 0" (pointer_expression "*(undefined8 *)(local_48 + 8)" * (cast_expression "(undefined8 *)(local_48 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + 8)" ( (binary_expression "local_48 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(local_48 + 0x10) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 0x10) = 0" (pointer_expression "*(undefined8 *)(local_48 + 0x10)" * (cast_expression "(undefined8 *)(local_48 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + 0x10)" ( (binary_expression "local_48 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(local_48 + 0x18) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 0x18) = 0" (pointer_expression "*(undefined8 *)(local_48 + 0x18)" * (cast_expression "(undefined8 *)(local_48 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + 0x18)" ( (binary_expression "local_48 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(local_48 + 4) = 1;" (assignment_expression "*(undefined4 *)(local_48 + 4) = 1" (pointer_expression "*(undefined4 *)(local_48 + 4)" * (cast_expression "(undefined4 *)(local_48 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + 4)" ( (binary_expression "local_48 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar12 = (undefined8 *)FUN_002d9490(0x58);" (assignment_expression "puVar12 = (undefined8 *)FUN_002d9490(0x58)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x58)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x58)" identifier (argument_list "(0x58)" ( number_literal ))))) ;) (expression_statement "uVar5 = *(undefined8 *)(param_1 + 0x40);" (assignment_expression "uVar5 = *(undefined8 *)(param_1 + 0x40)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x40)" * (cast_expression "(undefined8 *)(param_1 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "puVar12[8] = puVar11;" (assignment_expression "puVar12[8] = puVar11" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = puVar12 + 4;" (assignment_expression "puVar12[2] = puVar12 + 4" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = (binary_expression "puVar12 + 4" identifier + number_literal)) ;) (expression_statement "*puVar12 = &PTR_FUN_0042ac00;" (assignment_expression "*puVar12 = &PTR_FUN_0042ac00" (pointer_expression "*puVar12" * identifier) = (pointer_expression "&PTR_FUN_0042ac00" & identifier)) ;) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[3] = 0;" (assignment_expression "puVar12[3] = 0" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar12 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar12 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar12 + 4)" * (cast_expression "(undefined1 *)(puVar12 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 4)" ( (binary_expression "puVar12 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar12 + 6) = 0;" (assignment_expression "*(undefined1 *)(puVar12 + 6) = 0" (pointer_expression "*(undefined1 *)(puVar12 + 6)" * (cast_expression "(undefined1 *)(puVar12 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 6)" ( (binary_expression "puVar12 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar12[7] = uVar5;" (assignment_expression "puVar12[7] = uVar5" (subscript_expression "puVar12[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[9] = uVar4;" (assignment_expression "puVar12[9] = uVar4" (subscript_expression "puVar12[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[10] = local_48;" (assignment_expression "puVar12[10] = local_48" (subscript_expression "puVar12[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00289790(param_2,puVar12);" (call_expression "FUN_00289790(param_2,puVar12)" identifier (argument_list "(param_2,puVar12)" ( identifier , identifier ))) ;) (expression_statement "pcVar13 = (char *)*puVar3;" (assignment_expression "pcVar13 = (char *)*puVar3" identifier = (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ;) (if_statement "if (pcVar13 != (char *)puVar3[1]) {\n    cVar1 = *pcVar13;\n    puVar9 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }\n  }" if (parenthesized_expression "(pcVar13 != (char *)puVar3[1])" ( (binary_expression "pcVar13 != (char *)puVar3[1]" identifier != (cast_expression "(char *)puVar3[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[1]" identifier [ number_literal ]))) )) (compound_statement "{\n    cVar1 = *pcVar13;\n    puVar9 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }\n  }" { (expression_statement "cVar1 = *pcVar13;" (assignment_expression "cVar1 = *pcVar13" identifier = (pointer_expression "*pcVar13" * identifier)) ;) (expression_statement "puVar9 = local_48;" (assignment_expression "puVar9 = local_48" identifier = identifier) ;) (while_statement "while( true ) {\n      if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }" { (if_statement "if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }" { comment (expression_statement "FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");" (call_expression "FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group")" identifier (argument_list "("../../gold/readsyms.cc",0x1ed,"do_group")" ( (string_literal ""../../gold/readsyms.cc"" " string_content ") , number_literal , (string_literal ""do_group"" " string_content ") ))) ;) })) (expression_statement "local_48 = (undefined1 *)FUN_002d9490(0x20);" (assignment_expression "local_48 = (undefined1 *)FUN_002d9490(0x20)" identifier = (cast_expression "(undefined1 *)FUN_002d9490(0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x20)" identifier (argument_list "(0x20)" ( number_literal ))))) ;) (expression_statement "*local_48 = 1;" (assignment_expression "*local_48 = 1" (pointer_expression "*local_48" * identifier) = number_literal) ;) (expression_statement "*(undefined8 *)(local_48 + 8) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 8) = 0" (pointer_expression "*(undefined8 *)(local_48 + 8)" * (cast_expression "(undefined8 *)(local_48 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + 8)" ( (binary_expression "local_48 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(local_48 + 0x10) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 0x10) = 0" (pointer_expression "*(undefined8 *)(local_48 + 0x10)" * (cast_expression "(undefined8 *)(local_48 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + 0x10)" ( (binary_expression "local_48 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(local_48 + 0x18) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 0x18) = 0" (pointer_expression "*(undefined8 *)(local_48 + 0x18)" * (cast_expression "(undefined8 *)(local_48 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + 0x18)" ( (binary_expression "local_48 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(local_48 + 4) = 1;" (assignment_expression "*(undefined4 *)(local_48 + 4) = 1" (pointer_expression "*(undefined4 *)(local_48 + 4)" * (cast_expression "(undefined4 *)(local_48 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + 4)" ( (binary_expression "local_48 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar12 = (undefined8 *)FUN_002d9490(0x90);" (assignment_expression "puVar12 = (undefined8 *)FUN_002d9490(0x90)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x90)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x90)" identifier (argument_list "(0x90)" ( number_literal ))))) ;) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 0x58);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x58)" * (cast_expression "(undefined4 *)(param_1 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined8 *)(param_1 + 0x50);" (assignment_expression "uVar4 = *(undefined8 *)(param_1 + 0x50)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x50)" * (cast_expression "(undefined8 *)(param_1 + 0x50)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(undefined8 *)(param_1 + 0x48);" (assignment_expression "uVar5 = *(undefined8 *)(param_1 + 0x48)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x48)" * (cast_expression "(undefined8 *)(param_1 + 0x48)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(undefined8 *)(param_1 + 0x40);" (assignment_expression "uVar6 = *(undefined8 *)(param_1 + 0x40)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x40)" * (cast_expression "(undefined8 *)(param_1 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "puVar12[0xd] = pcVar13;" (assignment_expression "puVar12[0xd] = pcVar13" (subscript_expression "puVar12[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar7 = *(undefined8 *)(param_1 + 0x38);" (assignment_expression "uVar7 = *(undefined8 *)(param_1 + 0x38)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x38)" * (cast_expression "(undefined8 *)(param_1 + 0x38)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar12 + 0xb) = uVar2;" (assignment_expression "*(undefined4 *)(puVar12 + 0xb) = uVar2" (pointer_expression "*(undefined4 *)(puVar12 + 0xb)" * (cast_expression "(undefined4 *)(puVar12 + 0xb)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0xb)" ( (binary_expression "puVar12 + 0xb" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar13 = pcVar13 + 0x80;" (assignment_expression "pcVar13 = pcVar13 + 0x80" identifier = (binary_expression "pcVar13 + 0x80" identifier + number_literal)) ;) (expression_statement "uVar8 = *(undefined8 *)(param_1 + 0x60);" (assignment_expression "uVar8 = *(undefined8 *)(param_1 + 0x60)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x60)" * (cast_expression "(undefined8 *)(param_1 + 0x60)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "puVar12[9] = uVar5;" (assignment_expression "puVar12[9] = uVar5" (subscript_expression "puVar12[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[10] = uVar4;" (assignment_expression "puVar12[10] = uVar4" (subscript_expression "puVar12[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[2] = puVar12 + 4;" (assignment_expression "puVar12[2] = puVar12 + 4" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = (binary_expression "puVar12 + 4" identifier + number_literal)) ;) (expression_statement "puVar12[3] = 0;" (assignment_expression "puVar12[3] = 0" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar12 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar12 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar12 + 4)" * (cast_expression "(undefined1 *)(puVar12 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 4)" ( (binary_expression "puVar12 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar12 + 6) = 0;" (assignment_expression "*(undefined1 *)(puVar12 + 6) = 0" (pointer_expression "*(undefined1 *)(puVar12 + 6)" * (cast_expression "(undefined1 *)(puVar12 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 6)" ( (binary_expression "puVar12 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*puVar12 = &PTR_FUN_0042aac0;" (assignment_expression "*puVar12 = &PTR_FUN_0042aac0" (pointer_expression "*puVar12" * identifier) = (pointer_expression "&PTR_FUN_0042aac0" & identifier)) ;) (expression_statement "puVar12[7] = uVar7;" (assignment_expression "puVar12[7] = uVar7" (subscript_expression "puVar12[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[8] = uVar6;" (assignment_expression "puVar12[8] = uVar6" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[0xc] = uVar8;" (assignment_expression "puVar12[0xc] = uVar8" (subscript_expression "puVar12[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[0xe] = puVar10;" (assignment_expression "puVar12[0xe] = puVar10" (subscript_expression "puVar12[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[0xf] = 0;" (assignment_expression "puVar12[0xf] = 0" (subscript_expression "puVar12[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[0x10] = puVar9;" (assignment_expression "puVar12[0x10] = puVar9" (subscript_expression "puVar12[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[0x11] = local_48;" (assignment_expression "puVar12[0x11] = local_48" (subscript_expression "puVar12[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00289790(param_2,puVar12);" (call_expression "FUN_00289790(param_2,puVar12)" identifier (argument_list "(param_2,puVar12)" ( identifier , identifier ))) ;) (if_statement "if ((char *)puVar3[1] == pcVar13) break;" if (parenthesized_expression "((char *)puVar3[1] == pcVar13)" ( (binary_expression "(char *)puVar3[1] == pcVar13" (cast_expression "(char *)puVar3[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[1]" identifier [ number_literal ])) == identifier) )) (break_statement "break;" break ;)) (expression_statement "cVar1 = *pcVar13;" (assignment_expression "cVar1 = *pcVar13" identifier = (pointer_expression "*pcVar13" * identifier)) ;) (expression_statement "puVar9 = local_48;" (assignment_expression "puVar9 = local_48" identifier = identifier) ;) })) })) (if_statement "if (puVar11[0xd] == 0) {\n    puVar11[0xd] = local_48;\n    FUN_00289790(param_2,puVar11);\n    return;\n  }" if (parenthesized_expression "(puVar11[0xd] == 0)" ( (binary_expression "puVar11[0xd] == 0" (subscript_expression "puVar11[0xd]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    puVar11[0xd] = local_48;\n    FUN_00289790(param_2,puVar11);\n    return;\n  }" { (expression_statement "puVar11[0xd] = local_48;" (assignment_expression "puVar11[0xd] = local_48" (subscript_expression "puVar11[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00289790(param_2,puVar11);" (call_expression "FUN_00289790(param_2,puVar11)" identifier (argument_list "(param_2,puVar11)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) comment (expression_statement "FUN_0017c650("../../gold/readsyms.h",0x19a,"set_blocker");" (call_expression "FUN_0017c650("../../gold/readsyms.h",0x19a,"set_blocker")" identifier (argument_list "("../../gold/readsyms.h",0x19a,"set_blocker")" ( (string_literal ""../../gold/readsyms.h"" " string_content ") , number_literal , (string_literal ""set_blocker"" " string_content ") ))) ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void do_group(Read_symbols * this, Workqueue * workqueue) */\n\nvoid __thiscall gold::Read_symbols::do_group(Read_symbols *this,Workqueue *workqueue)\n\n{\n  char cVar1;\n  int iVar2;\n  Input_file_group *pIVar3;\n  Task_token *pTVar4;\n  Mapfile *pMVar5;\n  Input_objects *pIVar6;\n  Symbol_table *pSVar7;\n  Task_token *pTVar8;\n  Dirsearch *pDVar9;\n  Layout *pLVar10;\n  pointer pcVar11;\n  _func_int_varargs **pp_Var12;\n  Task *t;\n  Task *pTVar13;\n  pointer pIVar14;\n  pointer local_48;\n  \n  pp_Var12 = (_func_int_varargs **)operator_new(0x18);\n  *pp_Var12 = (_func_int_varargs *)0x0;\n  pp_Var12[1] = (_func_int_varargs *)0x0;\n  pp_Var12[2] = (_func_int_varargs *)0x0;\n  if (this->input_argument_->is_file_ != false) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/options.h",0x830,"group");\n  }\n  pIVar3 = this->input_argument_->group_;\n  pTVar4 = this->this_blocker_;\n  t = (Task *)operator_new(0x78);\n  pMVar5 = this->mapfile_;\n  pIVar6 = this->input_objects_;\n  pSVar7 = this->symtab_;\n  pTVar8 = this->next_blocker_;\n  t[1].name_._M_dataplus._M_p = (pointer)this->layout_;\n  (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n  t->_vptr_Task = (_func_int_varargs **)&PTR__Finish_group_0042ac40;\n  t[1]._vptr_Task = (_func_int_varargs **)pIVar6;\n  t[1].name_._M_string_length = (size_type)pMVar5;\n  t[1].list_next_ = (Task *)pSVar7;\n  t->list_next_ = (Task *)0x0;\n  (t->name_)._M_string_length = 0;\n  (t->name_).field_2._M_local_buf[0] = '\0';\n  t->should_run_soon_ = false;\n  *(_func_int_varargs ***)&t[1].name_.field_2 = pp_Var12;\n  *(undefined8 *)((long)&t[1].name_.field_2 + 8) = 0;\n  *(undefined8 *)&t[1].should_run_soon_ = 0;\n  t[2]._vptr_Task = (_func_int_varargs **)pTVar8;\n  local_48 = (pointer)operator_new(0x20);\n  *local_48 = '\x01';\n  local_48[8] = '\0';\n  local_48[9] = '\0';\n  local_48[10] = '\0';\n  local_48[0xb] = '\0';\n  local_48[0xc] = '\0';\n  local_48[0xd] = '\0';\n  local_48[0xe] = '\0';\n  local_48[0xf] = '\0';\n  local_48[0x10] = '\0';\n  local_48[0x11] = '\0';\n  local_48[0x12] = '\0';\n  local_48[0x13] = '\0';\n  local_48[0x14] = '\0';\n  local_48[0x15] = '\0';\n  local_48[0x16] = '\0';\n  local_48[0x17] = '\0';\n  local_48[0x18] = '\0';\n  local_48[0x19] = '\0';\n  local_48[0x1a] = '\0';\n  local_48[0x1b] = '\0';\n  local_48[0x1c] = '\0';\n  local_48[0x1d] = '\0';\n  local_48[0x1e] = '\0';\n  local_48[0x1f] = '\0';\n  local_48[4] = '\x01';\n  local_48[5] = '\0';\n  local_48[6] = '\0';\n  local_48[7] = '\0';\n  pTVar13 = (Task *)operator_new(0x58);\n  pSVar7 = this->symtab_;\n  pTVar13[1].list_next_ = t;\n  (pTVar13->name_)._M_dataplus._M_p = (pointer)&(pTVar13->name_).field_2;\n  pTVar13->_vptr_Task = (_func_int_varargs **)&PTR__Start_group_0042ac00;\n  pTVar13->list_next_ = (Task *)0x0;\n  (pTVar13->name_)._M_string_length = 0;\n  (pTVar13->name_).field_2._M_local_buf[0] = '\0';\n  pTVar13->should_run_soon_ = false;\n  pTVar13[1]._vptr_Task = (_func_int_varargs **)pSVar7;\n  pTVar13[1].name_._M_dataplus._M_p = &pTVar4->is_blocker_;\n  pTVar13[1].name_._M_string_length = (size_type)local_48;\n  Workqueue::queue_soon(workqueue,pTVar13);\n  pIVar14 = (pIVar3->files_).\n            super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n            _M_start;\n  if (pIVar14 !=\n      (pIVar3->files_).\n      super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n      _M_finish) {\n    cVar1 = pIVar14->is_file_;\n    pcVar11 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (pointer)operator_new(0x20);\n      *local_48 = '\x01';\n      local_48[8] = '\0';\n      local_48[9] = '\0';\n      local_48[10] = '\0';\n      local_48[0xb] = '\0';\n      local_48[0xc] = '\0';\n      local_48[0xd] = '\0';\n      local_48[0xe] = '\0';\n      local_48[0xf] = '\0';\n      local_48[0x10] = '\0';\n      local_48[0x11] = '\0';\n      local_48[0x12] = '\0';\n      local_48[0x13] = '\0';\n      local_48[0x14] = '\0';\n      local_48[0x15] = '\0';\n      local_48[0x16] = '\0';\n      local_48[0x17] = '\0';\n      local_48[0x18] = '\0';\n      local_48[0x19] = '\0';\n      local_48[0x1a] = '\0';\n      local_48[0x1b] = '\0';\n      local_48[0x1c] = '\0';\n      local_48[0x1d] = '\0';\n      local_48[0x1e] = '\0';\n      local_48[0x1f] = '\0';\n      local_48[4] = '\x01';\n      local_48[5] = '\0';\n      local_48[6] = '\0';\n      local_48[7] = '\0';\n      pTVar13 = (Task *)operator_new(0x90);\n      iVar2 = this->dirindex_;\n      pDVar9 = this->dirpath_;\n      pLVar10 = this->layout_;\n      pSVar7 = this->symtab_;\n      *(pointer *)&pTVar13[1].should_run_soon_ = pIVar14;\n      pIVar6 = this->input_objects_;\n      *(int *)&pTVar13[1].name_.field_2 = iVar2;\n      pIVar14 = pIVar14 + 1;\n      pMVar5 = this->mapfile_;\n      pTVar13[1].name_._M_dataplus._M_p = (pointer)pLVar10;\n      pTVar13[1].name_._M_string_length = (size_type)pDVar9;\n      pTVar13->list_next_ = (Task *)0x0;\n      (pTVar13->name_)._M_dataplus._M_p = (pointer)&(pTVar13->name_).field_2;\n      (pTVar13->name_)._M_string_length = 0;\n      (pTVar13->name_).field_2._M_local_buf[0] = '\0';\n      pTVar13->should_run_soon_ = false;\n      pTVar13->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_0042aac0;\n      pTVar13[1]._vptr_Task = (_func_int_varargs **)pIVar6;\n      pTVar13[1].list_next_ = (Task *)pSVar7;\n      *(Mapfile **)((long)&pTVar13[1].name_.field_2 + 8) = pMVar5;\n      pTVar13[2]._vptr_Task = pp_Var12;\n      pTVar13[2].list_next_ = (Task *)0x0;\n      pTVar13[2].name_._M_dataplus._M_p = pcVar11;\n      pTVar13[2].name_._M_string_length = (size_type)local_48;\n      Workqueue::queue_soon(workqueue,pTVar13);\n      if ((pIVar3->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == pIVar14) break;\n      cVar1 = pIVar14->is_file_;\n      pcVar11 = local_48;\n    }\n  }\n  if (*(long *)&t[1].should_run_soon_ == 0) {\n    *(pointer *)&t[1].should_run_soon_ = local_48;\n    Workqueue::queue_soon(workqueue,t);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/readsyms.h",0x19a,"set_blocker");\n}\n\n" comment comment (function_definition "void __thiscall gold::Read_symbols::do_group(Read_symbols *this,Workqueue *workqueue)\n\n{\n  char cVar1;\n  int iVar2;\n  Input_file_group *pIVar3;\n  Task_token *pTVar4;\n  Mapfile *pMVar5;\n  Input_objects *pIVar6;\n  Symbol_table *pSVar7;\n  Task_token *pTVar8;\n  Dirsearch *pDVar9;\n  Layout *pLVar10;\n  pointer pcVar11;\n  _func_int_varargs **pp_Var12;\n  Task *t;\n  Task *pTVar13;\n  pointer pIVar14;\n  pointer local_48;\n  \n  pp_Var12 = (_func_int_varargs **)operator_new(0x18);\n  *pp_Var12 = (_func_int_varargs *)0x0;\n  pp_Var12[1] = (_func_int_varargs *)0x0;\n  pp_Var12[2] = (_func_int_varargs *)0x0;\n  if (this->input_argument_->is_file_ != false) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/options.h",0x830,"group");\n  }\n  pIVar3 = this->input_argument_->group_;\n  pTVar4 = this->this_blocker_;\n  t = (Task *)operator_new(0x78);\n  pMVar5 = this->mapfile_;\n  pIVar6 = this->input_objects_;\n  pSVar7 = this->symtab_;\n  pTVar8 = this->next_blocker_;\n  t[1].name_._M_dataplus._M_p = (pointer)this->layout_;\n  (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n  t->_vptr_Task = (_func_int_varargs **)&PTR__Finish_group_0042ac40;\n  t[1]._vptr_Task = (_func_int_varargs **)pIVar6;\n  t[1].name_._M_string_length = (size_type)pMVar5;\n  t[1].list_next_ = (Task *)pSVar7;\n  t->list_next_ = (Task *)0x0;\n  (t->name_)._M_string_length = 0;\n  (t->name_).field_2._M_local_buf[0] = '\0';\n  t->should_run_soon_ = false;\n  *(_func_int_varargs ***)&t[1].name_.field_2 = pp_Var12;\n  *(undefined8 *)((long)&t[1].name_.field_2 + 8) = 0;\n  *(undefined8 *)&t[1].should_run_soon_ = 0;\n  t[2]._vptr_Task = (_func_int_varargs **)pTVar8;\n  local_48 = (pointer)operator_new(0x20);\n  *local_48 = '\x01';\n  local_48[8] = '\0';\n  local_48[9] = '\0';\n  local_48[10] = '\0';\n  local_48[0xb] = '\0';\n  local_48[0xc] = '\0';\n  local_48[0xd] = '\0';\n  local_48[0xe] = '\0';\n  local_48[0xf] = '\0';\n  local_48[0x10] = '\0';\n  local_48[0x11] = '\0';\n  local_48[0x12] = '\0';\n  local_48[0x13] = '\0';\n  local_48[0x14] = '\0';\n  local_48[0x15] = '\0';\n  local_48[0x16] = '\0';\n  local_48[0x17] = '\0';\n  local_48[0x18] = '\0';\n  local_48[0x19] = '\0';\n  local_48[0x1a] = '\0';\n  local_48[0x1b] = '\0';\n  local_48[0x1c] = '\0';\n  local_48[0x1d] = '\0';\n  local_48[0x1e] = '\0';\n  local_48[0x1f] = '\0';\n  local_48[4] = '\x01';\n  local_48[5] = '\0';\n  local_48[6] = '\0';\n  local_48[7] = '\0';\n  pTVar13 = (Task *)operator_new(0x58);\n  pSVar7 = this->symtab_;\n  pTVar13[1].list_next_ = t;\n  (pTVar13->name_)._M_dataplus._M_p = (pointer)&(pTVar13->name_).field_2;\n  pTVar13->_vptr_Task = (_func_int_varargs **)&PTR__Start_group_0042ac00;\n  pTVar13->list_next_ = (Task *)0x0;\n  (pTVar13->name_)._M_string_length = 0;\n  (pTVar13->name_).field_2._M_local_buf[0] = '\0';\n  pTVar13->should_run_soon_ = false;\n  pTVar13[1]._vptr_Task = (_func_int_varargs **)pSVar7;\n  pTVar13[1].name_._M_dataplus._M_p = &pTVar4->is_blocker_;\n  pTVar13[1].name_._M_string_length = (size_type)local_48;\n  Workqueue::queue_soon(workqueue,pTVar13);\n  pIVar14 = (pIVar3->files_).\n            super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n            _M_start;\n  if (pIVar14 !=\n      (pIVar3->files_).\n      super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n      _M_finish) {\n    cVar1 = pIVar14->is_file_;\n    pcVar11 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (pointer)operator_new(0x20);\n      *local_48 = '\x01';\n      local_48[8] = '\0';\n      local_48[9] = '\0';\n      local_48[10] = '\0';\n      local_48[0xb] = '\0';\n      local_48[0xc] = '\0';\n      local_48[0xd] = '\0';\n      local_48[0xe] = '\0';\n      local_48[0xf] = '\0';\n      local_48[0x10] = '\0';\n      local_48[0x11] = '\0';\n      local_48[0x12] = '\0';\n      local_48[0x13] = '\0';\n      local_48[0x14] = '\0';\n      local_48[0x15] = '\0';\n      local_48[0x16] = '\0';\n      local_48[0x17] = '\0';\n      local_48[0x18] = '\0';\n      local_48[0x19] = '\0';\n      local_48[0x1a] = '\0';\n      local_48[0x1b] = '\0';\n      local_48[0x1c] = '\0';\n      local_48[0x1d] = '\0';\n      local_48[0x1e] = '\0';\n      local_48[0x1f] = '\0';\n      local_48[4] = '\x01';\n      local_48[5] = '\0';\n      local_48[6] = '\0';\n      local_48[7] = '\0';\n      pTVar13 = (Task *)operator_new(0x90);\n      iVar2 = this->dirindex_;\n      pDVar9 = this->dirpath_;\n      pLVar10 = this->layout_;\n      pSVar7 = this->symtab_;\n      *(pointer *)&pTVar13[1].should_run_soon_ = pIVar14;\n      pIVar6 = this->input_objects_;\n      *(int *)&pTVar13[1].name_.field_2 = iVar2;\n      pIVar14 = pIVar14 + 1;\n      pMVar5 = this->mapfile_;\n      pTVar13[1].name_._M_dataplus._M_p = (pointer)pLVar10;\n      pTVar13[1].name_._M_string_length = (size_type)pDVar9;\n      pTVar13->list_next_ = (Task *)0x0;\n      (pTVar13->name_)._M_dataplus._M_p = (pointer)&(pTVar13->name_).field_2;\n      (pTVar13->name_)._M_string_length = 0;\n      (pTVar13->name_).field_2._M_local_buf[0] = '\0';\n      pTVar13->should_run_soon_ = false;\n      pTVar13->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_0042aac0;\n      pTVar13[1]._vptr_Task = (_func_int_varargs **)pIVar6;\n      pTVar13[1].list_next_ = (Task *)pSVar7;\n      *(Mapfile **)((long)&pTVar13[1].name_.field_2 + 8) = pMVar5;\n      pTVar13[2]._vptr_Task = pp_Var12;\n      pTVar13[2].list_next_ = (Task *)0x0;\n      pTVar13[2].name_._M_dataplus._M_p = pcVar11;\n      pTVar13[2].name_._M_string_length = (size_type)local_48;\n      Workqueue::queue_soon(workqueue,pTVar13);\n      if ((pIVar3->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == pIVar14) break;\n      cVar1 = pIVar14->is_file_;\n      pcVar11 = local_48;\n    }\n  }\n  if (*(long *)&t[1].should_run_soon_ == 0) {\n    *(pointer *)&t[1].should_run_soon_ = local_48;\n    Workqueue::queue_soon(workqueue,t);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/readsyms.h",0x19a,"set_blocker");\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Read_symbols::" identifier : : identifier : :) (function_declarator "do_group(Read_symbols *this,Workqueue *workqueue)" identifier (parameter_list "(Read_symbols *this,Workqueue *workqueue)" ( (parameter_declaration "Read_symbols *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Workqueue *workqueue" type_identifier (pointer_declarator "*workqueue" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  Input_file_group *pIVar3;\n  Task_token *pTVar4;\n  Mapfile *pMVar5;\n  Input_objects *pIVar6;\n  Symbol_table *pSVar7;\n  Task_token *pTVar8;\n  Dirsearch *pDVar9;\n  Layout *pLVar10;\n  pointer pcVar11;\n  _func_int_varargs **pp_Var12;\n  Task *t;\n  Task *pTVar13;\n  pointer pIVar14;\n  pointer local_48;\n  \n  pp_Var12 = (_func_int_varargs **)operator_new(0x18);\n  *pp_Var12 = (_func_int_varargs *)0x0;\n  pp_Var12[1] = (_func_int_varargs *)0x0;\n  pp_Var12[2] = (_func_int_varargs *)0x0;\n  if (this->input_argument_->is_file_ != false) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/options.h",0x830,"group");\n  }\n  pIVar3 = this->input_argument_->group_;\n  pTVar4 = this->this_blocker_;\n  t = (Task *)operator_new(0x78);\n  pMVar5 = this->mapfile_;\n  pIVar6 = this->input_objects_;\n  pSVar7 = this->symtab_;\n  pTVar8 = this->next_blocker_;\n  t[1].name_._M_dataplus._M_p = (pointer)this->layout_;\n  (t->name_)._M_dataplus._M_p = (pointer)&(t->name_).field_2;\n  t->_vptr_Task = (_func_int_varargs **)&PTR__Finish_group_0042ac40;\n  t[1]._vptr_Task = (_func_int_varargs **)pIVar6;\n  t[1].name_._M_string_length = (size_type)pMVar5;\n  t[1].list_next_ = (Task *)pSVar7;\n  t->list_next_ = (Task *)0x0;\n  (t->name_)._M_string_length = 0;\n  (t->name_).field_2._M_local_buf[0] = '\0';\n  t->should_run_soon_ = false;\n  *(_func_int_varargs ***)&t[1].name_.field_2 = pp_Var12;\n  *(undefined8 *)((long)&t[1].name_.field_2 + 8) = 0;\n  *(undefined8 *)&t[1].should_run_soon_ = 0;\n  t[2]._vptr_Task = (_func_int_varargs **)pTVar8;\n  local_48 = (pointer)operator_new(0x20);\n  *local_48 = '\x01';\n  local_48[8] = '\0';\n  local_48[9] = '\0';\n  local_48[10] = '\0';\n  local_48[0xb] = '\0';\n  local_48[0xc] = '\0';\n  local_48[0xd] = '\0';\n  local_48[0xe] = '\0';\n  local_48[0xf] = '\0';\n  local_48[0x10] = '\0';\n  local_48[0x11] = '\0';\n  local_48[0x12] = '\0';\n  local_48[0x13] = '\0';\n  local_48[0x14] = '\0';\n  local_48[0x15] = '\0';\n  local_48[0x16] = '\0';\n  local_48[0x17] = '\0';\n  local_48[0x18] = '\0';\n  local_48[0x19] = '\0';\n  local_48[0x1a] = '\0';\n  local_48[0x1b] = '\0';\n  local_48[0x1c] = '\0';\n  local_48[0x1d] = '\0';\n  local_48[0x1e] = '\0';\n  local_48[0x1f] = '\0';\n  local_48[4] = '\x01';\n  local_48[5] = '\0';\n  local_48[6] = '\0';\n  local_48[7] = '\0';\n  pTVar13 = (Task *)operator_new(0x58);\n  pSVar7 = this->symtab_;\n  pTVar13[1].list_next_ = t;\n  (pTVar13->name_)._M_dataplus._M_p = (pointer)&(pTVar13->name_).field_2;\n  pTVar13->_vptr_Task = (_func_int_varargs **)&PTR__Start_group_0042ac00;\n  pTVar13->list_next_ = (Task *)0x0;\n  (pTVar13->name_)._M_string_length = 0;\n  (pTVar13->name_).field_2._M_local_buf[0] = '\0';\n  pTVar13->should_run_soon_ = false;\n  pTVar13[1]._vptr_Task = (_func_int_varargs **)pSVar7;\n  pTVar13[1].name_._M_dataplus._M_p = &pTVar4->is_blocker_;\n  pTVar13[1].name_._M_string_length = (size_type)local_48;\n  Workqueue::queue_soon(workqueue,pTVar13);\n  pIVar14 = (pIVar3->files_).\n            super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n            _M_start;\n  if (pIVar14 !=\n      (pIVar3->files_).\n      super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n      _M_finish) {\n    cVar1 = pIVar14->is_file_;\n    pcVar11 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (pointer)operator_new(0x20);\n      *local_48 = '\x01';\n      local_48[8] = '\0';\n      local_48[9] = '\0';\n      local_48[10] = '\0';\n      local_48[0xb] = '\0';\n      local_48[0xc] = '\0';\n      local_48[0xd] = '\0';\n      local_48[0xe] = '\0';\n      local_48[0xf] = '\0';\n      local_48[0x10] = '\0';\n      local_48[0x11] = '\0';\n      local_48[0x12] = '\0';\n      local_48[0x13] = '\0';\n      local_48[0x14] = '\0';\n      local_48[0x15] = '\0';\n      local_48[0x16] = '\0';\n      local_48[0x17] = '\0';\n      local_48[0x18] = '\0';\n      local_48[0x19] = '\0';\n      local_48[0x1a] = '\0';\n      local_48[0x1b] = '\0';\n      local_48[0x1c] = '\0';\n      local_48[0x1d] = '\0';\n      local_48[0x1e] = '\0';\n      local_48[0x1f] = '\0';\n      local_48[4] = '\x01';\n      local_48[5] = '\0';\n      local_48[6] = '\0';\n      local_48[7] = '\0';\n      pTVar13 = (Task *)operator_new(0x90);\n      iVar2 = this->dirindex_;\n      pDVar9 = this->dirpath_;\n      pLVar10 = this->layout_;\n      pSVar7 = this->symtab_;\n      *(pointer *)&pTVar13[1].should_run_soon_ = pIVar14;\n      pIVar6 = this->input_objects_;\n      *(int *)&pTVar13[1].name_.field_2 = iVar2;\n      pIVar14 = pIVar14 + 1;\n      pMVar5 = this->mapfile_;\n      pTVar13[1].name_._M_dataplus._M_p = (pointer)pLVar10;\n      pTVar13[1].name_._M_string_length = (size_type)pDVar9;\n      pTVar13->list_next_ = (Task *)0x0;\n      (pTVar13->name_)._M_dataplus._M_p = (pointer)&(pTVar13->name_).field_2;\n      (pTVar13->name_)._M_string_length = 0;\n      (pTVar13->name_).field_2._M_local_buf[0] = '\0';\n      pTVar13->should_run_soon_ = false;\n      pTVar13->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_0042aac0;\n      pTVar13[1]._vptr_Task = (_func_int_varargs **)pIVar6;\n      pTVar13[1].list_next_ = (Task *)pSVar7;\n      *(Mapfile **)((long)&pTVar13[1].name_.field_2 + 8) = pMVar5;\n      pTVar13[2]._vptr_Task = pp_Var12;\n      pTVar13[2].list_next_ = (Task *)0x0;\n      pTVar13[2].name_._M_dataplus._M_p = pcVar11;\n      pTVar13[2].name_._M_string_length = (size_type)local_48;\n      Workqueue::queue_soon(workqueue,pTVar13);\n      if ((pIVar3->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == pIVar14) break;\n      cVar1 = pIVar14->is_file_;\n      pcVar11 = local_48;\n    }\n  }\n  if (*(long *)&t[1].should_run_soon_ == 0) {\n    *(pointer *)&t[1].should_run_soon_ = local_48;\n    Workqueue::queue_soon(workqueue,t);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/readsyms.h",0x19a,"set_blocker");\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "Input_file_group *pIVar3;" type_identifier (pointer_declarator "*pIVar3" * identifier) ;) (declaration "Task_token *pTVar4;" type_identifier (pointer_declarator "*pTVar4" * identifier) ;) (declaration "Mapfile *pMVar5;" type_identifier (pointer_declarator "*pMVar5" * identifier) ;) (declaration "Input_objects *pIVar6;" type_identifier (pointer_declarator "*pIVar6" * identifier) ;) (declaration "Symbol_table *pSVar7;" type_identifier (pointer_declarator "*pSVar7" * identifier) ;) (declaration "Task_token *pTVar8;" type_identifier (pointer_declarator "*pTVar8" * identifier) ;) (declaration "Dirsearch *pDVar9;" type_identifier (pointer_declarator "*pDVar9" * identifier) ;) (declaration "Layout *pLVar10;" type_identifier (pointer_declarator "*pLVar10" * identifier) ;) (declaration "pointer pcVar11;" type_identifier identifier ;) (declaration "_func_int_varargs **pp_Var12;" type_identifier (pointer_declarator "**pp_Var12" * (pointer_declarator "*pp_Var12" * identifier)) ;) (declaration "Task *t;" type_identifier (pointer_declarator "*t" * identifier) ;) (declaration "Task *pTVar13;" type_identifier (pointer_declarator "*pTVar13" * identifier) ;) (declaration "pointer pIVar14;" type_identifier identifier ;) (declaration "pointer local_48;" type_identifier identifier ;) (expression_statement "pp_Var12 = (_func_int_varargs **)operator_new(0x18);" (assignment_expression "pp_Var12 = (_func_int_varargs **)operator_new(0x18)" identifier = (cast_expression "(_func_int_varargs **)operator_new(0x18)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "operator_new(0x18)" identifier (argument_list "(0x18)" ( number_literal ))))) ;) (expression_statement "*pp_Var12 = (_func_int_varargs *)0x0;" (assignment_expression "*pp_Var12 = (_func_int_varargs *)0x0" (pointer_expression "*pp_Var12" * identifier) = (cast_expression "(_func_int_varargs *)0x0" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pp_Var12[1] = (_func_int_varargs *)0x0;" (assignment_expression "pp_Var12[1] = (_func_int_varargs *)0x0" (subscript_expression "pp_Var12[1]" identifier [ number_literal ]) = (cast_expression "(_func_int_varargs *)0x0" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pp_Var12[2] = (_func_int_varargs *)0x0;" (assignment_expression "pp_Var12[2] = (_func_int_varargs *)0x0" (subscript_expression "pp_Var12[2]" identifier [ number_literal ]) = (cast_expression "(_func_int_varargs *)0x0" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (this->input_argument_->is_file_ != false) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/options.h",0x830,"group");\n  }" if (parenthesized_expression "(this->input_argument_->is_file_ != false)" ( (binary_expression "this->input_argument_->is_file_ != false" (field_expression "this->input_argument_->is_file_" (field_expression "this->input_argument_" identifier -> field_identifier) -> field_identifier) != false) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/options.h",0x830,"group");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/options.h",0x830,"group");" (call_expression "do_gold_unreachable("../../gold/options.h",0x830,"group")" identifier (argument_list "("../../gold/options.h",0x830,"group")" ( (string_literal ""../../gold/options.h"" " string_content ") , number_literal , (string_literal ""group"" " string_content ") ))) ;) })) (expression_statement "pIVar3 = this->input_argument_->group_;" (assignment_expression "pIVar3 = this->input_argument_->group_" identifier = (field_expression "this->input_argument_->group_" (field_expression "this->input_argument_" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "pTVar4 = this->this_blocker_;" (assignment_expression "pTVar4 = this->this_blocker_" identifier = (field_expression "this->this_blocker_" identifier -> field_identifier)) ;) (expression_statement "t = (Task *)operator_new(0x78);" (assignment_expression "t = (Task *)operator_new(0x78)" identifier = (cast_expression "(Task *)operator_new(0x78)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x78)" identifier (argument_list "(0x78)" ( number_literal ))))) ;) (expression_statement "pMVar5 = this->mapfile_;" (assignment_expression "pMVar5 = this->mapfile_" identifier = (field_expression "this->mapfile_" 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 "pSVar7 = this->symtab_;" (assignment_expression "pSVar7 = this->symtab_" identifier = (field_expression "this->symtab_" identifier -> field_identifier)) ;) (expression_statement "pTVar8 = this->next_blocker_;" (assignment_expression "pTVar8 = this->next_blocker_" identifier = (field_expression "this->next_blocker_" identifier -> field_identifier)) ;) (expression_statement "t[1].name_._M_dataplus._M_p = (pointer)this->layout_;" (assignment_expression "t[1].name_._M_dataplus._M_p = (pointer)this->layout_" (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)this->layout_" ( (type_descriptor "pointer" type_identifier) ) (field_expression "this->layout_" identifier -> field_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->_vptr_Task = (_func_int_varargs **)&PTR__Finish_group_0042ac40;" (assignment_expression "t->_vptr_Task = (_func_int_varargs **)&PTR__Finish_group_0042ac40" (field_expression "t->_vptr_Task" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Finish_group_0042ac40" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Finish_group_0042ac40" & 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].name_._M_string_length = (size_type)pMVar5;" (assignment_expression "t[1].name_._M_string_length = (size_type)pMVar5" (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)pMVar5" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (expression_statement "t[1].list_next_ = (Task *)pSVar7;" (assignment_expression "t[1].list_next_ = (Task *)pSVar7" (field_expression "t[1].list_next_" (subscript_expression "t[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Task *)pSVar7" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) 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 "(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 "*(_func_int_varargs ***)&t[1].name_.field_2 = pp_Var12;" (assignment_expression "*(_func_int_varargs ***)&t[1].name_.field_2 = pp_Var12" (pointer_expression "*(_func_int_varargs ***)&t[1].name_.field_2" * (cast_expression "(_func_int_varargs ***)&t[1].name_.field_2" ( (type_descriptor "_func_int_varargs ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (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)))) = identifier) ;) (expression_statement "*(undefined8 *)((long)&t[1].name_.field_2 + 8) = 0;" (assignment_expression "*(undefined8 *)((long)&t[1].name_.field_2 + 8) = 0" (pointer_expression "*(undefined8 *)((long)&t[1].name_.field_2 + 8)" * (cast_expression "(undefined8 *)((long)&t[1].name_.field_2 + 8)" ( (type_descriptor "undefined8 *" type_identifier (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) )))) = number_literal) ;) (expression_statement "*(undefined8 *)&t[1].should_run_soon_ = 0;" (assignment_expression "*(undefined8 *)&t[1].should_run_soon_ = 0" (pointer_expression "*(undefined8 *)&t[1].should_run_soon_" * (cast_expression "(undefined8 *)&t[1].should_run_soon_" ( (type_descriptor "undefined8 *" type_identifier (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)))) = number_literal) ;) (expression_statement "t[2]._vptr_Task = (_func_int_varargs **)pTVar8;" (assignment_expression "t[2]._vptr_Task = (_func_int_varargs **)pTVar8" (field_expression "t[2]._vptr_Task" (subscript_expression "t[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)pTVar8" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_48 = (pointer)operator_new(0x20);" (assignment_expression "local_48 = (pointer)operator_new(0x20)" identifier = (cast_expression "(pointer)operator_new(0x20)" ( (type_descriptor "pointer" type_identifier) ) (call_expression "operator_new(0x20)" identifier (argument_list "(0x20)" ( number_literal ))))) ;) (expression_statement "*local_48 = '\x01';" (assignment_expression "*local_48 = '\x01'" (pointer_expression "*local_48" * identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_48[8] = '\0';" (assignment_expression "local_48[8] = '\0'" (subscript_expression "local_48[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[9] = '\0';" (assignment_expression "local_48[9] = '\0'" (subscript_expression "local_48[9]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[10] = '\0';" (assignment_expression "local_48[10] = '\0'" (subscript_expression "local_48[10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0xb] = '\0';" (assignment_expression "local_48[0xb] = '\0'" (subscript_expression "local_48[0xb]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0xc] = '\0';" (assignment_expression "local_48[0xc] = '\0'" (subscript_expression "local_48[0xc]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0xd] = '\0';" (assignment_expression "local_48[0xd] = '\0'" (subscript_expression "local_48[0xd]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0xe] = '\0';" (assignment_expression "local_48[0xe] = '\0'" (subscript_expression "local_48[0xe]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0xf] = '\0';" (assignment_expression "local_48[0xf] = '\0'" (subscript_expression "local_48[0xf]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x10] = '\0';" (assignment_expression "local_48[0x10] = '\0'" (subscript_expression "local_48[0x10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x11] = '\0';" (assignment_expression "local_48[0x11] = '\0'" (subscript_expression "local_48[0x11]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x12] = '\0';" (assignment_expression "local_48[0x12] = '\0'" (subscript_expression "local_48[0x12]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x13] = '\0';" (assignment_expression "local_48[0x13] = '\0'" (subscript_expression "local_48[0x13]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x14] = '\0';" (assignment_expression "local_48[0x14] = '\0'" (subscript_expression "local_48[0x14]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x15] = '\0';" (assignment_expression "local_48[0x15] = '\0'" (subscript_expression "local_48[0x15]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x16] = '\0';" (assignment_expression "local_48[0x16] = '\0'" (subscript_expression "local_48[0x16]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x17] = '\0';" (assignment_expression "local_48[0x17] = '\0'" (subscript_expression "local_48[0x17]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x18] = '\0';" (assignment_expression "local_48[0x18] = '\0'" (subscript_expression "local_48[0x18]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x19] = '\0';" (assignment_expression "local_48[0x19] = '\0'" (subscript_expression "local_48[0x19]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x1a] = '\0';" (assignment_expression "local_48[0x1a] = '\0'" (subscript_expression "local_48[0x1a]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x1b] = '\0';" (assignment_expression "local_48[0x1b] = '\0'" (subscript_expression "local_48[0x1b]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x1c] = '\0';" (assignment_expression "local_48[0x1c] = '\0'" (subscript_expression "local_48[0x1c]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x1d] = '\0';" (assignment_expression "local_48[0x1d] = '\0'" (subscript_expression "local_48[0x1d]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x1e] = '\0';" (assignment_expression "local_48[0x1e] = '\0'" (subscript_expression "local_48[0x1e]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x1f] = '\0';" (assignment_expression "local_48[0x1f] = '\0'" (subscript_expression "local_48[0x1f]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[4] = '\x01';" (assignment_expression "local_48[4] = '\x01'" (subscript_expression "local_48[4]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_48[5] = '\0';" (assignment_expression "local_48[5] = '\0'" (subscript_expression "local_48[5]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[6] = '\0';" (assignment_expression "local_48[6] = '\0'" (subscript_expression "local_48[6]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[7] = '\0';" (assignment_expression "local_48[7] = '\0'" (subscript_expression "local_48[7]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pTVar13 = (Task *)operator_new(0x58);" (assignment_expression "pTVar13 = (Task *)operator_new(0x58)" identifier = (cast_expression "(Task *)operator_new(0x58)" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x58)" identifier (argument_list "(0x58)" ( number_literal ))))) ;) (expression_statement "pSVar7 = this->symtab_;" (assignment_expression "pSVar7 = this->symtab_" identifier = (field_expression "this->symtab_" identifier -> field_identifier)) ;) (expression_statement "pTVar13[1].list_next_ = t;" (assignment_expression "pTVar13[1].list_next_ = t" (field_expression "pTVar13[1].list_next_" (subscript_expression "pTVar13[1]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "(pTVar13->name_)._M_dataplus._M_p = (pointer)&(pTVar13->name_).field_2;" (assignment_expression "(pTVar13->name_)._M_dataplus._M_p = (pointer)&(pTVar13->name_).field_2" (field_expression "(pTVar13->name_)._M_dataplus._M_p" (field_expression "(pTVar13->name_)._M_dataplus" (parenthesized_expression "(pTVar13->name_)" ( (field_expression "pTVar13->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pTVar13->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pTVar13->name_).field_2" (parenthesized_expression "(pTVar13->name_)" ( (field_expression "pTVar13->name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pTVar13->_vptr_Task = (_func_int_varargs **)&PTR__Start_group_0042ac00;" (assignment_expression "pTVar13->_vptr_Task = (_func_int_varargs **)&PTR__Start_group_0042ac00" (field_expression "pTVar13->_vptr_Task" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Start_group_0042ac00" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Start_group_0042ac00" & identifier))) ;) (expression_statement "pTVar13->list_next_ = (Task *)0x0;" (assignment_expression "pTVar13->list_next_ = (Task *)0x0" (field_expression "pTVar13->list_next_" identifier -> field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pTVar13->name_)._M_string_length = 0;" (assignment_expression "(pTVar13->name_)._M_string_length = 0" (field_expression "(pTVar13->name_)._M_string_length" (parenthesized_expression "(pTVar13->name_)" ( (field_expression "pTVar13->name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pTVar13->name_).field_2._M_local_buf[0] = '\0';" (assignment_expression "(pTVar13->name_).field_2._M_local_buf[0] = '\0'" (subscript_expression "(pTVar13->name_).field_2._M_local_buf[0]" (field_expression "(pTVar13->name_).field_2._M_local_buf" (field_expression "(pTVar13->name_).field_2" (parenthesized_expression "(pTVar13->name_)" ( (field_expression "pTVar13->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pTVar13->should_run_soon_ = false;" (assignment_expression "pTVar13->should_run_soon_ = false" (field_expression "pTVar13->should_run_soon_" identifier -> field_identifier) = false) ;) (expression_statement "pTVar13[1]._vptr_Task = (_func_int_varargs **)pSVar7;" (assignment_expression "pTVar13[1]._vptr_Task = (_func_int_varargs **)pSVar7" (field_expression "pTVar13[1]._vptr_Task" (subscript_expression "pTVar13[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_func_int_varargs **)pSVar7" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pTVar13[1].name_._M_dataplus._M_p = &pTVar4->is_blocker_;" (assignment_expression "pTVar13[1].name_._M_dataplus._M_p = &pTVar4->is_blocker_" (field_expression "pTVar13[1].name_._M_dataplus._M_p" (field_expression "pTVar13[1].name_._M_dataplus" (field_expression "pTVar13[1].name_" (subscript_expression "pTVar13[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&pTVar4->is_blocker_" & (field_expression "pTVar4->is_blocker_" identifier -> field_identifier))) ;) (expression_statement "pTVar13[1].name_._M_string_length = (size_type)local_48;" (assignment_expression "pTVar13[1].name_._M_string_length = (size_type)local_48" (field_expression "pTVar13[1].name_._M_string_length" (field_expression "pTVar13[1].name_" (subscript_expression "pTVar13[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(size_type)local_48" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (labeled_statement "Workqueue::queue_soon(workqueue,pTVar13);" statement_identifier : (ERROR ":" :) (expression_statement "queue_soon(workqueue,pTVar13);" (call_expression "queue_soon(workqueue,pTVar13)" identifier (argument_list "(workqueue,pTVar13)" ( identifier , identifier ))) ;)) (ERROR "pIVar14 = (pIVar3->files_).\n            super__Vector_base<gold::Input_argument,_std::allocator<gold::" (comma_expression "pIVar14 = (pIVar3->files_).\n            super__Vector_base<gold::Input_argument,_std" (assignment_expression "pIVar14 = (pIVar3->files_).\n            super__Vector_base<gold" identifier = (binary_expression "(pIVar3->files_).\n            super__Vector_base<gold" (field_expression "(pIVar3->files_).\n            super__Vector_base" (parenthesized_expression "(pIVar3->files_)" ( (field_expression "pIVar3->files_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Input_argument" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Input_argument>_>._M_impl.\n            _M_start;" (field_expression "Input_argument>_>._M_impl.\n            _M_start" (field_expression "Input_argument>_>._M_impl" (binary_expression "Input_argument>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (pIVar14 !=\n      (pIVar3->files_).\n      super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n      _M_finish) {\n    cVar1 = pIVar14->is_file_;\n    pcVar11 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (pointer)operator_new(0x20);\n      *local_48 = '\x01';\n      local_48[8] = '\0';\n      local_48[9] = '\0';\n      local_48[10] = '\0';\n      local_48[0xb] = '\0';\n      local_48[0xc] = '\0';\n      local_48[0xd] = '\0';\n      local_48[0xe] = '\0';\n      local_48[0xf] = '\0';\n      local_48[0x10] = '\0';\n      local_48[0x11] = '\0';\n      local_48[0x12] = '\0';\n      local_48[0x13] = '\0';\n      local_48[0x14] = '\0';\n      local_48[0x15] = '\0';\n      local_48[0x16] = '\0';\n      local_48[0x17] = '\0';\n      local_48[0x18] = '\0';\n      local_48[0x19] = '\0';\n      local_48[0x1a] = '\0';\n      local_48[0x1b] = '\0';\n      local_48[0x1c] = '\0';\n      local_48[0x1d] = '\0';\n      local_48[0x1e] = '\0';\n      local_48[0x1f] = '\0';\n      local_48[4] = '\x01';\n      local_48[5] = '\0';\n      local_48[6] = '\0';\n      local_48[7] = '\0';\n      pTVar13 = (Task *)operator_new(0x90);\n      iVar2 = this->dirindex_;\n      pDVar9 = this->dirpath_;\n      pLVar10 = this->layout_;\n      pSVar7 = this->symtab_;\n      *(pointer *)&pTVar13[1].should_run_soon_ = pIVar14;\n      pIVar6 = this->input_objects_;\n      *(int *)&pTVar13[1].name_.field_2 = iVar2;\n      pIVar14 = pIVar14 + 1;\n      pMVar5 = this->mapfile_;\n      pTVar13[1].name_._M_dataplus._M_p = (pointer)pLVar10;\n      pTVar13[1].name_._M_string_length = (size_type)pDVar9;\n      pTVar13->list_next_ = (Task *)0x0;\n      (pTVar13->name_)._M_dataplus._M_p = (pointer)&(pTVar13->name_).field_2;\n      (pTVar13->name_)._M_string_length = 0;\n      (pTVar13->name_).field_2._M_local_buf[0] = '\0';\n      pTVar13->should_run_soon_ = false;\n      pTVar13->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_0042aac0;\n      pTVar13[1]._vptr_Task = (_func_int_varargs **)pIVar6;\n      pTVar13[1].list_next_ = (Task *)pSVar7;\n      *(Mapfile **)((long)&pTVar13[1].name_.field_2 + 8) = pMVar5;\n      pTVar13[2]._vptr_Task = pp_Var12;\n      pTVar13[2].list_next_ = (Task *)0x0;\n      pTVar13[2].name_._M_dataplus._M_p = pcVar11;\n      pTVar13[2].name_._M_string_length = (size_type)local_48;\n      Workqueue::queue_soon(workqueue,pTVar13);\n      if ((pIVar3->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == pIVar14) break;\n      cVar1 = pIVar14->is_file_;\n      pcVar11 = local_48;\n    }\n  }" if (parenthesized_expression "(pIVar14 !=\n      (pIVar3->files_).\n      super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n      _M_finish)" ( (ERROR "pIVar14 !=\n      (pIVar3->files_).\n      super__Vector_base<gold::Input_argument,_std::allocator<gold::" (comma_expression "pIVar14 !=\n      (pIVar3->files_).\n      super__Vector_base<gold::Input_argument,_std" (binary_expression "pIVar14 !=\n      (pIVar3->files_).\n      super__Vector_base<gold" identifier != (binary_expression "(pIVar3->files_).\n      super__Vector_base<gold" (field_expression "(pIVar3->files_).\n      super__Vector_base" (parenthesized_expression "(pIVar3->files_)" ( (field_expression "pIVar3->files_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Input_argument" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (field_expression "Input_argument>_>._M_impl.\n      _M_finish" (field_expression "Input_argument>_>._M_impl" (binary_expression "Input_argument>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n    cVar1 = pIVar14->is_file_;\n    pcVar11 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (pointer)operator_new(0x20);\n      *local_48 = '\x01';\n      local_48[8] = '\0';\n      local_48[9] = '\0';\n      local_48[10] = '\0';\n      local_48[0xb] = '\0';\n      local_48[0xc] = '\0';\n      local_48[0xd] = '\0';\n      local_48[0xe] = '\0';\n      local_48[0xf] = '\0';\n      local_48[0x10] = '\0';\n      local_48[0x11] = '\0';\n      local_48[0x12] = '\0';\n      local_48[0x13] = '\0';\n      local_48[0x14] = '\0';\n      local_48[0x15] = '\0';\n      local_48[0x16] = '\0';\n      local_48[0x17] = '\0';\n      local_48[0x18] = '\0';\n      local_48[0x19] = '\0';\n      local_48[0x1a] = '\0';\n      local_48[0x1b] = '\0';\n      local_48[0x1c] = '\0';\n      local_48[0x1d] = '\0';\n      local_48[0x1e] = '\0';\n      local_48[0x1f] = '\0';\n      local_48[4] = '\x01';\n      local_48[5] = '\0';\n      local_48[6] = '\0';\n      local_48[7] = '\0';\n      pTVar13 = (Task *)operator_new(0x90);\n      iVar2 = this->dirindex_;\n      pDVar9 = this->dirpath_;\n      pLVar10 = this->layout_;\n      pSVar7 = this->symtab_;\n      *(pointer *)&pTVar13[1].should_run_soon_ = pIVar14;\n      pIVar6 = this->input_objects_;\n      *(int *)&pTVar13[1].name_.field_2 = iVar2;\n      pIVar14 = pIVar14 + 1;\n      pMVar5 = this->mapfile_;\n      pTVar13[1].name_._M_dataplus._M_p = (pointer)pLVar10;\n      pTVar13[1].name_._M_string_length = (size_type)pDVar9;\n      pTVar13->list_next_ = (Task *)0x0;\n      (pTVar13->name_)._M_dataplus._M_p = (pointer)&(pTVar13->name_).field_2;\n      (pTVar13->name_)._M_string_length = 0;\n      (pTVar13->name_).field_2._M_local_buf[0] = '\0';\n      pTVar13->should_run_soon_ = false;\n      pTVar13->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_0042aac0;\n      pTVar13[1]._vptr_Task = (_func_int_varargs **)pIVar6;\n      pTVar13[1].list_next_ = (Task *)pSVar7;\n      *(Mapfile **)((long)&pTVar13[1].name_.field_2 + 8) = pMVar5;\n      pTVar13[2]._vptr_Task = pp_Var12;\n      pTVar13[2].list_next_ = (Task *)0x0;\n      pTVar13[2].name_._M_dataplus._M_p = pcVar11;\n      pTVar13[2].name_._M_string_length = (size_type)local_48;\n      Workqueue::queue_soon(workqueue,pTVar13);\n      if ((pIVar3->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == pIVar14) break;\n      cVar1 = pIVar14->is_file_;\n      pcVar11 = local_48;\n    }\n  }" { (expression_statement "cVar1 = pIVar14->is_file_;" (assignment_expression "cVar1 = pIVar14->is_file_" identifier = (field_expression "pIVar14->is_file_" identifier -> field_identifier)) ;) (expression_statement "pcVar11 = local_48;" (assignment_expression "pcVar11 = local_48" identifier = identifier) ;) (while_statement "while( true ) {\n      if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (pointer)operator_new(0x20);\n      *local_48 = '\x01';\n      local_48[8] = '\0';\n      local_48[9] = '\0';\n      local_48[10] = '\0';\n      local_48[0xb] = '\0';\n      local_48[0xc] = '\0';\n      local_48[0xd] = '\0';\n      local_48[0xe] = '\0';\n      local_48[0xf] = '\0';\n      local_48[0x10] = '\0';\n      local_48[0x11] = '\0';\n      local_48[0x12] = '\0';\n      local_48[0x13] = '\0';\n      local_48[0x14] = '\0';\n      local_48[0x15] = '\0';\n      local_48[0x16] = '\0';\n      local_48[0x17] = '\0';\n      local_48[0x18] = '\0';\n      local_48[0x19] = '\0';\n      local_48[0x1a] = '\0';\n      local_48[0x1b] = '\0';\n      local_48[0x1c] = '\0';\n      local_48[0x1d] = '\0';\n      local_48[0x1e] = '\0';\n      local_48[0x1f] = '\0';\n      local_48[4] = '\x01';\n      local_48[5] = '\0';\n      local_48[6] = '\0';\n      local_48[7] = '\0';\n      pTVar13 = (Task *)operator_new(0x90);\n      iVar2 = this->dirindex_;\n      pDVar9 = this->dirpath_;\n      pLVar10 = this->layout_;\n      pSVar7 = this->symtab_;\n      *(pointer *)&pTVar13[1].should_run_soon_ = pIVar14;\n      pIVar6 = this->input_objects_;\n      *(int *)&pTVar13[1].name_.field_2 = iVar2;\n      pIVar14 = pIVar14 + 1;\n      pMVar5 = this->mapfile_;\n      pTVar13[1].name_._M_dataplus._M_p = (pointer)pLVar10;\n      pTVar13[1].name_._M_string_length = (size_type)pDVar9;\n      pTVar13->list_next_ = (Task *)0x0;\n      (pTVar13->name_)._M_dataplus._M_p = (pointer)&(pTVar13->name_).field_2;\n      (pTVar13->name_)._M_string_length = 0;\n      (pTVar13->name_).field_2._M_local_buf[0] = '\0';\n      pTVar13->should_run_soon_ = false;\n      pTVar13->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_0042aac0;\n      pTVar13[1]._vptr_Task = (_func_int_varargs **)pIVar6;\n      pTVar13[1].list_next_ = (Task *)pSVar7;\n      *(Mapfile **)((long)&pTVar13[1].name_.field_2 + 8) = pMVar5;\n      pTVar13[2]._vptr_Task = pp_Var12;\n      pTVar13[2].list_next_ = (Task *)0x0;\n      pTVar13[2].name_._M_dataplus._M_p = pcVar11;\n      pTVar13[2].name_._M_string_length = (size_type)local_48;\n      Workqueue::queue_soon(workqueue,pTVar13);\n      if ((pIVar3->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == pIVar14) break;\n      cVar1 = pIVar14->is_file_;\n      pcVar11 = local_48;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (pointer)operator_new(0x20);\n      *local_48 = '\x01';\n      local_48[8] = '\0';\n      local_48[9] = '\0';\n      local_48[10] = '\0';\n      local_48[0xb] = '\0';\n      local_48[0xc] = '\0';\n      local_48[0xd] = '\0';\n      local_48[0xe] = '\0';\n      local_48[0xf] = '\0';\n      local_48[0x10] = '\0';\n      local_48[0x11] = '\0';\n      local_48[0x12] = '\0';\n      local_48[0x13] = '\0';\n      local_48[0x14] = '\0';\n      local_48[0x15] = '\0';\n      local_48[0x16] = '\0';\n      local_48[0x17] = '\0';\n      local_48[0x18] = '\0';\n      local_48[0x19] = '\0';\n      local_48[0x1a] = '\0';\n      local_48[0x1b] = '\0';\n      local_48[0x1c] = '\0';\n      local_48[0x1d] = '\0';\n      local_48[0x1e] = '\0';\n      local_48[0x1f] = '\0';\n      local_48[4] = '\x01';\n      local_48[5] = '\0';\n      local_48[6] = '\0';\n      local_48[7] = '\0';\n      pTVar13 = (Task *)operator_new(0x90);\n      iVar2 = this->dirindex_;\n      pDVar9 = this->dirpath_;\n      pLVar10 = this->layout_;\n      pSVar7 = this->symtab_;\n      *(pointer *)&pTVar13[1].should_run_soon_ = pIVar14;\n      pIVar6 = this->input_objects_;\n      *(int *)&pTVar13[1].name_.field_2 = iVar2;\n      pIVar14 = pIVar14 + 1;\n      pMVar5 = this->mapfile_;\n      pTVar13[1].name_._M_dataplus._M_p = (pointer)pLVar10;\n      pTVar13[1].name_._M_string_length = (size_type)pDVar9;\n      pTVar13->list_next_ = (Task *)0x0;\n      (pTVar13->name_)._M_dataplus._M_p = (pointer)&(pTVar13->name_).field_2;\n      (pTVar13->name_)._M_string_length = 0;\n      (pTVar13->name_).field_2._M_local_buf[0] = '\0';\n      pTVar13->should_run_soon_ = false;\n      pTVar13->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_0042aac0;\n      pTVar13[1]._vptr_Task = (_func_int_varargs **)pIVar6;\n      pTVar13[1].list_next_ = (Task *)pSVar7;\n      *(Mapfile **)((long)&pTVar13[1].name_.field_2 + 8) = pMVar5;\n      pTVar13[2]._vptr_Task = pp_Var12;\n      pTVar13[2].list_next_ = (Task *)0x0;\n      pTVar13[2].name_._M_dataplus._M_p = pcVar11;\n      pTVar13[2].name_._M_string_length = (size_type)local_48;\n      Workqueue::queue_soon(workqueue,pTVar13);\n      if ((pIVar3->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == pIVar14) break;\n      cVar1 = pIVar14->is_file_;\n      pcVar11 = local_48;\n    }" { (if_statement "if (cVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/readsyms.cc",0x1ed,"do_group");\n      }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/readsyms.cc",0x1ed,"do_group");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/readsyms.cc",0x1ed,"do_group");" (call_expression "do_gold_unreachable("../../gold/readsyms.cc",0x1ed,"do_group")" identifier (argument_list "("../../gold/readsyms.cc",0x1ed,"do_group")" ( (string_literal ""../../gold/readsyms.cc"" " string_content ") , number_literal , (string_literal ""do_group"" " string_content ") ))) ;) })) (expression_statement "local_48 = (pointer)operator_new(0x20);" (assignment_expression "local_48 = (pointer)operator_new(0x20)" identifier = (cast_expression "(pointer)operator_new(0x20)" ( (type_descriptor "pointer" type_identifier) ) (call_expression "operator_new(0x20)" identifier (argument_list "(0x20)" ( number_literal ))))) ;) (expression_statement "*local_48 = '\x01';" (assignment_expression "*local_48 = '\x01'" (pointer_expression "*local_48" * identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_48[8] = '\0';" (assignment_expression "local_48[8] = '\0'" (subscript_expression "local_48[8]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[9] = '\0';" (assignment_expression "local_48[9] = '\0'" (subscript_expression "local_48[9]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[10] = '\0';" (assignment_expression "local_48[10] = '\0'" (subscript_expression "local_48[10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0xb] = '\0';" (assignment_expression "local_48[0xb] = '\0'" (subscript_expression "local_48[0xb]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0xc] = '\0';" (assignment_expression "local_48[0xc] = '\0'" (subscript_expression "local_48[0xc]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0xd] = '\0';" (assignment_expression "local_48[0xd] = '\0'" (subscript_expression "local_48[0xd]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0xe] = '\0';" (assignment_expression "local_48[0xe] = '\0'" (subscript_expression "local_48[0xe]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0xf] = '\0';" (assignment_expression "local_48[0xf] = '\0'" (subscript_expression "local_48[0xf]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x10] = '\0';" (assignment_expression "local_48[0x10] = '\0'" (subscript_expression "local_48[0x10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x11] = '\0';" (assignment_expression "local_48[0x11] = '\0'" (subscript_expression "local_48[0x11]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x12] = '\0';" (assignment_expression "local_48[0x12] = '\0'" (subscript_expression "local_48[0x12]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x13] = '\0';" (assignment_expression "local_48[0x13] = '\0'" (subscript_expression "local_48[0x13]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x14] = '\0';" (assignment_expression "local_48[0x14] = '\0'" (subscript_expression "local_48[0x14]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x15] = '\0';" (assignment_expression "local_48[0x15] = '\0'" (subscript_expression "local_48[0x15]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x16] = '\0';" (assignment_expression "local_48[0x16] = '\0'" (subscript_expression "local_48[0x16]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x17] = '\0';" (assignment_expression "local_48[0x17] = '\0'" (subscript_expression "local_48[0x17]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x18] = '\0';" (assignment_expression "local_48[0x18] = '\0'" (subscript_expression "local_48[0x18]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x19] = '\0';" (assignment_expression "local_48[0x19] = '\0'" (subscript_expression "local_48[0x19]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x1a] = '\0';" (assignment_expression "local_48[0x1a] = '\0'" (subscript_expression "local_48[0x1a]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x1b] = '\0';" (assignment_expression "local_48[0x1b] = '\0'" (subscript_expression "local_48[0x1b]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x1c] = '\0';" (assignment_expression "local_48[0x1c] = '\0'" (subscript_expression "local_48[0x1c]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x1d] = '\0';" (assignment_expression "local_48[0x1d] = '\0'" (subscript_expression "local_48[0x1d]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x1e] = '\0';" (assignment_expression "local_48[0x1e] = '\0'" (subscript_expression "local_48[0x1e]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[0x1f] = '\0';" (assignment_expression "local_48[0x1f] = '\0'" (subscript_expression "local_48[0x1f]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[4] = '\x01';" (assignment_expression "local_48[4] = '\x01'" (subscript_expression "local_48[4]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "local_48[5] = '\0';" (assignment_expression "local_48[5] = '\0'" (subscript_expression "local_48[5]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[6] = '\0';" (assignment_expression "local_48[6] = '\0'" (subscript_expression "local_48[6]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_48[7] = '\0';" (assignment_expression "local_48[7] = '\0'" (subscript_expression "local_48[7]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pTVar13 = (Task *)operator_new(0x90);" (assignment_expression "pTVar13 = (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 "iVar2 = this->dirindex_;" (assignment_expression "iVar2 = this->dirindex_" identifier = (field_expression "this->dirindex_" identifier -> field_identifier)) ;) (expression_statement "pDVar9 = this->dirpath_;" (assignment_expression "pDVar9 = this->dirpath_" identifier = (field_expression "this->dirpath_" identifier -> field_identifier)) ;) (expression_statement "pLVar10 = this->layout_;" (assignment_expression "pLVar10 = this->layout_" identifier = (field_expression "this->layout_" identifier -> field_identifier)) ;) (expression_statement "pSVar7 = this->symtab_;" (assignment_expression "pSVar7 = this->symtab_" identifier = (field_expression "this->symtab_" identifier -> field_identifier)) ;) (expression_statement "*(pointer *)&pTVar13[1].should_run_soon_ = pIVar14;" (assignment_expression "*(pointer *)&pTVar13[1].should_run_soon_ = pIVar14" (pointer_expression "*(pointer *)&pTVar13[1].should_run_soon_" * (cast_expression "(pointer *)&pTVar13[1].should_run_soon_" ( (type_descriptor "pointer *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTVar13[1].should_run_soon_" & (field_expression "pTVar13[1].should_run_soon_" (subscript_expression "pTVar13[1]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (expression_statement "pIVar6 = this->input_objects_;" (assignment_expression "pIVar6 = this->input_objects_" identifier = (field_expression "this->input_objects_" identifier -> field_identifier)) ;) (expression_statement "*(int *)&pTVar13[1].name_.field_2 = iVar2;" (assignment_expression "*(int *)&pTVar13[1].name_.field_2 = iVar2" (pointer_expression "*(int *)&pTVar13[1].name_.field_2" * (cast_expression "(int *)&pTVar13[1].name_.field_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pTVar13[1].name_.field_2" & (field_expression "pTVar13[1].name_.field_2" (field_expression "pTVar13[1].name_" (subscript_expression "pTVar13[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) = identifier) ;) (expression_statement "pIVar14 = pIVar14 + 1;" (assignment_expression "pIVar14 = pIVar14 + 1" identifier = (binary_expression "pIVar14 + 1" identifier + number_literal)) ;) (expression_statement "pMVar5 = this->mapfile_;" (assignment_expression "pMVar5 = this->mapfile_" identifier = (field_expression "this->mapfile_" identifier -> field_identifier)) ;) (expression_statement "pTVar13[1].name_._M_dataplus._M_p = (pointer)pLVar10;" (assignment_expression "pTVar13[1].name_._M_dataplus._M_p = (pointer)pLVar10" (field_expression "pTVar13[1].name_._M_dataplus._M_p" (field_expression "pTVar13[1].name_._M_dataplus" (field_expression "pTVar13[1].name_" (subscript_expression "pTVar13[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)pLVar10" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "pTVar13[1].name_._M_string_length = (size_type)pDVar9;" (assignment_expression "pTVar13[1].name_._M_string_length = (size_type)pDVar9" (field_expression "pTVar13[1].name_._M_string_length" (field_expression "pTVar13[1].name_" (subscript_expression "pTVar13[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(size_type)pDVar9" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (expression_statement "pTVar13->list_next_ = (Task *)0x0;" (assignment_expression "pTVar13->list_next_ = (Task *)0x0" (field_expression "pTVar13->list_next_" identifier -> field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pTVar13->name_)._M_dataplus._M_p = (pointer)&(pTVar13->name_).field_2;" (assignment_expression "(pTVar13->name_)._M_dataplus._M_p = (pointer)&(pTVar13->name_).field_2" (field_expression "(pTVar13->name_)._M_dataplus._M_p" (field_expression "(pTVar13->name_)._M_dataplus" (parenthesized_expression "(pTVar13->name_)" ( (field_expression "pTVar13->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(pTVar13->name_).field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(pTVar13->name_).field_2" (parenthesized_expression "(pTVar13->name_)" ( (field_expression "pTVar13->name_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "(pTVar13->name_)._M_string_length = 0;" (assignment_expression "(pTVar13->name_)._M_string_length = 0" (field_expression "(pTVar13->name_)._M_string_length" (parenthesized_expression "(pTVar13->name_)" ( (field_expression "pTVar13->name_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pTVar13->name_).field_2._M_local_buf[0] = '\0';" (assignment_expression "(pTVar13->name_).field_2._M_local_buf[0] = '\0'" (subscript_expression "(pTVar13->name_).field_2._M_local_buf[0]" (field_expression "(pTVar13->name_).field_2._M_local_buf" (field_expression "(pTVar13->name_).field_2" (parenthesized_expression "(pTVar13->name_)" ( (field_expression "pTVar13->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pTVar13->should_run_soon_ = false;" (assignment_expression "pTVar13->should_run_soon_ = false" (field_expression "pTVar13->should_run_soon_" identifier -> field_identifier) = false) ;) (expression_statement "pTVar13->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_0042aac0;" (assignment_expression "pTVar13->_vptr_Task = (_func_int_varargs **)&PTR__Read_symbols_0042aac0" (field_expression "pTVar13->_vptr_Task" identifier -> field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Read_symbols_0042aac0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Read_symbols_0042aac0" & identifier))) ;) (expression_statement "pTVar13[1]._vptr_Task = (_func_int_varargs **)pIVar6;" (assignment_expression "pTVar13[1]._vptr_Task = (_func_int_varargs **)pIVar6" (field_expression "pTVar13[1]._vptr_Task" (subscript_expression "pTVar13[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 "pTVar13[1].list_next_ = (Task *)pSVar7;" (assignment_expression "pTVar13[1].list_next_ = (Task *)pSVar7" (field_expression "pTVar13[1].list_next_" (subscript_expression "pTVar13[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Task *)pSVar7" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(Mapfile **)((long)&pTVar13[1].name_.field_2 + 8) = pMVar5;" (assignment_expression "*(Mapfile **)((long)&pTVar13[1].name_.field_2 + 8) = pMVar5" (pointer_expression "*(Mapfile **)((long)&pTVar13[1].name_.field_2 + 8)" * (cast_expression "(Mapfile **)((long)&pTVar13[1].name_.field_2 + 8)" ( (type_descriptor "Mapfile **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)&pTVar13[1].name_.field_2 + 8)" ( (binary_expression "(long)&pTVar13[1].name_.field_2 + 8" (cast_expression "(long)&pTVar13[1].name_.field_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pTVar13[1].name_.field_2" & (field_expression "pTVar13[1].name_.field_2" (field_expression "pTVar13[1].name_" (subscript_expression "pTVar13[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "pTVar13[2]._vptr_Task = pp_Var12;" (assignment_expression "pTVar13[2]._vptr_Task = pp_Var12" (field_expression "pTVar13[2]._vptr_Task" (subscript_expression "pTVar13[2]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "pTVar13[2].list_next_ = (Task *)0x0;" (assignment_expression "pTVar13[2].list_next_ = (Task *)0x0" (field_expression "pTVar13[2].list_next_" (subscript_expression "pTVar13[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(Task *)0x0" ( (type_descriptor "Task *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pTVar13[2].name_._M_dataplus._M_p = pcVar11;" (assignment_expression "pTVar13[2].name_._M_dataplus._M_p = pcVar11" (field_expression "pTVar13[2].name_._M_dataplus._M_p" (field_expression "pTVar13[2].name_._M_dataplus" (field_expression "pTVar13[2].name_" (subscript_expression "pTVar13[2]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "pTVar13[2].name_._M_string_length = (size_type)local_48;" (assignment_expression "pTVar13[2].name_._M_string_length = (size_type)local_48" (field_expression "pTVar13[2].name_._M_string_length" (field_expression "pTVar13[2].name_" (subscript_expression "pTVar13[2]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(size_type)local_48" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (labeled_statement "Workqueue::queue_soon(workqueue,pTVar13);" statement_identifier : (ERROR ":" :) (expression_statement "queue_soon(workqueue,pTVar13);" (call_expression "queue_soon(workqueue,pTVar13)" identifier (argument_list "(workqueue,pTVar13)" ( identifier , identifier ))) ;)) (if_statement "if ((pIVar3->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == pIVar14) break;" if (parenthesized_expression "((pIVar3->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n          _M_finish == pIVar14)" ( (ERROR "(pIVar3->files_).\n          super__Vector_base<gold::Input_argument,_std::allocator<gold::" (comma_expression "(pIVar3->files_).\n          super__Vector_base<gold::Input_argument,_std" (binary_expression "(pIVar3->files_).\n          super__Vector_base<gold" (field_expression "(pIVar3->files_).\n          super__Vector_base" (parenthesized_expression "(pIVar3->files_)" ( (field_expression "pIVar3->files_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Input_argument" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Input_argument>_>._M_impl.\n          _M_finish == pIVar14" (field_expression "Input_argument>_>._M_impl.\n          _M_finish" (field_expression "Input_argument>_>._M_impl" (binary_expression "Input_argument>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == identifier) )) (break_statement "break;" break ;)) (expression_statement "cVar1 = pIVar14->is_file_;" (assignment_expression "cVar1 = pIVar14->is_file_" identifier = (field_expression "pIVar14->is_file_" identifier -> field_identifier)) ;) (expression_statement "pcVar11 = local_48;" (assignment_expression "pcVar11 = local_48" identifier = identifier) ;) })) })) (if_statement "if (*(long *)&t[1].should_run_soon_ == 0) {\n    *(pointer *)&t[1].should_run_soon_ = local_48;\n    Workqueue::queue_soon(workqueue,t);\n    return;\n  }" if (parenthesized_expression "(*(long *)&t[1].should_run_soon_ == 0)" ( (binary_expression "*(long *)&t[1].should_run_soon_ == 0" (pointer_expression "*(long *)&t[1].should_run_soon_" * (cast_expression "(long *)&t[1].should_run_soon_" ( (type_descriptor "long *" (sized_type_specifier "long" long) (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)))) == number_literal) )) (compound_statement "{\n    *(pointer *)&t[1].should_run_soon_ = local_48;\n    Workqueue::queue_soon(workqueue,t);\n    return;\n  }" { (expression_statement "*(pointer *)&t[1].should_run_soon_ = local_48;" (assignment_expression "*(pointer *)&t[1].should_run_soon_ = local_48" (pointer_expression "*(pointer *)&t[1].should_run_soon_" * (cast_expression "(pointer *)&t[1].should_run_soon_" ( (type_descriptor "pointer *" type_identifier (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) ;) (labeled_statement "Workqueue::queue_soon(workqueue,t);" statement_identifier : (ERROR ":" :) (expression_statement "queue_soon(workqueue,t);" (call_expression "queue_soon(workqueue,t)" identifier (argument_list "(workqueue,t)" ( identifier , identifier ))) ;)) (return_statement "return;" return ;) })) comment (expression_statement "do_gold_unreachable("../../gold/readsyms.h",0x19a,"set_blocker");" (call_expression "do_gold_unreachable("../../gold/readsyms.h",0x19a,"set_blocker")" identifier (argument_list "("../../gold/readsyms.h",0x19a,"set_blocker")" ( (string_literal ""../../gold/readsyms.h"" " string_content ") , number_literal , (string_literal ""set_blocker"" " string_content ") ))) ;) })))
(translation_unit "void FUN_0023fea0(long param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  undefined8 *puVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined1 *puVar9;\n  undefined8 *puVar10;\n  undefined8 *puVar11;\n  undefined8 *puVar12;\n  char *pcVar13;\n  undefined1 *local_48;\n  \n  puVar10 = (undefined8 *)FUN_002d9490(0x18);\n  *puVar10 = 0;\n  puVar10[1] = 0;\n  puVar10[2] = 0;\n  if (**(char **)(param_1 + 0x68) != '\0') {\n                    \n    FUN_0017c650("../../gold/options.h",0x830,"group");\n  }\n  puVar3 = *(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68);\n  uVar4 = *(undefined8 *)(param_1 + 0x80);\n  puVar11 = (undefined8 *)FUN_002d9490(0x78);\n  uVar5 = *(undefined8 *)(param_1 + 0x60);\n  uVar6 = *(undefined8 *)(param_1 + 0x38);\n  uVar7 = *(undefined8 *)(param_1 + 0x40);\n  uVar8 = *(undefined8 *)(param_1 + 0x88);\n  puVar11[9] = *(undefined8 *)(param_1 + 0x48);\n  puVar11[2] = puVar11 + 4;\n  *puVar11 = &PTR_FUN_0042ac40;\n  puVar11[7] = uVar6;\n  puVar11[10] = uVar5;\n  puVar11[8] = uVar7;\n  puVar11[1] = 0;\n  puVar11[3] = 0;\n  *(undefined1 *)(puVar11 + 4) = 0;\n  *(undefined1 *)(puVar11 + 6) = 0;\n  puVar11[0xb] = puVar10;\n  puVar11[0xc] = 0;\n  puVar11[0xd] = 0;\n  puVar11[0xe] = uVar8;\n  local_48 = (undefined1 *)FUN_002d9490(0x20);\n  *local_48 = 1;\n  *(undefined8 *)(local_48 + 8) = 0;\n  *(undefined8 *)(local_48 + 0x10) = 0;\n  *(undefined8 *)(local_48 + 0x18) = 0;\n  *(undefined4 *)(local_48 + 4) = 1;\n  puVar12 = (undefined8 *)FUN_002d9490(0x58);\n  uVar5 = *(undefined8 *)(param_1 + 0x40);\n  puVar12[8] = puVar11;\n  puVar12[2] = puVar12 + 4;\n  *puVar12 = &PTR_FUN_0042ac00;\n  puVar12[1] = 0;\n  puVar12[3] = 0;\n  *(undefined1 *)(puVar12 + 4) = 0;\n  *(undefined1 *)(puVar12 + 6) = 0;\n  puVar12[7] = uVar5;\n  puVar12[9] = uVar4;\n  puVar12[10] = local_48;\n  FUN_00289790(param_2,puVar12);\n  pcVar13 = (char *)*puVar3;\n  if (pcVar13 != (char *)puVar3[1]) {\n    cVar1 = *pcVar13;\n    puVar9 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }\n  }\n  if (puVar11[0xd] == 0) {\n    puVar11[0xd] = local_48;\n    FUN_00289790(param_2,puVar11);\n    return;\n  }\n                    \n  FUN_0017c650("../../gold/readsyms.h",0x19a,"set_blocker");\n}\n\n" (function_definition "void FUN_0023fea0(long param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  undefined8 *puVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined1 *puVar9;\n  undefined8 *puVar10;\n  undefined8 *puVar11;\n  undefined8 *puVar12;\n  char *pcVar13;\n  undefined1 *local_48;\n  \n  puVar10 = (undefined8 *)FUN_002d9490(0x18);\n  *puVar10 = 0;\n  puVar10[1] = 0;\n  puVar10[2] = 0;\n  if (**(char **)(param_1 + 0x68) != '\0') {\n                    \n    FUN_0017c650("../../gold/options.h",0x830,"group");\n  }\n  puVar3 = *(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68);\n  uVar4 = *(undefined8 *)(param_1 + 0x80);\n  puVar11 = (undefined8 *)FUN_002d9490(0x78);\n  uVar5 = *(undefined8 *)(param_1 + 0x60);\n  uVar6 = *(undefined8 *)(param_1 + 0x38);\n  uVar7 = *(undefined8 *)(param_1 + 0x40);\n  uVar8 = *(undefined8 *)(param_1 + 0x88);\n  puVar11[9] = *(undefined8 *)(param_1 + 0x48);\n  puVar11[2] = puVar11 + 4;\n  *puVar11 = &PTR_FUN_0042ac40;\n  puVar11[7] = uVar6;\n  puVar11[10] = uVar5;\n  puVar11[8] = uVar7;\n  puVar11[1] = 0;\n  puVar11[3] = 0;\n  *(undefined1 *)(puVar11 + 4) = 0;\n  *(undefined1 *)(puVar11 + 6) = 0;\n  puVar11[0xb] = puVar10;\n  puVar11[0xc] = 0;\n  puVar11[0xd] = 0;\n  puVar11[0xe] = uVar8;\n  local_48 = (undefined1 *)FUN_002d9490(0x20);\n  *local_48 = 1;\n  *(undefined8 *)(local_48 + 8) = 0;\n  *(undefined8 *)(local_48 + 0x10) = 0;\n  *(undefined8 *)(local_48 + 0x18) = 0;\n  *(undefined4 *)(local_48 + 4) = 1;\n  puVar12 = (undefined8 *)FUN_002d9490(0x58);\n  uVar5 = *(undefined8 *)(param_1 + 0x40);\n  puVar12[8] = puVar11;\n  puVar12[2] = puVar12 + 4;\n  *puVar12 = &PTR_FUN_0042ac00;\n  puVar12[1] = 0;\n  puVar12[3] = 0;\n  *(undefined1 *)(puVar12 + 4) = 0;\n  *(undefined1 *)(puVar12 + 6) = 0;\n  puVar12[7] = uVar5;\n  puVar12[9] = uVar4;\n  puVar12[10] = local_48;\n  FUN_00289790(param_2,puVar12);\n  pcVar13 = (char *)*puVar3;\n  if (pcVar13 != (char *)puVar3[1]) {\n    cVar1 = *pcVar13;\n    puVar9 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }\n  }\n  if (puVar11[0xd] == 0) {\n    puVar11[0xd] = local_48;\n    FUN_00289790(param_2,puVar11);\n    return;\n  }\n                    \n  FUN_0017c650("../../gold/readsyms.h",0x19a,"set_blocker");\n}" primitive_type (function_declarator "FUN_0023fea0(long param_1,undefined8 param_2)" identifier (parameter_list "(long param_1,undefined8 param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  undefined4 uVar2;\n  undefined8 *puVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined1 *puVar9;\n  undefined8 *puVar10;\n  undefined8 *puVar11;\n  undefined8 *puVar12;\n  char *pcVar13;\n  undefined1 *local_48;\n  \n  puVar10 = (undefined8 *)FUN_002d9490(0x18);\n  *puVar10 = 0;\n  puVar10[1] = 0;\n  puVar10[2] = 0;\n  if (**(char **)(param_1 + 0x68) != '\0') {\n                    \n    FUN_0017c650("../../gold/options.h",0x830,"group");\n  }\n  puVar3 = *(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68);\n  uVar4 = *(undefined8 *)(param_1 + 0x80);\n  puVar11 = (undefined8 *)FUN_002d9490(0x78);\n  uVar5 = *(undefined8 *)(param_1 + 0x60);\n  uVar6 = *(undefined8 *)(param_1 + 0x38);\n  uVar7 = *(undefined8 *)(param_1 + 0x40);\n  uVar8 = *(undefined8 *)(param_1 + 0x88);\n  puVar11[9] = *(undefined8 *)(param_1 + 0x48);\n  puVar11[2] = puVar11 + 4;\n  *puVar11 = &PTR_FUN_0042ac40;\n  puVar11[7] = uVar6;\n  puVar11[10] = uVar5;\n  puVar11[8] = uVar7;\n  puVar11[1] = 0;\n  puVar11[3] = 0;\n  *(undefined1 *)(puVar11 + 4) = 0;\n  *(undefined1 *)(puVar11 + 6) = 0;\n  puVar11[0xb] = puVar10;\n  puVar11[0xc] = 0;\n  puVar11[0xd] = 0;\n  puVar11[0xe] = uVar8;\n  local_48 = (undefined1 *)FUN_002d9490(0x20);\n  *local_48 = 1;\n  *(undefined8 *)(local_48 + 8) = 0;\n  *(undefined8 *)(local_48 + 0x10) = 0;\n  *(undefined8 *)(local_48 + 0x18) = 0;\n  *(undefined4 *)(local_48 + 4) = 1;\n  puVar12 = (undefined8 *)FUN_002d9490(0x58);\n  uVar5 = *(undefined8 *)(param_1 + 0x40);\n  puVar12[8] = puVar11;\n  puVar12[2] = puVar12 + 4;\n  *puVar12 = &PTR_FUN_0042ac00;\n  puVar12[1] = 0;\n  puVar12[3] = 0;\n  *(undefined1 *)(puVar12 + 4) = 0;\n  *(undefined1 *)(puVar12 + 6) = 0;\n  puVar12[7] = uVar5;\n  puVar12[9] = uVar4;\n  puVar12[10] = local_48;\n  FUN_00289790(param_2,puVar12);\n  pcVar13 = (char *)*puVar3;\n  if (pcVar13 != (char *)puVar3[1]) {\n    cVar1 = *pcVar13;\n    puVar9 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }\n  }\n  if (puVar11[0xd] == 0) {\n    puVar11[0xd] = local_48;\n    FUN_00289790(param_2,puVar11);\n    return;\n  }\n                    \n  FUN_0017c650("../../gold/readsyms.h",0x19a,"set_blocker");\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined8 *puVar3;" type_identifier (pointer_declarator "*puVar3" * 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 "undefined8 uVar8;" type_identifier identifier ;) (declaration "undefined1 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined8 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined8 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined8 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined1 *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (expression_statement "puVar10 = (undefined8 *)FUN_002d9490(0x18);" (assignment_expression "puVar10 = (undefined8 *)FUN_002d9490(0x18)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x18)" identifier (argument_list "(0x18)" ( number_literal ))))) ;) (expression_statement "*puVar10 = 0;" (assignment_expression "*puVar10 = 0" (pointer_expression "*puVar10" * identifier) = number_literal) ;) (expression_statement "puVar10[1] = 0;" (assignment_expression "puVar10[1] = 0" (subscript_expression "puVar10[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar10[2] = 0;" (assignment_expression "puVar10[2] = 0" (subscript_expression "puVar10[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (**(char **)(param_1 + 0x68) != '\0') {\n                    \n    FUN_0017c650("../../gold/options.h",0x830,"group");\n  }" if (parenthesized_expression "(**(char **)(param_1 + 0x68) != '\0')" ( (binary_expression "**(char **)(param_1 + 0x68) != '\0'" (pointer_expression "**(char **)(param_1 + 0x68)" * (pointer_expression "*(char **)(param_1 + 0x68)" * (cast_expression "(char **)(param_1 + 0x68)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/options.h",0x830,"group");\n  }" { (expression_statement "FUN_0017c650("../../gold/options.h",0x830,"group");" (call_expression "FUN_0017c650("../../gold/options.h",0x830,"group")" identifier (argument_list "("../../gold/options.h",0x830,"group")" ( (string_literal ""../../gold/options.h"" " string_content ") , number_literal , (string_literal ""group"" " string_content ") ))) ;) })) (expression_statement "puVar3 = *(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68);" (assignment_expression "puVar3 = *(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68)" identifier = (pointer_expression "*(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68)" * (cast_expression "(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(char **)(param_1 + 0x68) + 0x68)" ( (binary_expression "*(char **)(param_1 + 0x68) + 0x68" (pointer_expression "*(char **)(param_1 + 0x68)" * (cast_expression "(char **)(param_1 + 0x68)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined8 *)(param_1 + 0x80);" (assignment_expression "uVar4 = *(undefined8 *)(param_1 + 0x80)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x80)" * (cast_expression "(undefined8 *)(param_1 + 0x80)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x80)" ( (binary_expression "param_1 + 0x80" identifier + number_literal) ))))) ;) (expression_statement "puVar11 = (undefined8 *)FUN_002d9490(0x78);" (assignment_expression "puVar11 = (undefined8 *)FUN_002d9490(0x78)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x78)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x78)" identifier (argument_list "(0x78)" ( number_literal ))))) ;) (expression_statement "uVar5 = *(undefined8 *)(param_1 + 0x60);" (assignment_expression "uVar5 = *(undefined8 *)(param_1 + 0x60)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x60)" * (cast_expression "(undefined8 *)(param_1 + 0x60)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(undefined8 *)(param_1 + 0x38);" (assignment_expression "uVar6 = *(undefined8 *)(param_1 + 0x38)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x38)" * (cast_expression "(undefined8 *)(param_1 + 0x38)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(undefined8 *)(param_1 + 0x40);" (assignment_expression "uVar7 = *(undefined8 *)(param_1 + 0x40)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x40)" * (cast_expression "(undefined8 *)(param_1 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(undefined8 *)(param_1 + 0x88);" (assignment_expression "uVar8 = *(undefined8 *)(param_1 + 0x88)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x88)" * (cast_expression "(undefined8 *)(param_1 + 0x88)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "puVar11[9] = *(undefined8 *)(param_1 + 0x48);" (assignment_expression "puVar11[9] = *(undefined8 *)(param_1 + 0x48)" (subscript_expression "puVar11[9]" identifier [ number_literal ]) = (pointer_expression "*(undefined8 *)(param_1 + 0x48)" * (cast_expression "(undefined8 *)(param_1 + 0x48)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "puVar11[2] = puVar11 + 4;" (assignment_expression "puVar11[2] = puVar11 + 4" (subscript_expression "puVar11[2]" identifier [ number_literal ]) = (binary_expression "puVar11 + 4" identifier + number_literal)) ;) (expression_statement "*puVar11 = &PTR_FUN_0042ac40;" (assignment_expression "*puVar11 = &PTR_FUN_0042ac40" (pointer_expression "*puVar11" * identifier) = (pointer_expression "&PTR_FUN_0042ac40" & identifier)) ;) (expression_statement "puVar11[7] = uVar6;" (assignment_expression "puVar11[7] = uVar6" (subscript_expression "puVar11[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[10] = uVar5;" (assignment_expression "puVar11[10] = uVar5" (subscript_expression "puVar11[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[8] = uVar7;" (assignment_expression "puVar11[8] = uVar7" (subscript_expression "puVar11[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[1] = 0;" (assignment_expression "puVar11[1] = 0" (subscript_expression "puVar11[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[3] = 0;" (assignment_expression "puVar11[3] = 0" (subscript_expression "puVar11[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar11 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar11 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar11 + 4)" * (cast_expression "(undefined1 *)(puVar11 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 4)" ( (binary_expression "puVar11 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar11 + 6) = 0;" (assignment_expression "*(undefined1 *)(puVar11 + 6) = 0" (pointer_expression "*(undefined1 *)(puVar11 + 6)" * (cast_expression "(undefined1 *)(puVar11 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 6)" ( (binary_expression "puVar11 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar11[0xb] = puVar10;" (assignment_expression "puVar11[0xb] = puVar10" (subscript_expression "puVar11[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[0xc] = 0;" (assignment_expression "puVar11[0xc] = 0" (subscript_expression "puVar11[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0xd] = 0;" (assignment_expression "puVar11[0xd] = 0" (subscript_expression "puVar11[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0xe] = uVar8;" (assignment_expression "puVar11[0xe] = uVar8" (subscript_expression "puVar11[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_48 = (undefined1 *)FUN_002d9490(0x20);" (assignment_expression "local_48 = (undefined1 *)FUN_002d9490(0x20)" identifier = (cast_expression "(undefined1 *)FUN_002d9490(0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x20)" identifier (argument_list "(0x20)" ( number_literal ))))) ;) (expression_statement "*local_48 = 1;" (assignment_expression "*local_48 = 1" (pointer_expression "*local_48" * identifier) = number_literal) ;) (expression_statement "*(undefined8 *)(local_48 + 8) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 8) = 0" (pointer_expression "*(undefined8 *)(local_48 + 8)" * (cast_expression "(undefined8 *)(local_48 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + 8)" ( (binary_expression "local_48 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(local_48 + 0x10) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 0x10) = 0" (pointer_expression "*(undefined8 *)(local_48 + 0x10)" * (cast_expression "(undefined8 *)(local_48 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + 0x10)" ( (binary_expression "local_48 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(local_48 + 0x18) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 0x18) = 0" (pointer_expression "*(undefined8 *)(local_48 + 0x18)" * (cast_expression "(undefined8 *)(local_48 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + 0x18)" ( (binary_expression "local_48 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(local_48 + 4) = 1;" (assignment_expression "*(undefined4 *)(local_48 + 4) = 1" (pointer_expression "*(undefined4 *)(local_48 + 4)" * (cast_expression "(undefined4 *)(local_48 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + 4)" ( (binary_expression "local_48 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar12 = (undefined8 *)FUN_002d9490(0x58);" (assignment_expression "puVar12 = (undefined8 *)FUN_002d9490(0x58)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x58)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x58)" identifier (argument_list "(0x58)" ( number_literal ))))) ;) (expression_statement "uVar5 = *(undefined8 *)(param_1 + 0x40);" (assignment_expression "uVar5 = *(undefined8 *)(param_1 + 0x40)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x40)" * (cast_expression "(undefined8 *)(param_1 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "puVar12[8] = puVar11;" (assignment_expression "puVar12[8] = puVar11" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[2] = puVar12 + 4;" (assignment_expression "puVar12[2] = puVar12 + 4" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = (binary_expression "puVar12 + 4" identifier + number_literal)) ;) (expression_statement "*puVar12 = &PTR_FUN_0042ac00;" (assignment_expression "*puVar12 = &PTR_FUN_0042ac00" (pointer_expression "*puVar12" * identifier) = (pointer_expression "&PTR_FUN_0042ac00" & identifier)) ;) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[3] = 0;" (assignment_expression "puVar12[3] = 0" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar12 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar12 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar12 + 4)" * (cast_expression "(undefined1 *)(puVar12 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 4)" ( (binary_expression "puVar12 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar12 + 6) = 0;" (assignment_expression "*(undefined1 *)(puVar12 + 6) = 0" (pointer_expression "*(undefined1 *)(puVar12 + 6)" * (cast_expression "(undefined1 *)(puVar12 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 6)" ( (binary_expression "puVar12 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar12[7] = uVar5;" (assignment_expression "puVar12[7] = uVar5" (subscript_expression "puVar12[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[9] = uVar4;" (assignment_expression "puVar12[9] = uVar4" (subscript_expression "puVar12[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[10] = local_48;" (assignment_expression "puVar12[10] = local_48" (subscript_expression "puVar12[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00289790(param_2,puVar12);" (call_expression "FUN_00289790(param_2,puVar12)" identifier (argument_list "(param_2,puVar12)" ( identifier , identifier ))) ;) (expression_statement "pcVar13 = (char *)*puVar3;" (assignment_expression "pcVar13 = (char *)*puVar3" identifier = (cast_expression "(char *)*puVar3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar3" * identifier))) ;) (if_statement "if (pcVar13 != (char *)puVar3[1]) {\n    cVar1 = *pcVar13;\n    puVar9 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }\n  }" if (parenthesized_expression "(pcVar13 != (char *)puVar3[1])" ( (binary_expression "pcVar13 != (char *)puVar3[1]" identifier != (cast_expression "(char *)puVar3[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[1]" identifier [ number_literal ]))) )) (compound_statement "{\n    cVar1 = *pcVar13;\n    puVar9 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }\n  }" { (expression_statement "cVar1 = *pcVar13;" (assignment_expression "cVar1 = *pcVar13" identifier = (pointer_expression "*pcVar13" * identifier)) ;) (expression_statement "puVar9 = local_48;" (assignment_expression "puVar9 = local_48" identifier = identifier) ;) (while_statement "while( true ) {\n      if (cVar1 == '\0') {\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (cVar1 == '\0') {\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }" { (if_statement "if (cVar1 == '\0') {\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }" { (expression_statement "FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");" (call_expression "FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group")" identifier (argument_list "("../../gold/readsyms.cc",0x1ed,"do_group")" ( (string_literal ""../../gold/readsyms.cc"" " string_content ") , number_literal , (string_literal ""do_group"" " string_content ") ))) ;) })) (expression_statement "local_48 = (undefined1 *)FUN_002d9490(0x20);" (assignment_expression "local_48 = (undefined1 *)FUN_002d9490(0x20)" identifier = (cast_expression "(undefined1 *)FUN_002d9490(0x20)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x20)" identifier (argument_list "(0x20)" ( number_literal ))))) ;) (expression_statement "*local_48 = 1;" (assignment_expression "*local_48 = 1" (pointer_expression "*local_48" * identifier) = number_literal) ;) (expression_statement "*(undefined8 *)(local_48 + 8) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 8) = 0" (pointer_expression "*(undefined8 *)(local_48 + 8)" * (cast_expression "(undefined8 *)(local_48 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + 8)" ( (binary_expression "local_48 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(local_48 + 0x10) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 0x10) = 0" (pointer_expression "*(undefined8 *)(local_48 + 0x10)" * (cast_expression "(undefined8 *)(local_48 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + 0x10)" ( (binary_expression "local_48 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined8 *)(local_48 + 0x18) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 0x18) = 0" (pointer_expression "*(undefined8 *)(local_48 + 0x18)" * (cast_expression "(undefined8 *)(local_48 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + 0x18)" ( (binary_expression "local_48 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(local_48 + 4) = 1;" (assignment_expression "*(undefined4 *)(local_48 + 4) = 1" (pointer_expression "*(undefined4 *)(local_48 + 4)" * (cast_expression "(undefined4 *)(local_48 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + 4)" ( (binary_expression "local_48 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar12 = (undefined8 *)FUN_002d9490(0x90);" (assignment_expression "puVar12 = (undefined8 *)FUN_002d9490(0x90)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x90)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x90)" identifier (argument_list "(0x90)" ( number_literal ))))) ;) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 0x58);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 0x58)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x58)" * (cast_expression "(undefined4 *)(param_1 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined8 *)(param_1 + 0x50);" (assignment_expression "uVar4 = *(undefined8 *)(param_1 + 0x50)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x50)" * (cast_expression "(undefined8 *)(param_1 + 0x50)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = *(undefined8 *)(param_1 + 0x48);" (assignment_expression "uVar5 = *(undefined8 *)(param_1 + 0x48)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x48)" * (cast_expression "(undefined8 *)(param_1 + 0x48)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x48)" ( (binary_expression "param_1 + 0x48" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(undefined8 *)(param_1 + 0x40);" (assignment_expression "uVar6 = *(undefined8 *)(param_1 + 0x40)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x40)" * (cast_expression "(undefined8 *)(param_1 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "puVar12[0xd] = pcVar13;" (assignment_expression "puVar12[0xd] = pcVar13" (subscript_expression "puVar12[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar7 = *(undefined8 *)(param_1 + 0x38);" (assignment_expression "uVar7 = *(undefined8 *)(param_1 + 0x38)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x38)" * (cast_expression "(undefined8 *)(param_1 + 0x38)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar12 + 0xb) = uVar2;" (assignment_expression "*(undefined4 *)(puVar12 + 0xb) = uVar2" (pointer_expression "*(undefined4 *)(puVar12 + 0xb)" * (cast_expression "(undefined4 *)(puVar12 + 0xb)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0xb)" ( (binary_expression "puVar12 + 0xb" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar13 = pcVar13 + 0x80;" (assignment_expression "pcVar13 = pcVar13 + 0x80" identifier = (binary_expression "pcVar13 + 0x80" identifier + number_literal)) ;) (expression_statement "uVar8 = *(undefined8 *)(param_1 + 0x60);" (assignment_expression "uVar8 = *(undefined8 *)(param_1 + 0x60)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x60)" * (cast_expression "(undefined8 *)(param_1 + 0x60)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "puVar12[9] = uVar5;" (assignment_expression "puVar12[9] = uVar5" (subscript_expression "puVar12[9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[10] = uVar4;" (assignment_expression "puVar12[10] = uVar4" (subscript_expression "puVar12[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[2] = puVar12 + 4;" (assignment_expression "puVar12[2] = puVar12 + 4" (subscript_expression "puVar12[2]" identifier [ number_literal ]) = (binary_expression "puVar12 + 4" identifier + number_literal)) ;) (expression_statement "puVar12[3] = 0;" (assignment_expression "puVar12[3] = 0" (subscript_expression "puVar12[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar12 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar12 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar12 + 4)" * (cast_expression "(undefined1 *)(puVar12 + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 4)" ( (binary_expression "puVar12 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar12 + 6) = 0;" (assignment_expression "*(undefined1 *)(puVar12 + 6) = 0" (pointer_expression "*(undefined1 *)(puVar12 + 6)" * (cast_expression "(undefined1 *)(puVar12 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 6)" ( (binary_expression "puVar12 + 6" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*puVar12 = &PTR_FUN_0042aac0;" (assignment_expression "*puVar12 = &PTR_FUN_0042aac0" (pointer_expression "*puVar12" * identifier) = (pointer_expression "&PTR_FUN_0042aac0" & identifier)) ;) (expression_statement "puVar12[7] = uVar7;" (assignment_expression "puVar12[7] = uVar7" (subscript_expression "puVar12[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[8] = uVar6;" (assignment_expression "puVar12[8] = uVar6" (subscript_expression "puVar12[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[0xc] = uVar8;" (assignment_expression "puVar12[0xc] = uVar8" (subscript_expression "puVar12[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[0xe] = puVar10;" (assignment_expression "puVar12[0xe] = puVar10" (subscript_expression "puVar12[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[0xf] = 0;" (assignment_expression "puVar12[0xf] = 0" (subscript_expression "puVar12[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar12[0x10] = puVar9;" (assignment_expression "puVar12[0x10] = puVar9" (subscript_expression "puVar12[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar12[0x11] = local_48;" (assignment_expression "puVar12[0x11] = local_48" (subscript_expression "puVar12[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00289790(param_2,puVar12);" (call_expression "FUN_00289790(param_2,puVar12)" identifier (argument_list "(param_2,puVar12)" ( identifier , identifier ))) ;) (if_statement "if ((char *)puVar3[1] == pcVar13) break;" if (parenthesized_expression "((char *)puVar3[1] == pcVar13)" ( (binary_expression "(char *)puVar3[1] == pcVar13" (cast_expression "(char *)puVar3[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar3[1]" identifier [ number_literal ])) == identifier) )) (break_statement "break;" break ;)) (expression_statement "cVar1 = *pcVar13;" (assignment_expression "cVar1 = *pcVar13" identifier = (pointer_expression "*pcVar13" * identifier)) ;) (expression_statement "puVar9 = local_48;" (assignment_expression "puVar9 = local_48" identifier = identifier) ;) })) })) (if_statement "if (puVar11[0xd] == 0) {\n    puVar11[0xd] = local_48;\n    FUN_00289790(param_2,puVar11);\n    return;\n  }" if (parenthesized_expression "(puVar11[0xd] == 0)" ( (binary_expression "puVar11[0xd] == 0" (subscript_expression "puVar11[0xd]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    puVar11[0xd] = local_48;\n    FUN_00289790(param_2,puVar11);\n    return;\n  }" { (expression_statement "puVar11[0xd] = local_48;" (assignment_expression "puVar11[0xd] = local_48" (subscript_expression "puVar11[0xd]" identifier [ number_literal ]) = identifier) ;) (expression_statement "FUN_00289790(param_2,puVar11);" (call_expression "FUN_00289790(param_2,puVar11)" identifier (argument_list "(param_2,puVar11)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_0017c650("../../gold/readsyms.h",0x19a,"set_blocker");" (call_expression "FUN_0017c650("../../gold/readsyms.h",0x19a,"set_blocker")" identifier (argument_list "("../../gold/readsyms.h",0x19a,"set_blocker")" ( (string_literal ""../../gold/readsyms.h"" " string_content ") , number_literal , (string_literal ""set_blocker"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_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 = (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 ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + 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 (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 (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 (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 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 *)) ) (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 = (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (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 *)) ) (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 = (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 ]) = 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (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 (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 ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "void FUN_0023fea0(long param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  undefined4 uVar2;\n  undefined8 *puVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined1 *puVar9;\n  undefined8 *puVar10;\n  undefined8 *puVar11;\n  undefined8 *puVar12;\n  char *pcVar13;\n  undefined1 *local_48;\n  \n  puVar10 = (undefined8 *)FUN_002d9490(0x18);\n  *puVar10 = 0;\n  puVar10[1] = 0;\n  puVar10[2] = 0;\n  if (**(char **)(param_1 + 0x68) != '\0') {\n                    \n    FUN_0017c650("../../gold/options.h",0x830,"group");\n  }\n  puVar3 = *(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68);\n  uVar4 = *(undefined8 *)(param_1 + 0x80);\n  puVar11 = (undefined8 *)FUN_002d9490(0x78);\n  uVar5 = *(undefined8 *)(param_1 + 0x60);\n  uVar6 = *(undefined8 *)(param_1 + 0x38);\n  uVar7 = *(undefined8 *)(param_1 + 0x40);\n  uVar8 = *(undefined8 *)(param_1 + 0x88);\n  puVar11[9] = *(undefined8 *)(param_1 + 0x48);\n  puVar11[2] = puVar11 + 4;\n  *puVar11 = &PTR_FUN_0042ac40;\n  puVar11[7] = uVar6;\n  puVar11[10] = uVar5;\n  puVar11[8] = uVar7;\n  puVar11[1] = 0;\n  puVar11[3] = 0;\n  *(undefined1 *)(puVar11 + 4) = 0;\n  *(undefined1 *)(puVar11 + 6) = 0;\n  puVar11[0xb] = puVar10;\n  puVar11[0xc] = 0;\n  puVar11[0xd] = 0;\n  puVar11[0xe] = uVar8;\n  local_48 = (undefined1 *)FUN_002d9490(0x20);\n  *local_48 = 1;\n  *(undefined8 *)(local_48 + 8) = 0;\n  *(undefined8 *)(local_48 + 0x10) = 0;\n  *(undefined8 *)(local_48 + 0x18) = 0;\n  *(undefined4 *)(local_48 + 4) = 1;\n  puVar12 = (undefined8 *)FUN_002d9490(0x58);\n  uVar5 = *(undefined8 *)(param_1 + 0x40);\n  puVar12[8] = puVar11;\n  puVar12[2] = puVar12 + 4;\n  *puVar12 = &PTR_FUN_0042ac00;\n  puVar12[1] = 0;\n  puVar12[3] = 0;\n  *(undefined1 *)(puVar12 + 4) = 0;\n  *(undefined1 *)(puVar12 + 6) = 0;\n  puVar12[7] = uVar5;\n  puVar12[9] = uVar4;\n  puVar12[10] = local_48;\n  FUN_00289790(param_2,puVar12);\n  pcVar13 = (char *)*puVar3;\n  if (pcVar13 != (char *)puVar3[1]) {\n    cVar1 = *pcVar13;\n    puVar9 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }\n  }\n  if (puVar11[0xd] == 0) {\n    puVar11[0xd] = local_48;\n    FUN_00289790(param_2,puVar11);\n    return;\n  }\n                    \n  FUN_0017c650("../../gold/readsyms.h",0x19a,"set_blocker");\n}" (primitive_type "void") (function_declarator "FUN_0023fea0(long param_1,undefined8 param_2)" (identifier "FUN_0023fea0") (parameter_list "(long param_1,undefined8 param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) () ")"))) (compound_statement "{\n  char cVar1;\n  undefined4 uVar2;\n  undefined8 *puVar3;\n  undefined8 uVar4;\n  undefined8 uVar5;\n  undefined8 uVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  undefined1 *puVar9;\n  undefined8 *puVar10;\n  undefined8 *puVar11;\n  undefined8 *puVar12;\n  char *pcVar13;\n  undefined1 *local_48;\n  \n  puVar10 = (undefined8 *)FUN_002d9490(0x18);\n  *puVar10 = 0;\n  puVar10[1] = 0;\n  puVar10[2] = 0;\n  if (**(char **)(param_1 + 0x68) != '\0') {\n                    \n    FUN_0017c650("../../gold/options.h",0x830,"group");\n  }\n  puVar3 = *(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68);\n  uVar4 = *(undefined8 *)(param_1 + 0x80);\n  puVar11 = (undefined8 *)FUN_002d9490(0x78);\n  uVar5 = *(undefined8 *)(param_1 + 0x60);\n  uVar6 = *(undefined8 *)(param_1 + 0x38);\n  uVar7 = *(undefined8 *)(param_1 + 0x40);\n  uVar8 = *(undefined8 *)(param_1 + 0x88);\n  puVar11[9] = *(undefined8 *)(param_1 + 0x48);\n  puVar11[2] = puVar11 + 4;\n  *puVar11 = &PTR_FUN_0042ac40;\n  puVar11[7] = uVar6;\n  puVar11[10] = uVar5;\n  puVar11[8] = uVar7;\n  puVar11[1] = 0;\n  puVar11[3] = 0;\n  *(undefined1 *)(puVar11 + 4) = 0;\n  *(undefined1 *)(puVar11 + 6) = 0;\n  puVar11[0xb] = puVar10;\n  puVar11[0xc] = 0;\n  puVar11[0xd] = 0;\n  puVar11[0xe] = uVar8;\n  local_48 = (undefined1 *)FUN_002d9490(0x20);\n  *local_48 = 1;\n  *(undefined8 *)(local_48 + 8) = 0;\n  *(undefined8 *)(local_48 + 0x10) = 0;\n  *(undefined8 *)(local_48 + 0x18) = 0;\n  *(undefined4 *)(local_48 + 4) = 1;\n  puVar12 = (undefined8 *)FUN_002d9490(0x58);\n  uVar5 = *(undefined8 *)(param_1 + 0x40);\n  puVar12[8] = puVar11;\n  puVar12[2] = puVar12 + 4;\n  *puVar12 = &PTR_FUN_0042ac00;\n  puVar12[1] = 0;\n  puVar12[3] = 0;\n  *(undefined1 *)(puVar12 + 4) = 0;\n  *(undefined1 *)(puVar12 + 6) = 0;\n  puVar12[7] = uVar5;\n  puVar12[9] = uVar4;\n  puVar12[10] = local_48;\n  FUN_00289790(param_2,puVar12);\n  pcVar13 = (char *)*puVar3;\n  if (pcVar13 != (char *)puVar3[1]) {\n    cVar1 = *pcVar13;\n    puVar9 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }\n  }\n  if (puVar11[0xd] == 0) {\n    puVar11[0xd] = local_48;\n    FUN_00289790(param_2,puVar11);\n    return;\n  }\n                    \n  FUN_0017c650("../../gold/readsyms.h",0x19a,"set_blocker");\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined8 *puVar3;" (type_identifier "undefined8") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (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 "undefined8 uVar8;" (type_identifier "undefined8") (identifier "uVar8") (; ";")) (declaration "undefined1 *puVar9;" (type_identifier "undefined1") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined8 *puVar10;" (type_identifier "undefined8") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined8 *puVar11;" (type_identifier "undefined8") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined8 *puVar12;" (type_identifier "undefined8") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "undefined1 *local_48;" (type_identifier "undefined1") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (expression_statement "puVar10 = (undefined8 *)FUN_002d9490(0x18);" (assignment_expression "puVar10 = (undefined8 *)FUN_002d9490(0x18)" (identifier "puVar10") (= "=") (cast_expression "(undefined8 *)FUN_002d9490(0x18)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(0x18)" (identifier "FUN_002d9490") (argument_list "(0x18)" (( "(") (number_literal "0x18") () ")"))))) (; ";")) (expression_statement "*puVar10 = 0;" (assignment_expression "*puVar10 = 0" (pointer_expression "*puVar10" (* "*") (identifier "puVar10")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar10[1] = 0;" (assignment_expression "puVar10[1] = 0" (subscript_expression "puVar10[1]" (identifier "puVar10") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar10[2] = 0;" (assignment_expression "puVar10[2] = 0" (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (**(char **)(param_1 + 0x68) != '\0') {\n                    \n    FUN_0017c650("../../gold/options.h",0x830,"group");\n  }" (if "if") (parenthesized_expression "(**(char **)(param_1 + 0x68) != '\0')" (( "(") (binary_expression "**(char **)(param_1 + 0x68) != '\0'" (pointer_expression "**(char **)(param_1 + 0x68)" (* "*") (pointer_expression "*(char **)(param_1 + 0x68)" (* "*") (cast_expression "(char **)(param_1 + 0x68)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")"))))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/options.h",0x830,"group");\n  }" ({ "{") (expression_statement "FUN_0017c650("../../gold/options.h",0x830,"group");" (call_expression "FUN_0017c650("../../gold/options.h",0x830,"group")" (identifier "FUN_0017c650") (argument_list "("../../gold/options.h",0x830,"group")" (( "(") (string_literal ""../../gold/options.h"" (" """) (string_content "../../gold/options.h") (" """)) (, ",") (number_literal "0x830") (, ",") (string_literal ""group"" (" """) (string_content "group") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar3 = *(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68);" (assignment_expression "puVar3 = *(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68)" (* "*") (cast_expression "(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(char **)(param_1 + 0x68) + 0x68)" (( "(") (binary_expression "*(char **)(param_1 + 0x68) + 0x68" (pointer_expression "*(char **)(param_1 + 0x68)" (* "*") (cast_expression "(char **)(param_1 + 0x68)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")")))) (+ "+") (number_literal "0x68")) () ")"))))) (; ";")) (expression_statement "uVar4 = *(undefined8 *)(param_1 + 0x80);" (assignment_expression "uVar4 = *(undefined8 *)(param_1 + 0x80)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x80)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x80)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x80)" (( "(") (binary_expression "param_1 + 0x80" (identifier "param_1") (+ "+") (number_literal "0x80")) () ")"))))) (; ";")) (expression_statement "puVar11 = (undefined8 *)FUN_002d9490(0x78);" (assignment_expression "puVar11 = (undefined8 *)FUN_002d9490(0x78)" (identifier "puVar11") (= "=") (cast_expression "(undefined8 *)FUN_002d9490(0x78)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(0x78)" (identifier "FUN_002d9490") (argument_list "(0x78)" (( "(") (number_literal "0x78") () ")"))))) (; ";")) (expression_statement "uVar5 = *(undefined8 *)(param_1 + 0x60);" (assignment_expression "uVar5 = *(undefined8 *)(param_1 + 0x60)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x60)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x60)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "uVar6 = *(undefined8 *)(param_1 + 0x38);" (assignment_expression "uVar6 = *(undefined8 *)(param_1 + 0x38)" (identifier "uVar6") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x38)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x38)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(undefined8 *)(param_1 + 0x40);" (assignment_expression "uVar7 = *(undefined8 *)(param_1 + 0x40)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x40)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x40)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "uVar8 = *(undefined8 *)(param_1 + 0x88);" (assignment_expression "uVar8 = *(undefined8 *)(param_1 + 0x88)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x88)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x88)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x88)" (( "(") (binary_expression "param_1 + 0x88" (identifier "param_1") (+ "+") (number_literal "0x88")) () ")"))))) (; ";")) (expression_statement "puVar11[9] = *(undefined8 *)(param_1 + 0x48);" (assignment_expression "puVar11[9] = *(undefined8 *)(param_1 + 0x48)" (subscript_expression "puVar11[9]" (identifier "puVar11") ([ "[") (number_literal "9") (] "]")) (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x48)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x48)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (expression_statement "puVar11[2] = puVar11 + 4;" (assignment_expression "puVar11[2] = puVar11 + 4" (subscript_expression "puVar11[2]" (identifier "puVar11") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puVar11 + 4" (identifier "puVar11") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*puVar11 = &PTR_FUN_0042ac40;" (assignment_expression "*puVar11 = &PTR_FUN_0042ac40" (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) (= "=") (pointer_expression "&PTR_FUN_0042ac40" (& "&") (identifier "PTR_FUN_0042ac40"))) (; ";")) (expression_statement "puVar11[7] = uVar6;" (assignment_expression "puVar11[7] = uVar6" (subscript_expression "puVar11[7]" (identifier "puVar11") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "puVar11[10] = uVar5;" (assignment_expression "puVar11[10] = uVar5" (subscript_expression "puVar11[10]" (identifier "puVar11") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puVar11[8] = uVar7;" (assignment_expression "puVar11[8] = uVar7" (subscript_expression "puVar11[8]" (identifier "puVar11") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar11[1] = 0;" (assignment_expression "puVar11[1] = 0" (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar11[3] = 0;" (assignment_expression "puVar11[3] = 0" (subscript_expression "puVar11[3]" (identifier "puVar11") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar11 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar11 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar11 + 4)" (* "*") (cast_expression "(undefined1 *)(puVar11 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 4)" (( "(") (binary_expression "puVar11 + 4" (identifier "puVar11") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar11 + 6) = 0;" (assignment_expression "*(undefined1 *)(puVar11 + 6) = 0" (pointer_expression "*(undefined1 *)(puVar11 + 6)" (* "*") (cast_expression "(undefined1 *)(puVar11 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 6)" (( "(") (binary_expression "puVar11 + 6" (identifier "puVar11") (+ "+") (number_literal "6")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar11[0xb] = puVar10;" (assignment_expression "puVar11[0xb] = puVar10" (subscript_expression "puVar11[0xb]" (identifier "puVar11") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "puVar10")) (; ";")) (expression_statement "puVar11[0xc] = 0;" (assignment_expression "puVar11[0xc] = 0" (subscript_expression "puVar11[0xc]" (identifier "puVar11") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar11[0xd] = 0;" (assignment_expression "puVar11[0xd] = 0" (subscript_expression "puVar11[0xd]" (identifier "puVar11") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar11[0xe] = uVar8;" (assignment_expression "puVar11[0xe] = uVar8" (subscript_expression "puVar11[0xe]" (identifier "puVar11") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "local_48 = (undefined1 *)FUN_002d9490(0x20);" (assignment_expression "local_48 = (undefined1 *)FUN_002d9490(0x20)" (identifier "local_48") (= "=") (cast_expression "(undefined1 *)FUN_002d9490(0x20)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(0x20)" (identifier "FUN_002d9490") (argument_list "(0x20)" (( "(") (number_literal "0x20") () ")"))))) (; ";")) (expression_statement "*local_48 = 1;" (assignment_expression "*local_48 = 1" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined8 *)(local_48 + 8) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 8) = 0" (pointer_expression "*(undefined8 *)(local_48 + 8)" (* "*") (cast_expression "(undefined8 *)(local_48 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_48 + 8)" (( "(") (binary_expression "local_48 + 8" (identifier "local_48") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined8 *)(local_48 + 0x10) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 0x10) = 0" (pointer_expression "*(undefined8 *)(local_48 + 0x10)" (* "*") (cast_expression "(undefined8 *)(local_48 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_48 + 0x10)" (( "(") (binary_expression "local_48 + 0x10" (identifier "local_48") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined8 *)(local_48 + 0x18) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 0x18) = 0" (pointer_expression "*(undefined8 *)(local_48 + 0x18)" (* "*") (cast_expression "(undefined8 *)(local_48 + 0x18)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_48 + 0x18)" (( "(") (binary_expression "local_48 + 0x18" (identifier "local_48") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(local_48 + 4) = 1;" (assignment_expression "*(undefined4 *)(local_48 + 4) = 1" (pointer_expression "*(undefined4 *)(local_48 + 4)" (* "*") (cast_expression "(undefined4 *)(local_48 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_48 + 4)" (( "(") (binary_expression "local_48 + 4" (identifier "local_48") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar12 = (undefined8 *)FUN_002d9490(0x58);" (assignment_expression "puVar12 = (undefined8 *)FUN_002d9490(0x58)" (identifier "puVar12") (= "=") (cast_expression "(undefined8 *)FUN_002d9490(0x58)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(0x58)" (identifier "FUN_002d9490") (argument_list "(0x58)" (( "(") (number_literal "0x58") () ")"))))) (; ";")) (expression_statement "uVar5 = *(undefined8 *)(param_1 + 0x40);" (assignment_expression "uVar5 = *(undefined8 *)(param_1 + 0x40)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x40)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x40)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "puVar12[8] = puVar11;" (assignment_expression "puVar12[8] = puVar11" (subscript_expression "puVar12[8]" (identifier "puVar12") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "puVar12[2] = puVar12 + 4;" (assignment_expression "puVar12[2] = puVar12 + 4" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puVar12 + 4" (identifier "puVar12") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*puVar12 = &PTR_FUN_0042ac00;" (assignment_expression "*puVar12 = &PTR_FUN_0042ac00" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (pointer_expression "&PTR_FUN_0042ac00" (& "&") (identifier "PTR_FUN_0042ac00"))) (; ";")) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[3] = 0;" (assignment_expression "puVar12[3] = 0" (subscript_expression "puVar12[3]" (identifier "puVar12") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar12 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar12 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar12 + 4)" (* "*") (cast_expression "(undefined1 *)(puVar12 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 4)" (( "(") (binary_expression "puVar12 + 4" (identifier "puVar12") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar12 + 6) = 0;" (assignment_expression "*(undefined1 *)(puVar12 + 6) = 0" (pointer_expression "*(undefined1 *)(puVar12 + 6)" (* "*") (cast_expression "(undefined1 *)(puVar12 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 6)" (( "(") (binary_expression "puVar12 + 6" (identifier "puVar12") (+ "+") (number_literal "6")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[7] = uVar5;" (assignment_expression "puVar12[7] = uVar5" (subscript_expression "puVar12[7]" (identifier "puVar12") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puVar12[9] = uVar4;" (assignment_expression "puVar12[9] = uVar4" (subscript_expression "puVar12[9]" (identifier "puVar12") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "puVar12[10] = local_48;" (assignment_expression "puVar12[10] = local_48" (subscript_expression "puVar12[10]" (identifier "puVar12") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "FUN_00289790(param_2,puVar12);" (call_expression "FUN_00289790(param_2,puVar12)" (identifier "FUN_00289790") (argument_list "(param_2,puVar12)" (( "(") (identifier "param_2") (, ",") (identifier "puVar12") () ")"))) (; ";")) (expression_statement "pcVar13 = (char *)*puVar3;" (assignment_expression "pcVar13 = (char *)*puVar3" (identifier "pcVar13") (= "=") (cast_expression "(char *)*puVar3" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar3" (* "*") (identifier "puVar3")))) (; ";")) (if_statement "if (pcVar13 != (char *)puVar3[1]) {\n    cVar1 = *pcVar13;\n    puVar9 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }\n  }" (if "if") (parenthesized_expression "(pcVar13 != (char *)puVar3[1])" (( "(") (binary_expression "pcVar13 != (char *)puVar3[1]" (identifier "pcVar13") (!= "!=") (cast_expression "(char *)puVar3[1]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n    cVar1 = *pcVar13;\n    puVar9 = local_48;\n    while( true ) {\n      if (cVar1 == '\0') {\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }\n  }" ({ "{") (expression_statement "cVar1 = *pcVar13;" (assignment_expression "cVar1 = *pcVar13" (identifier "cVar1") (= "=") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13"))) (; ";")) (expression_statement "puVar9 = local_48;" (assignment_expression "puVar9 = local_48" (identifier "puVar9") (= "=") (identifier "local_48")) (; ";")) (while_statement "while( true ) {\n      if (cVar1 == '\0') {\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      if (cVar1 == '\0') {\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }\n      local_48 = (undefined1 *)FUN_002d9490(0x20);\n      *local_48 = 1;\n      *(undefined8 *)(local_48 + 8) = 0;\n      *(undefined8 *)(local_48 + 0x10) = 0;\n      *(undefined8 *)(local_48 + 0x18) = 0;\n      *(undefined4 *)(local_48 + 4) = 1;\n      puVar12 = (undefined8 *)FUN_002d9490(0x90);\n      uVar2 = *(undefined4 *)(param_1 + 0x58);\n      uVar4 = *(undefined8 *)(param_1 + 0x50);\n      uVar5 = *(undefined8 *)(param_1 + 0x48);\n      uVar6 = *(undefined8 *)(param_1 + 0x40);\n      puVar12[0xd] = pcVar13;\n      uVar7 = *(undefined8 *)(param_1 + 0x38);\n      *(undefined4 *)(puVar12 + 0xb) = uVar2;\n      pcVar13 = pcVar13 + 0x80;\n      uVar8 = *(undefined8 *)(param_1 + 0x60);\n      puVar12[9] = uVar5;\n      puVar12[10] = uVar4;\n      puVar12[1] = 0;\n      puVar12[2] = puVar12 + 4;\n      puVar12[3] = 0;\n      *(undefined1 *)(puVar12 + 4) = 0;\n      *(undefined1 *)(puVar12 + 6) = 0;\n      *puVar12 = &PTR_FUN_0042aac0;\n      puVar12[7] = uVar7;\n      puVar12[8] = uVar6;\n      puVar12[0xc] = uVar8;\n      puVar12[0xe] = puVar10;\n      puVar12[0xf] = 0;\n      puVar12[0x10] = puVar9;\n      puVar12[0x11] = local_48;\n      FUN_00289790(param_2,puVar12);\n      if ((char *)puVar3[1] == pcVar13) break;\n      cVar1 = *pcVar13;\n      puVar9 = local_48;\n    }" ({ "{") (if_statement "if (cVar1 == '\0') {\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }" (if "if") (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");\n      }" ({ "{") (expression_statement "FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");" (call_expression "FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group")" (identifier "FUN_0017c650") (argument_list "("../../gold/readsyms.cc",0x1ed,"do_group")" (( "(") (string_literal ""../../gold/readsyms.cc"" (" """) (string_content "../../gold/readsyms.cc") (" """)) (, ",") (number_literal "0x1ed") (, ",") (string_literal ""do_group"" (" """) (string_content "do_group") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_48 = (undefined1 *)FUN_002d9490(0x20);" (assignment_expression "local_48 = (undefined1 *)FUN_002d9490(0x20)" (identifier "local_48") (= "=") (cast_expression "(undefined1 *)FUN_002d9490(0x20)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(0x20)" (identifier "FUN_002d9490") (argument_list "(0x20)" (( "(") (number_literal "0x20") () ")"))))) (; ";")) (expression_statement "*local_48 = 1;" (assignment_expression "*local_48 = 1" (pointer_expression "*local_48" (* "*") (identifier "local_48")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined8 *)(local_48 + 8) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 8) = 0" (pointer_expression "*(undefined8 *)(local_48 + 8)" (* "*") (cast_expression "(undefined8 *)(local_48 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_48 + 8)" (( "(") (binary_expression "local_48 + 8" (identifier "local_48") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined8 *)(local_48 + 0x10) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 0x10) = 0" (pointer_expression "*(undefined8 *)(local_48 + 0x10)" (* "*") (cast_expression "(undefined8 *)(local_48 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_48 + 0x10)" (( "(") (binary_expression "local_48 + 0x10" (identifier "local_48") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined8 *)(local_48 + 0x18) = 0;" (assignment_expression "*(undefined8 *)(local_48 + 0x18) = 0" (pointer_expression "*(undefined8 *)(local_48 + 0x18)" (* "*") (cast_expression "(undefined8 *)(local_48 + 0x18)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_48 + 0x18)" (( "(") (binary_expression "local_48 + 0x18" (identifier "local_48") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(local_48 + 4) = 1;" (assignment_expression "*(undefined4 *)(local_48 + 4) = 1" (pointer_expression "*(undefined4 *)(local_48 + 4)" (* "*") (cast_expression "(undefined4 *)(local_48 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_48 + 4)" (( "(") (binary_expression "local_48 + 4" (identifier "local_48") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar12 = (undefined8 *)FUN_002d9490(0x90);" (assignment_expression "puVar12 = (undefined8 *)FUN_002d9490(0x90)" (identifier "puVar12") (= "=") (cast_expression "(undefined8 *)FUN_002d9490(0x90)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(0x90)" (identifier "FUN_002d9490") (argument_list "(0x90)" (( "(") (number_literal "0x90") () ")"))))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(param_1 + 0x58);" (assignment_expression "uVar2 = *(undefined4 *)(param_1 + 0x58)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x58)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x58)" (( "(") (binary_expression "param_1 + 0x58" (identifier "param_1") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "uVar4 = *(undefined8 *)(param_1 + 0x50);" (assignment_expression "uVar4 = *(undefined8 *)(param_1 + 0x50)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x50)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x50)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "uVar5 = *(undefined8 *)(param_1 + 0x48);" (assignment_expression "uVar5 = *(undefined8 *)(param_1 + 0x48)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x48)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x48)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x48)" (( "(") (binary_expression "param_1 + 0x48" (identifier "param_1") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (expression_statement "uVar6 = *(undefined8 *)(param_1 + 0x40);" (assignment_expression "uVar6 = *(undefined8 *)(param_1 + 0x40)" (identifier "uVar6") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x40)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x40)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "puVar12[0xd] = pcVar13;" (assignment_expression "puVar12[0xd] = pcVar13" (subscript_expression "puVar12[0xd]" (identifier "puVar12") ([ "[") (number_literal "0xd") (] "]")) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "uVar7 = *(undefined8 *)(param_1 + 0x38);" (assignment_expression "uVar7 = *(undefined8 *)(param_1 + 0x38)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x38)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x38)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar12 + 0xb) = uVar2;" (assignment_expression "*(undefined4 *)(puVar12 + 0xb) = uVar2" (pointer_expression "*(undefined4 *)(puVar12 + 0xb)" (* "*") (cast_expression "(undefined4 *)(puVar12 + 0xb)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0xb)" (( "(") (binary_expression "puVar12 + 0xb" (identifier "puVar12") (+ "+") (number_literal "0xb")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "pcVar13 = pcVar13 + 0x80;" (assignment_expression "pcVar13 = pcVar13 + 0x80" (identifier "pcVar13") (= "=") (binary_expression "pcVar13 + 0x80" (identifier "pcVar13") (+ "+") (number_literal "0x80"))) (; ";")) (expression_statement "uVar8 = *(undefined8 *)(param_1 + 0x60);" (assignment_expression "uVar8 = *(undefined8 *)(param_1 + 0x60)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x60)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x60)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "puVar12[9] = uVar5;" (assignment_expression "puVar12[9] = uVar5" (subscript_expression "puVar12[9]" (identifier "puVar12") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (expression_statement "puVar12[10] = uVar4;" (assignment_expression "puVar12[10] = uVar4" (subscript_expression "puVar12[10]" (identifier "puVar12") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "puVar12[1] = 0;" (assignment_expression "puVar12[1] = 0" (subscript_expression "puVar12[1]" (identifier "puVar12") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[2] = puVar12 + 4;" (assignment_expression "puVar12[2] = puVar12 + 4" (subscript_expression "puVar12[2]" (identifier "puVar12") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "puVar12 + 4" (identifier "puVar12") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar12[3] = 0;" (assignment_expression "puVar12[3] = 0" (subscript_expression "puVar12[3]" (identifier "puVar12") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar12 + 4) = 0;" (assignment_expression "*(undefined1 *)(puVar12 + 4) = 0" (pointer_expression "*(undefined1 *)(puVar12 + 4)" (* "*") (cast_expression "(undefined1 *)(puVar12 + 4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 4)" (( "(") (binary_expression "puVar12 + 4" (identifier "puVar12") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar12 + 6) = 0;" (assignment_expression "*(undefined1 *)(puVar12 + 6) = 0" (pointer_expression "*(undefined1 *)(puVar12 + 6)" (* "*") (cast_expression "(undefined1 *)(puVar12 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 6)" (( "(") (binary_expression "puVar12 + 6" (identifier "puVar12") (+ "+") (number_literal "6")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar12 = &PTR_FUN_0042aac0;" (assignment_expression "*puVar12 = &PTR_FUN_0042aac0" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (pointer_expression "&PTR_FUN_0042aac0" (& "&") (identifier "PTR_FUN_0042aac0"))) (; ";")) (expression_statement "puVar12[7] = uVar7;" (assignment_expression "puVar12[7] = uVar7" (subscript_expression "puVar12[7]" (identifier "puVar12") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "puVar12[8] = uVar6;" (assignment_expression "puVar12[8] = uVar6" (subscript_expression "puVar12[8]" (identifier "puVar12") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "puVar12[0xc] = uVar8;" (assignment_expression "puVar12[0xc] = uVar8" (subscript_expression "puVar12[0xc]" (identifier "puVar12") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar12[0xe] = puVar10;" (assignment_expression "puVar12[0xe] = puVar10" (subscript_expression "puVar12[0xe]" (identifier "puVar12") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "puVar10")) (; ";")) (expression_statement "puVar12[0xf] = 0;" (assignment_expression "puVar12[0xf] = 0" (subscript_expression "puVar12[0xf]" (identifier "puVar12") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12[0x10] = puVar9;" (assignment_expression "puVar12[0x10] = puVar9" (subscript_expression "puVar12[0x10]" (identifier "puVar12") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "puVar9")) (; ";")) (expression_statement "puVar12[0x11] = local_48;" (assignment_expression "puVar12[0x11] = local_48" (subscript_expression "puVar12[0x11]" (identifier "puVar12") ([ "[") (number_literal "0x11") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "FUN_00289790(param_2,puVar12);" (call_expression "FUN_00289790(param_2,puVar12)" (identifier "FUN_00289790") (argument_list "(param_2,puVar12)" (( "(") (identifier "param_2") (, ",") (identifier "puVar12") () ")"))) (; ";")) (if_statement "if ((char *)puVar3[1] == pcVar13) break;" (if "if") (parenthesized_expression "((char *)puVar3[1] == pcVar13)" (( "(") (binary_expression "(char *)puVar3[1] == pcVar13" (cast_expression "(char *)puVar3[1]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]"))) (== "==") (identifier "pcVar13")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "cVar1 = *pcVar13;" (assignment_expression "cVar1 = *pcVar13" (identifier "cVar1") (= "=") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13"))) (; ";")) (expression_statement "puVar9 = local_48;" (assignment_expression "puVar9 = local_48" (identifier "puVar9") (= "=") (identifier "local_48")) (; ";")) (} "}"))) (} "}"))) (if_statement "if (puVar11[0xd] == 0) {\n    puVar11[0xd] = local_48;\n    FUN_00289790(param_2,puVar11);\n    return;\n  }" (if "if") (parenthesized_expression "(puVar11[0xd] == 0)" (( "(") (binary_expression "puVar11[0xd] == 0" (subscript_expression "puVar11[0xd]" (identifier "puVar11") ([ "[") (number_literal "0xd") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    puVar11[0xd] = local_48;\n    FUN_00289790(param_2,puVar11);\n    return;\n  }" ({ "{") (expression_statement "puVar11[0xd] = local_48;" (assignment_expression "puVar11[0xd] = local_48" (subscript_expression "puVar11[0xd]" (identifier "puVar11") ([ "[") (number_literal "0xd") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "FUN_00289790(param_2,puVar11);" (call_expression "FUN_00289790(param_2,puVar11)" (identifier "FUN_00289790") (argument_list "(param_2,puVar11)" (( "(") (identifier "param_2") (, ",") (identifier "puVar11") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_0017c650("../../gold/readsyms.h",0x19a,"set_blocker");" (call_expression "FUN_0017c650("../../gold/readsyms.h",0x19a,"set_blocker")" (identifier "FUN_0017c650") (argument_list "("../../gold/readsyms.h",0x19a,"set_blocker")" (( "(") (string_literal ""../../gold/readsyms.h"" (" """) (string_content "../../gold/readsyms.h") (" """)) (, ",") (number_literal "0x19a") (, ",") (string_literal ""set_blocker"" (" """) (string_content "set_blocker") (" """)) () ")"))) (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void do_group(Read_symbols * this, Workqueue * workqueue) */

void __thiscall gold::type_1::function_1(type_1 *this,type_2 *workqueue)

{
  char var_6;
  int iVar2;
  type_3 *pIVar3;
  type_4 *pTVar4;
  type_5 *pMVar5;
  type_6 *pIVar6;
  type_7 *pSVar7;
  type_4 *pTVar8;
  type_8 *pDVar9;
  type_9 *pLVar10;
  type_10 pcVar11;
  type_11 **pp_Var12;
  type_12 *t;
  type_12 *pTVar13;
  type_10 var_7;
  type_10 local_48;
  
  pp_Var12 = (type_11 **)var_1(0x18);
  *pp_Var12 = (type_11 *)0x0;
  pp_Var12[1] = (type_11 *)0x0;
  pp_Var12[2] = (type_11 *)0x0;
  if (this->input_argument_->is_file_ != false) {
                    /* WARNING: Subroutine does not return */
    var_2("../../gold/options.h",0x830,"group");
  }
  pIVar3 = this->input_argument_->group_;
  pTVar4 = this->this_blocker_;
  t = (type_12 *)var_1(0x78);
  pMVar5 = this->mapfile_;
  pIVar6 = this->input_objects_;
  pSVar7 = this->symtab_;
  pTVar8 = this->next_blocker_;
  t[1].name_._M_dataplus._M_p = (type_10)this->layout_;
  (t->name_)._M_dataplus._M_p = (type_10)&(t->name_).field_2;
  t->_vptr_Task = (type_11 **)&PTR__Finish_group_0042ac40;
  t[1]._vptr_Task = (type_11 **)pIVar6;
  t[1].name_._M_string_length = (type_13)pMVar5;
  t[1].list_next_ = (type_12 *)pSVar7;
  t->list_next_ = (type_12 *)0x0;
  (t->name_)._M_string_length = 0;
  (t->name_).field_2._M_local_buf[0] = '\0';
  t->should_run_soon_ = false;
  *(type_11 ***)&t[1].name_.field_2 = pp_Var12;
  *(type_14 *)((long)&t[1].name_.field_2 + 8) = 0;
  *(type_14 *)&t[1].should_run_soon_ = 0;
  t[2]._vptr_Task = (type_11 **)pTVar8;
  local_48 = (type_10)var_1(0x20);
  *local_48 = '\x01';
  local_48[8] = '\0';
  local_48[9] = '\0';
  local_48[10] = '\0';
  local_48[0xb] = '\0';
  local_48[0xc] = '\0';
  local_48[0xd] = '\0';
  local_48[0xe] = '\0';
  local_48[0xf] = '\0';
  local_48[0x10] = '\0';
  local_48[0x11] = '\0';
  local_48[0x12] = '\0';
  local_48[0x13] = '\0';
  local_48[0x14] = '\0';
  local_48[0x15] = '\0';
  local_48[0x16] = '\0';
  local_48[0x17] = '\0';
  local_48[0x18] = '\0';
  local_48[0x19] = '\0';
  local_48[0x1a] = '\0';
  local_48[0x1b] = '\0';
  local_48[0x1c] = '\0';
  local_48[0x1d] = '\0';
  local_48[0x1e] = '\0';
  local_48[0x1f] = '\0';
  local_48[4] = '\x01';
  local_48[5] = '\0';
  local_48[6] = '\0';
  local_48[7] = '\0';
  pTVar13 = (type_12 *)var_1(0x58);
  pSVar7 = this->symtab_;
  pTVar13[1].list_next_ = t;
  (pTVar13->name_)._M_dataplus._M_p = (type_10)&(pTVar13->name_).field_2;
  pTVar13->_vptr_Task = (type_11 **)&PTR__Start_group_0042ac00;
  pTVar13->list_next_ = (type_12 *)0x0;
  (pTVar13->name_)._M_string_length = 0;
  (pTVar13->name_).field_2._M_local_buf[0] = '\0';
  pTVar13->should_run_soon_ = false;
  pTVar13[1]._vptr_Task = (type_11 **)pSVar7;
  pTVar13[1].name_._M_dataplus._M_p = &pTVar4->is_blocker_;
  pTVar13[1].name_._M_string_length = (type_13)local_48;
  Workqueue::var_3(workqueue,pTVar13);
  var_7 = (pIVar3->files_).
            super__Vector_base<gold::var_4,_std::allocator<gold::var_4>var_5>._M_impl.
            _M_start;
  if (var_7 !=
      (pIVar3->files_).
      super__Vector_base<gold::var_4,_std::allocator<gold::var_4>var_5>._M_impl.
      _M_finish) {
    var_6 = var_7->is_file_;
    pcVar11 = local_48;
    while( true ) {
      if (var_6 == '\0') {
                    /* WARNING: Subroutine does not return */
        var_2("../../gold/readsyms.cc",0x1ed,"do_group");
      }
      local_48 = (type_10)var_1(0x20);
      *local_48 = '\x01';
      local_48[8] = '\0';
      local_48[9] = '\0';
      local_48[10] = '\0';
      local_48[0xb] = '\0';
      local_48[0xc] = '\0';
      local_48[0xd] = '\0';
      local_48[0xe] = '\0';
      local_48[0xf] = '\0';
      local_48[0x10] = '\0';
      local_48[0x11] = '\0';
      local_48[0x12] = '\0';
      local_48[0x13] = '\0';
      local_48[0x14] = '\0';
      local_48[0x15] = '\0';
      local_48[0x16] = '\0';
      local_48[0x17] = '\0';
      local_48[0x18] = '\0';
      local_48[0x19] = '\0';
      local_48[0x1a] = '\0';
      local_48[0x1b] = '\0';
      local_48[0x1c] = '\0';
      local_48[0x1d] = '\0';
      local_48[0x1e] = '\0';
      local_48[0x1f] = '\0';
      local_48[4] = '\x01';
      local_48[5] = '\0';
      local_48[6] = '\0';
      local_48[7] = '\0';
      pTVar13 = (type_12 *)var_1(0x90);
      iVar2 = this->dirindex_;
      pDVar9 = this->dirpath_;
      pLVar10 = this->layout_;
      pSVar7 = this->symtab_;
      *(type_10 *)&pTVar13[1].should_run_soon_ = var_7;
      pIVar6 = this->input_objects_;
      *(int *)&pTVar13[1].name_.field_2 = iVar2;
      var_7 = var_7 + 1;
      pMVar5 = this->mapfile_;
      pTVar13[1].name_._M_dataplus._M_p = (type_10)pLVar10;
      pTVar13[1].name_._M_string_length = (type_13)pDVar9;
      pTVar13->list_next_ = (type_12 *)0x0;
      (pTVar13->name_)._M_dataplus._M_p = (type_10)&(pTVar13->name_).field_2;
      (pTVar13->name_)._M_string_length = 0;
      (pTVar13->name_).field_2._M_local_buf[0] = '\0';
      pTVar13->should_run_soon_ = false;
      pTVar13->_vptr_Task = (type_11 **)&PTR__Read_symbols_0042aac0;
      pTVar13[1]._vptr_Task = (type_11 **)pIVar6;
      pTVar13[1].list_next_ = (type_12 *)pSVar7;
      *(type_5 **)((long)&pTVar13[1].name_.field_2 + 8) = pMVar5;
      pTVar13[2]._vptr_Task = pp_Var12;
      pTVar13[2].list_next_ = (type_12 *)0x0;
      pTVar13[2].name_._M_dataplus._M_p = pcVar11;
      pTVar13[2].name_._M_string_length = (type_13)local_48;
      Workqueue::var_3(workqueue,pTVar13);
      if ((pIVar3->files_).
          super__Vector_base<gold::var_4,_std::allocator<gold::var_4>var_5>._M_impl.
          _M_finish == var_7) break;
      var_6 = var_7->is_file_;
      pcVar11 = local_48;
    }
  }
  if (*(long *)&t[1].should_run_soon_ == 0) {
    *(type_10 *)&t[1].should_run_soon_ = local_48;
    Workqueue::var_3(workqueue,t);
    return;
  }
                    /* WARNING: Subroutine does not return */
  var_2("../../gold/readsyms.h",0x19a,"set_blocker");
}


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

void MASKED(long param_1,undefined8 param_2)

{
  char cVar1;
  undefined4 uVar2;
  undefined8 *puVar3;
  undefined8 uVar4;
  undefined8 uVar5;
  undefined8 uVar6;
  undefined8 uVar7;
  undefined8 uVar8;
  undefined1 *puVar9;
  undefined8 *puVar10;
  undefined8 *puVar11;
  undefined8 *puVar12;
  char *pcVar13;
  undefined1 *local_48;
  
  puVar10 = (undefined8 *)FUN_002d9490(0x18);
  *puVar10 = 0;
  puVar10[1] = 0;
  puVar10[2] = 0;
  if (**(char **)(param_1 + 0x68) != '\0') {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/options.h",0x830,"group");
  }
  puVar3 = *(undefined8 **)(*(char **)(param_1 + 0x68) + 0x68);
  uVar4 = *(undefined8 *)(param_1 + 0x80);
  puVar11 = (undefined8 *)FUN_002d9490(0x78);
  uVar5 = *(undefined8 *)(param_1 + 0x60);
  uVar6 = *(undefined8 *)(param_1 + 0x38);
  uVar7 = *(undefined8 *)(param_1 + 0x40);
  uVar8 = *(undefined8 *)(param_1 + 0x88);
  puVar11[9] = *(undefined8 *)(param_1 + 0x48);
  puVar11[2] = puVar11 + 4;
  *puVar11 = &PTR_FUN_0042ac40;
  puVar11[7] = uVar6;
  puVar11[10] = uVar5;
  puVar11[8] = uVar7;
  puVar11[1] = 0;
  puVar11[3] = 0;
  *(undefined1 *)(puVar11 + 4) = 0;
  *(undefined1 *)(puVar11 + 6) = 0;
  puVar11[0xb] = puVar10;
  puVar11[0xc] = 0;
  puVar11[0xd] = 0;
  puVar11[0xe] = uVar8;
  local_48 = (undefined1 *)FUN_002d9490(0x20);
  *local_48 = 1;
  *(undefined8 *)(local_48 + 8) = 0;
  *(undefined8 *)(local_48 + 0x10) = 0;
  *(undefined8 *)(local_48 + 0x18) = 0;
  *(undefined4 *)(local_48 + 4) = 1;
  puVar12 = (undefined8 *)FUN_002d9490(0x58);
  uVar5 = *(undefined8 *)(param_1 + 0x40);
  puVar12[8] = puVar11;
  puVar12[2] = puVar12 + 4;
  *puVar12 = &PTR_FUN_0042ac00;
  puVar12[1] = 0;
  puVar12[3] = 0;
  *(undefined1 *)(puVar12 + 4) = 0;
  *(undefined1 *)(puVar12 + 6) = 0;
  puVar12[7] = uVar5;
  puVar12[9] = uVar4;
  puVar12[10] = local_48;
  FUN_00289790(param_2,puVar12);
  pcVar13 = (char *)*puVar3;
  if (pcVar13 != (char *)puVar3[1]) {
    cVar1 = *pcVar13;
    puVar9 = local_48;
    while( true ) {
      if (cVar1 == '\0') {
                    /* WARNING: Subroutine does not return */
        FUN_0017c650("../../gold/readsyms.cc",0x1ed,"do_group");
      }
      local_48 = (undefined1 *)FUN_002d9490(0x20);
      *local_48 = 1;
      *(undefined8 *)(local_48 + 8) = 0;
      *(undefined8 *)(local_48 + 0x10) = 0;
      *(undefined8 *)(local_48 + 0x18) = 0;
      *(undefined4 *)(local_48 + 4) = 1;
      puVar12 = (undefined8 *)FUN_002d9490(0x90);
      uVar2 = *(undefined4 *)(param_1 + 0x58);
      uVar4 = *(undefined8 *)(param_1 + 0x50);
      uVar5 = *(undefined8 *)(param_1 + 0x48);
      uVar6 = *(undefined8 *)(param_1 + 0x40);
      puVar12[0xd] = pcVar13;
      uVar7 = *(undefined8 *)(param_1 + 0x38);
      *(undefined4 *)(puVar12 + 0xb) = uVar2;
      pcVar13 = pcVar13 + 0x80;
      uVar8 = *(undefined8 *)(param_1 + 0x60);
      puVar12[9] = uVar5;
      puVar12[10] = uVar4;
      puVar12[1] = 0;
      puVar12[2] = puVar12 + 4;
      puVar12[3] = 0;
      *(undefined1 *)(puVar12 + 4) = 0;
      *(undefined1 *)(puVar12 + 6) = 0;
      *puVar12 = &PTR_FUN_0042aac0;
      puVar12[7] = uVar7;
      puVar12[8] = uVar6;
      puVar12[0xc] = uVar8;
      puVar12[0xe] = puVar10;
      puVar12[0xf] = 0;
      puVar12[0x10] = puVar9;
      puVar12[0x11] = local_48;
      FUN_00289790(param_2,puVar12);
      if ((char *)puVar3[1] == pcVar13) break;
      cVar1 = *pcVar13;
      puVar9 = local_48;
    }
  }
  if (puVar11[0xd] == 0) {
    puVar11[0xd] = local_48;
    FUN_00289790(param_2,puVar11);
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_0017c650("../../gold/readsyms.h",0x19a,"set_blocker");
}

